From 7cfc8f5b2a7c1af68de5f2e79652cf55954794dc Mon Sep 17 00:00:00 2001 From: Nicolas Geoffray Date: Wed, 7 Aug 2019 10:41:09 +0100 Subject: Don't compile OSR methods that have phi equivalents at loop entry. We currently don't handle this in the stack map, where we only encode one stack slot for a dex register. Bug: 136698025 Test: 721-osr Change-Id: Ib395ed1165387ad5446a463c307cc0a45e365885 --- compiler/optimizing/optimizing_compiler.cc | 5 +++++ 1 file changed, 5 insertions(+) (limited to 'compiler/optimizing/optimizing_compiler.cc') diff --git a/compiler/optimizing/optimizing_compiler.cc b/compiler/optimizing/optimizing_compiler.cc index 6f3b9feb9d..b1a3abee2f 100644 --- a/compiler/optimizing/optimizing_compiler.cc +++ b/compiler/optimizing/optimizing_compiler.cc @@ -914,6 +914,11 @@ CodeGenerator* OptimizingCompiler::TryCompile(ArenaAllocator* allocator, MethodCompilationStat::kNotCompiledIrreducibleLoopAndStringInit); break; } + case kAnalysisFailPhiEquivalentInOsr: { + MaybeRecordStat(compilation_stats_.get(), + MethodCompilationStat::kNotCompiledPhiEquivalentInOsr); + break; + } case kAnalysisSuccess: UNREACHABLE(); } -- cgit v1.2.3-59-g8ed1b