diff options
| author | 2011-09-17 13:42:21 -0700 | |
|---|---|---|
| committer | 2011-09-17 13:42:21 -0700 | |
| commit | 81eccc06e0adae55e57008e9e61a25920569d5b9 (patch) | |
| tree | f8b030a91b193a8a1121c5343766222b2c13f2de /src/compiler/codegen/arm/MethodCodegenDriver.cc | |
| parent | b0ebba0d50deda457029aa65e4fb14245f2d2d54 (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.cc | 11 |
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); |