aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSteve Kondik <shade@chemlab.org>2014-05-08 01:10:35 -0700
committerLorDClockaN <davor@losinj.com>2014-05-08 15:45:26 +0200
commit498f8c3974c247f6ed9bc1d8b619b189c71a5d43 (patch)
tree93208544ab5930461c8bb6c292962af290990911
parent3f3e58fbe3eb8ff0f689649e7ce088ff70428d8a (diff)
dalvik: Disable loop hoisting optimization on perf builds
* Fixes VSCO Cam array traversal crash when perf is enabled. Change-Id: I57e59e407a538c4cc48972f4cf3167c505d7ded4
-rw-r--r--vm/compiler/codegen/arm/GlobalOptimizations.cpp4
1 files changed, 4 insertions, 0 deletions
diff --git a/vm/compiler/codegen/arm/GlobalOptimizations.cpp b/vm/compiler/codegen/arm/GlobalOptimizations.cpp
index b6c81851a..b6f00fc64 100644
--- a/vm/compiler/codegen/arm/GlobalOptimizations.cpp
+++ b/vm/compiler/codegen/arm/GlobalOptimizations.cpp
@@ -69,6 +69,7 @@ static void applyRedundantBranchElimination(CompilationUnit *cUnit)
}
}
+#ifndef WITH_QC_PERF
/*
* Perform a pass to hoist all frame pointer load instructions that
* are independent, outside the loop.
@@ -262,12 +263,15 @@ static void applyLoopLoadHoisting(CompilationUnit *cUnit)
if (cUnit->printMe)
ALOGD("GlobalOpt LoopLoadHoist hoisted %d load ops.", hoistCount);
}
+#endif
void dvmCompilerApplyGlobalOptimizations(CompilationUnit *cUnit)
{
applyRedundantBranchElimination(cUnit);
+#ifndef WITH_QC_PERF
if (cUnit->jitMode == kJitLoop) {
applyLoopLoadHoisting(cUnit);
}
+#endif
}