Work around two problems.

The code generation for the invoke-virtual fast path is broken, and we're
not ready for a moving collector yet.

Change-Id: I1fee82c821cee53325181386da0d462beacca204
diff --git a/src/compiler/codegen/arm/MethodCodegenDriver.cc b/src/compiler/codegen/arm/MethodCodegenDriver.cc
index 81eb24c..b5ce6ea 100644
--- a/src/compiler/codegen/arm/MethodCodegenDriver.cc
+++ b/src/compiler/codegen/arm/MethodCodegenDriver.cc
@@ -958,6 +958,8 @@
         Get(dInsn->vB);
     NextCallInsn nextCallInsn;
 
+    method = NULL; // TODO
+    UNIMPLEMENTED(WARNING) << "the genInvokeVirtual fast path generates bad code (r0/r9 mixup?)";
     if (method == NULL) {
         // Slow path
         nextCallInsn = nextVCallInsnSP;
diff --git a/src/thread.h b/src/thread.h
index 8749689..87956b7 100644
--- a/src/thread.h
+++ b/src/thread.h
@@ -256,7 +256,8 @@
   }
 
   bool CanAccessDirectReferences() const {
-    return state_ == kRunnable;
+    // TODO: when we have a moving collector, we'll need: return state_ == kRunnable;
+    return true;
   }
 
   uint32_t GetId() const {