summaryrefslogtreecommitdiff
path: root/src/compiler/codegen/arm/MethodCodegenDriver.cc
diff options
context:
space:
mode:
author buzbee <buzbee@google.com> 2011-09-14 23:19:50 -0700
committer buzbee <buzbee@google.com> 2011-09-14 23:19:50 -0700
commit367ce0b7b8241354ae484e7e041707464729b5cd (patch)
treebf056843f75bb289f6a54d7b31e2e8c10495188b /src/compiler/codegen/arm/MethodCodegenDriver.cc
parent43a364291dcdfe08e530e9568748359735dd7442 (diff)
Fix invoke-interface bug.
genInvokeInterface relies on the helper routine to do its null check of "this", so it must load it as part of the regular argument loading sequence. Previously, that was being ommitted. Change-Id: I99b325c2c2a284c2bfe6b48839ea561199b66b55
Diffstat (limited to 'src/compiler/codegen/arm/MethodCodegenDriver.cc')
-rw-r--r--src/compiler/codegen/arm/MethodCodegenDriver.cc4
1 files changed, 2 insertions, 2 deletions
diff --git a/src/compiler/codegen/arm/MethodCodegenDriver.cc b/src/compiler/codegen/arm/MethodCodegenDriver.cc
index 7196efc4fe..b8045e22a8 100644
--- a/src/compiler/codegen/arm/MethodCodegenDriver.cc
+++ b/src/compiler/codegen/arm/MethodCodegenDriver.cc
@@ -932,10 +932,10 @@ static void genInvokeInterface(CompilationUnit* cUnit, MIR* mir)
if (mir->dalvikInsn.opcode == OP_INVOKE_INTERFACE)
callState = genDalvikArgsNoRange(cUnit, mir, dInsn, callState, &nullCk,
false, nextInterfaceCallInsn, NULL,
- true);
+ false);
else
callState = genDalvikArgsRange(cUnit, mir, dInsn, callState, &nullCk,
- nextInterfaceCallInsn, NULL, true);
+ nextInterfaceCallInsn, NULL, false);
// Finish up any of the call sequence not interleaved in arg loading
while (callState >= 0) {
callState = nextInterfaceCallInsn(cUnit, mir, dInsn, callState, NULL);