diff options
| author | 2012-07-09 14:00:21 -0700 | |
|---|---|---|
| committer | 2012-07-09 14:00:21 -0700 | |
| commit | a1da8a553681d1f7aec305610c8848c26373e0f0 (patch) | |
| tree | 0e4f86f208c67a2a761d052a49a94b3bc9c659fa /src/compiler/codegen/MethodCodegenDriver.cc | |
| parent | 44a25bbc4626119d24d2cb7378212b6fd0093c19 (diff) | |
Quick compiler: complete switch support
With this CL, all Dex opcodes are handled. We pass 79 run-tests,
and fail 12. Temporarily going single-threaded for the Quick
compiler (llvm's ir-builder dies otherwise - will figure out what I
need to do for multi-threaded operation in a later CL).
Change-Id: I389e94d9a831096d4e7493460729933fb45e649e
Diffstat (limited to 'src/compiler/codegen/MethodCodegenDriver.cc')
| -rw-r--r-- | src/compiler/codegen/MethodCodegenDriver.cc | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/src/compiler/codegen/MethodCodegenDriver.cc b/src/compiler/codegen/MethodCodegenDriver.cc index 62939bac92..d49b329959 100644 --- a/src/compiler/codegen/MethodCodegenDriver.cc +++ b/src/compiler/codegen/MethodCodegenDriver.cc @@ -447,7 +447,7 @@ bool compileDalvikInstruction(CompilationUnit* cUnit, MIR* mir, break; case Instruction::SPARSE_SWITCH: - genSparseSwitch(cUnit, vB, rlSrc[0], labelList); + genSparseSwitch(cUnit, vB, rlSrc[0]); break; case Instruction::CMPL_FLOAT: @@ -878,7 +878,7 @@ void handleExtendedMethodMIR(CompilationUnit* cUnit, BasicBlock* bb, MIR* mir) bool methodBlockCodeGen(CompilationUnit* cUnit, BasicBlock* bb) { MIR* mir; - LIR* labelList = (LIR*) cUnit->blockLabelList; + LIR* labelList = cUnit->blockLabelList; int blockId = bb->id; cUnit->curBlock = bb; @@ -992,7 +992,7 @@ bool methodBlockCodeGen(CompilationUnit* cUnit, BasicBlock* bb) /* Set basic block labels */ bool labelBlocks(CompilationUnit* cUnit, BasicBlock* bb) { - LIR* labelList = (LIR*) cUnit->blockLabelList; + LIR* labelList = cUnit->blockLabelList; int blockId = bb->id; cUnit->curBlock = bb; @@ -1037,7 +1037,7 @@ void oatMethodMIR2LIR(CompilationUnit* cUnit) { /* Used to hold the labels of each block */ cUnit->blockLabelList = - (void *) oatNew(cUnit, sizeof(LIR) * cUnit->numBlocks, true, kAllocLIR); + (LIR*) oatNew(cUnit, sizeof(LIR) * cUnit->numBlocks, true, kAllocLIR); oatDataFlowAnalysisDispatcher(cUnit, methodBlockCodeGen, kPreOrderDFSTraversal, false /* Iterative */); |