OSDN Git Service

Fix Thumb2 codegen.
authorDan Bornstein <danfuzz@android.com>
Thu, 11 Nov 2010 18:55:45 +0000 (10:55 -0800)
committerDan Bornstein <danfuzz@android.com>
Thu, 11 Nov 2010 18:55:45 +0000 (10:55 -0800)
My local build wasn't doing Thumb2. Unsurprising in retrospect.

Change-Id: I38ab4dc80e1115cf459f6d890c7d0eb2705fa7c9

vm/compiler/codegen/arm/Thumb2/Gen.c

index ef1e8a9..051d16d 100644 (file)
@@ -225,7 +225,8 @@ static void genMonitorEnter(CompilationUnit *cUnit, MIR *mir)
 
     /* Get dPC of next insn */
     loadConstant(cUnit, r4PC, (int)(cUnit->method->insns + mir->offset +
-                 dexGetInstrWidthAbs(gDvm.instrWidth, OP_MONITOR_ENTER)));
+                 dexGetInstrWidthAbs(gDvm.instrInfo.widths,
+                         OP_MONITOR_ENTER)));
     // Export PC (part 2)
     newLIR3(cUnit, kThumb2StrRRI8Predec, r3, rFP,
             sizeof(StackSaveArea) -
@@ -289,7 +290,7 @@ static void genMonitorExit(CompilationUnit *cUnit, MIR *mir)
     ArmLIR *branchOver = genCmpImmBranch(cUnit, kArmCondNe, r0, 0);
     loadConstant(cUnit, r0,
                  (int) (cUnit->method->insns + mir->offset +
-                 dexGetInstrWidthAbs(gDvm.instrWidth, OP_MONITOR_EXIT)));
+                 dexGetInstrWidthAbs(gDvm.instrInfo.widths, OP_MONITOR_EXIT)));
     genDispatchToHandler(cUnit, TEMPLATE_THROW_EXCEPTION_COMMON);
 
     // Resume here