summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorSteve Kondik <shade@chemlab.org>2014-09-01 22:21:52 -0700
committerSteve Kondik <shade@chemlab.org>2014-09-14 02:32:52 -0700
commitb076fcf9afc59e8f307eb38915161dc47c1b9e91 (patch)
treefe85ec5af972872b106706a9a09159f2cc0148bd
parent8c547152aa28f6976f2fff730acc52b6be067d78 (diff)
downloadandroid_dalvik-b076fcf9afc59e8f307eb38915161dc47c1b9e91.tar.gz
android_dalvik-b076fcf9afc59e8f307eb38915161dc47c1b9e91.tar.bz2
android_dalvik-b076fcf9afc59e8f307eb38915161dc47c1b9e91.zip
Revert "Revert "dalvik: add placeholder for future changes""
This reverts commit cd2251b84a8c15d970267b77e8116ee0b26289e0. Change-Id: I399e390fbd1e42b935f1e4ac9d905a9d1e635e96
-rw-r--r--vm/compiler/Frontend.cpp8
-rw-r--r--vm/compiler/codegen/arm/CodegenDriver.cpp3
2 files changed, 10 insertions, 1 deletions
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) {