diff options
author | 2015-09-29 17:30:24 +0000 | |
---|---|---|
committer | 2015-09-29 17:30:24 +0000 | |
commit | 0766e3ff5638b14d6b3ea6157c800eed11be5b98 (patch) | |
tree | e37a48f0f06a60271c02c4175cfbe8d1b409e71d /compiler/optimizing/optimizing_compiler.cc | |
parent | de8a3f4dce1e9ff0e3be16956b06bafc8cd4f397 (diff) | |
parent | b7d27a53cb280a943c0a63a9e0806cf8e3ae4cde (diff) |
Merge "Revert "Enable optimizations with --debuggable.""
Diffstat (limited to 'compiler/optimizing/optimizing_compiler.cc')
-rw-r--r-- | compiler/optimizing/optimizing_compiler.cc | 9 |
1 files changed, 8 insertions, 1 deletions
diff --git a/compiler/optimizing/optimizing_compiler.cc b/compiler/optimizing/optimizing_compiler.cc index dbfbd96e39..a2b613194f 100644 --- a/compiler/optimizing/optimizing_compiler.cc +++ b/compiler/optimizing/optimizing_compiler.cc @@ -321,7 +321,8 @@ static const int kMaximumCompilationTimeBeforeWarning = 100; /* ms */ OptimizingCompiler::OptimizingCompiler(CompilerDriver* driver) : Compiler(driver, kMaximumCompilationTimeBeforeWarning), run_optimizations_( - driver->GetCompilerOptions().GetCompilerFilter() != CompilerOptions::kTime), + (driver->GetCompilerOptions().GetCompilerFilter() != CompilerOptions::kTime) + && !driver->GetCompilerOptions().GetDebuggable()), delegate_(Create(driver, Compiler::Kind::kQuick)) {} void OptimizingCompiler::Init() { @@ -574,6 +575,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); |