diff options
author | Nicolas Geoffray <ngeoffray@google.com> | 2015-09-15 11:01:01 +0100 |
---|---|---|
committer | Nicolas Geoffray <ngeoffray@google.com> | 2015-09-15 11:03:24 +0100 |
commit | 94ca9afd15e5b151860f6ce305ad4d8662fa95b7 (patch) | |
tree | a0d9187aa84d1f62b65db822feff36f3901896e2 /compiler/optimizing/optimizing_compiler.cc | |
parent | 329d1b5a5afd1f1520c3fd2e723f1245d953074d (diff) |
Temporarly disable SSA creation in try/catch/debuggable.
This is to enable optimizations when the debuggable flag is set.
bug:24054676
Change-Id: I34eef2481ae44ad3550e04ec6f796d421d03adc0
Diffstat (limited to 'compiler/optimizing/optimizing_compiler.cc')
-rw-r--r-- | compiler/optimizing/optimizing_compiler.cc | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/compiler/optimizing/optimizing_compiler.cc b/compiler/optimizing/optimizing_compiler.cc index f549ba8391..fac51903e6 100644 --- a/compiler/optimizing/optimizing_compiler.cc +++ b/compiler/optimizing/optimizing_compiler.cc @@ -560,6 +560,12 @@ CompiledMethod* OptimizingCompiler::CompileOptimized(HGraph* graph, CompilerDriver* compiler_driver, const DexCompilationUnit& dex_compilation_unit, PassObserver* pass_observer) const { + if (graph->HasTryCatch() && graph->IsDebuggable()) { + // TODO: b/24054676, stop creating catch phis eagerly to avoid special cases like phis without + // inputs. + return nullptr; + } + ScopedObjectAccess soa(Thread::Current()); StackHandleScopeCollection handles(soa.Self()); soa.Self()->TransitionFromRunnableToSuspended(kNative); |