diff options
-rw-r--r-- | vm/Dvm.mk | 2 | ||||
-rw-r--r-- | vm/analysis/DexPrepare.cpp | 2 | ||||
-rw-r--r-- | vm/compiler/Frontend.cpp | 8 | ||||
-rw-r--r-- | vm/compiler/codegen/arm/CodegenDriver.cpp | 3 |
4 files changed, 12 insertions, 3 deletions
@@ -264,7 +264,7 @@ ifeq ($(dvm_arch),arm) compiler/template/out/CompilerTemplateAsm-$(dvm_arch_variant).S endif ifeq ($(call is-vendor-board-platform,QCOM),true) - ifeq ($(WITH_QC_PERF),true) + ifeq ($(TARGET_HAVE_QC_PERF),true) LOCAL_WHOLE_STATIC_LIBRARIES += libqc-dalvik LOCAL_SHARED_LIBRARIES += libqc-opt LOCAL_CFLAGS += -DWITH_QC_PERF diff --git a/vm/analysis/DexPrepare.cpp b/vm/analysis/DexPrepare.cpp index 753b6fee0..0130389f5 100644 --- a/vm/analysis/DexPrepare.cpp +++ b/vm/analysis/DexPrepare.cpp @@ -1153,7 +1153,7 @@ static const u1* getSignature(const ClassPathEntry* cpe) * If this changes, update DEX_OPT_MAGIC_VERS. */ static const size_t kMinDepSize = 4 * 4; -static const size_t kMaxDepSize = 4 * 4 + 3200; // sanity check +static const size_t kMaxDepSize = 4 * 4 + 3344; // sanity check /* * Read the "opt" header, verify it, then read the dependencies section diff --git a/vm/compiler/Frontend.cpp b/vm/compiler/Frontend.cpp index 65ef1ebd9..3cebe8238 100644 --- a/vm/compiler/Frontend.cpp +++ b/vm/compiler/Frontend.cpp @@ -1484,6 +1484,11 @@ static bool exhaustTrace(CompilationUnit *cUnit, BasicBlock *curBlock) return true; } +/* placeholder of future passes */ +__attribute__((weak)) void dvmExtraPass(CompilationUnit *cUnit) +{ +} + /* Compile a loop */ static bool compileLoop(CompilationUnit *cUnit, unsigned int startOffset, JitTraceDescription *desc, int numMaxInsts, @@ -1574,12 +1579,15 @@ static bool compileLoop(CompilationUnit *cUnit, unsigned int startOffset, dvmCompilerLoopOpt(cUnit); + /* * Change the backward branch to the backward chaining cell after dataflow * analsys/optimizations are done. */ dvmCompilerInsertBackwardChaining(cUnit); + dvmExtraPass(cUnit); + #if defined(ARCH_IA32) /* Convert MIR to LIR, etc. */ dvmCompilerMIR2LIR(cUnit, info); diff --git a/vm/compiler/codegen/arm/CodegenDriver.cpp b/vm/compiler/codegen/arm/CodegenDriver.cpp index 93ea6133a..fde74efbb 100644 --- a/vm/compiler/codegen/arm/CodegenDriver.cpp +++ b/vm/compiler/codegen/arm/CodegenDriver.cpp @@ -4417,7 +4417,8 @@ void dvmCompilerMIR2LIR(CompilationUnit *cUnit) * Append the label pseudo LIR first. Chaining cells will be handled * separately afterwards. */ - dvmCompilerAppendLIR(cUnit, (LIR *) &labelList[i]); + if(bb->blockType != kDalvikByteCode || !bb->hidden) + dvmCompilerAppendLIR(cUnit, (LIR *) &labelList[i]); } if (bb->blockType == kEntryBlock) { |