summaryrefslogtreecommitdiff
path: root/src/compiler/codegen/arm/MethodCodegenDriver.cc
diff options
context:
space:
mode:
author buzbee <buzbee@google.com> 2012-01-11 15:33:54 -0800
committer Android (Google) Code Review <android-gerrit@google.com> 2012-01-11 15:33:54 -0800
commit57e7600af0076bad4d7d3f255e72230d2c3be990 (patch)
tree270aeff5753947b20fd2630c1c797a8aa5b1d0f9 /src/compiler/codegen/arm/MethodCodegenDriver.cc
parentbe125a931c8cf7274345c69b2bf35fb6e66e4001 (diff)
parent48d7222d2f543752ffb17db05e0b9e891061135c (diff)
Merge "Add unimplemented artResolveMethodFromCode" into dalvik-dev
Diffstat (limited to 'src/compiler/codegen/arm/MethodCodegenDriver.cc')
-rw-r--r--src/compiler/codegen/arm/MethodCodegenDriver.cc4
1 files changed, 4 insertions, 0 deletions
diff --git a/src/compiler/codegen/arm/MethodCodegenDriver.cc b/src/compiler/codegen/arm/MethodCodegenDriver.cc
index 3f8d9005a3..08a53bd80c 100644
--- a/src/compiler/codegen/arm/MethodCodegenDriver.cc
+++ b/src/compiler/codegen/arm/MethodCodegenDriver.cc
@@ -545,6 +545,7 @@ STATIC int nextVCallInsnSP(CompilationUnit* cUnit, MIR* mir,
loadWordDisp(cUnit, rSELF,
OFFSETOF_MEMBER(Thread, pResolveMethodFromCode), rLR);
loadConstant(cUnit, r1, dInsn->vB);
+ loadConstant(cUnit, r2, false);
callRuntimeHelper(cUnit, rLR);
genUnconditionalBranch(cUnit, rollback);
// Resume normal slow path
@@ -729,6 +730,7 @@ STATIC int nextSuperCallInsnSP(CompilationUnit* cUnit, MIR* mir,
loadWordDisp(cUnit, rSELF,
OFFSETOF_MEMBER(Thread, pResolveMethodFromCode), rLR);
loadConstant(cUnit, r1, dInsn->vB);
+ loadConstant(cUnit, r2, true);
callRuntimeHelper(cUnit, rLR);
genUnconditionalBranch(cUnit, rollback);
// Resume normal slow path
@@ -1085,6 +1087,7 @@ STATIC void genInvokeSuper(CompilationUnit* cUnit, MIR* mir)
loadWordDisp(cUnit, rSELF,
OFFSETOF_MEMBER(Thread, pResolveMethodFromCode), rLR);
loadConstant(cUnit, r1, dInsn->vB);
+ loadConstant(cUnit, r2, true);
callRuntimeHelper(cUnit, rLR);
}
@@ -1157,6 +1160,7 @@ STATIC void genInvokeVirtual(CompilationUnit* cUnit, MIR* mir)
loadWordDisp(cUnit, rSELF,
OFFSETOF_MEMBER(Thread, pResolveMethodFromCode), rLR);
loadConstant(cUnit, r1, dInsn->vB);
+ loadConstant(cUnit, r2, false);
callRuntimeHelper(cUnit, rLR);
}