summaryrefslogtreecommitdiff
path: root/src/compiler/codegen/arm/MethodCodegenDriver.cc
diff options
context:
space:
mode:
author buzbee <buzbee@google.com> 2011-09-17 13:42:21 -0700
committer buzbee <buzbee@google.com> 2011-09-17 13:42:21 -0700
commit81eccc06e0adae55e57008e9e61a25920569d5b9 (patch)
treef8b030a91b193a8a1121c5343766222b2c13f2de /src/compiler/codegen/arm/MethodCodegenDriver.cc
parentb0ebba0d50deda457029aa65e4fb14245f2d2d54 (diff)
Fix OP_FILLED_NEW_ARRAY
The underlying libdex utilities had already normalized the range and non-range versions of OP_FILLED_NEW_ARRAY, so the code generator shouldn't look in difference places for the operands. Change-Id: I59b02d422a424fef6f9c5bf3f6b37b4264f2ac13
Diffstat (limited to 'src/compiler/codegen/arm/MethodCodegenDriver.cc')
-rw-r--r--src/compiler/codegen/arm/MethodCodegenDriver.cc11
1 files changed, 2 insertions, 9 deletions
diff --git a/src/compiler/codegen/arm/MethodCodegenDriver.cc b/src/compiler/codegen/arm/MethodCodegenDriver.cc
index 9f89ff9807..1b7e4ed1a4 100644
--- a/src/compiler/codegen/arm/MethodCodegenDriver.cc
+++ b/src/compiler/codegen/arm/MethodCodegenDriver.cc
@@ -52,15 +52,8 @@ static void genNewArray(CompilationUnit* cUnit, MIR* mir, RegLocation rlDest,
static void genFilledNewArray(CompilationUnit* cUnit, MIR* mir, bool isRange)
{
DecodedInstruction* dInsn = &mir->dalvikInsn;
- int elems;
- int typeId;
- if (isRange) {
- elems = dInsn->vA;
- typeId = dInsn->vB;
- } else {
- elems = dInsn->vB;
- typeId = dInsn->vC;
- }
+ int elems = dInsn->vA;
+ int typeId = dInsn->vB;
oatFlushAllRegs(cUnit); /* Everything to home location */
loadWordDisp(cUnit, rSELF,
OFFSETOF_MEMBER(Thread, pCheckAndAllocFromCode), rLR);