From a1da8a553681d1f7aec305610c8848c26373e0f0 Mon Sep 17 00:00:00 2001 From: buzbee Date: Mon, 9 Jul 2012 14:00:21 -0700 Subject: 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 --- src/compiler/codegen/MethodCodegenDriver.cc | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) (limited to 'src/compiler/codegen/MethodCodegenDriver.cc') 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 */); -- cgit v1.2.3-59-g8ed1b