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 {