summaryrefslogtreecommitdiff
path: root/src/compiler/codegen/arm/MethodCodegenDriver.cc
diff options
context:
space:
mode:
author buzbee <buzbee@google.com> 2011-08-26 10:40:14 -0700
committer buzbee <buzbee@google.com> 2011-08-26 10:41:33 -0700
commit5cd2180225421d7b94f6d978bc5c1a4d9ef34f1e (patch)
tree46da7cfd737e4502078f9cfa1da72b827c7433ce /src/compiler/codegen/arm/MethodCodegenDriver.cc
parent1f1fa566ea05a91f1fa8d0bdd29b913f6ee25eff (diff)
Fix invoke sequence and enable recursive Fibonacci
I was previously generating the wrong starting offset for the resolved methods array. Change-Id: Ia77800323df2872681b30f2869ef4b1131766f39
Diffstat (limited to 'src/compiler/codegen/arm/MethodCodegenDriver.cc')
-rw-r--r--src/compiler/codegen/arm/MethodCodegenDriver.cc5
1 files changed, 3 insertions, 2 deletions
diff --git a/src/compiler/codegen/arm/MethodCodegenDriver.cc b/src/compiler/codegen/arm/MethodCodegenDriver.cc
index 49529e1174..6e2f285d39 100644
--- a/src/compiler/codegen/arm/MethodCodegenDriver.cc
+++ b/src/compiler/codegen/arm/MethodCodegenDriver.cc
@@ -350,8 +350,9 @@ static int nextSDCallInsnSP(CompilationUnit* cUnit, MIR* mir,
INVALID_SREG);
break;
case 3: // Method->DeclaringClass()->GetDexCache()->methodsObjectArr
- loadBaseDisp(cUnit, mir, r0, art::DexCache::MethodsOffset(),
- r0, kWord, INVALID_SREG);
+ loadBaseDisp(cUnit, mir, r0,
+ art::DexCache::MethodsOffset().Int32Value(), r0,
+ kWord, INVALID_SREG);
break;
case 4: // Skip past the object header
opRegImm(cUnit, kOpAdd, r0, art::Array::DataOffset().Int32Value());