diff options
author | Steve Kondik <shade@chemlab.org> | 2014-05-08 01:10:35 -0700 |
---|---|---|
committer | Steve Kondik <shade@chemlab.org> | 2014-05-08 01:10:35 -0700 |
commit | e3422459524e20107b82be5cfdd6e55765ceac5a (patch) | |
tree | 5de1b91defcb028970475c639f68176324e9ec2b | |
parent | cd2251b84a8c15d970267b77e8116ee0b26289e0 (diff) | |
download | android_dalvik-e3422459524e20107b82be5cfdd6e55765ceac5a.tar.gz android_dalvik-e3422459524e20107b82be5cfdd6e55765ceac5a.tar.bz2 android_dalvik-e3422459524e20107b82be5cfdd6e55765ceac5a.zip |
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.cpp | 4 |
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 } |