diff options
author | David Srbecky <dsrbecky@google.com> | 2020-02-20 19:15:49 +0000 |
---|---|---|
committer | Treehugger Robot <treehugger-gerrit@google.com> | 2020-02-22 07:24:40 +0000 |
commit | 6a8e66c753abdb53847107c1cb2f13e9114c811d (patch) | |
tree | ea8ca2171ca63818e4d9c3dcdd1d9d80af16d96e /compiler/optimizing/optimizing_compiler.cc | |
parent | 725da8fb9665abfb9c9c6aaca147120e46381b2d (diff) |
Remove JIT native debug info on failed commits.
This could happen if single-implementation assumptions are invalid,
and would result in temporary double entries in JIT debug info.
Test: ./art/test.py -b -r --host --gcstress --jit --32 -t 068
Change-Id: I765c9310b6cc4fa440e4121780f8b9053388bd3d
Diffstat (limited to 'compiler/optimizing/optimizing_compiler.cc')
-rw-r--r-- | compiler/optimizing/optimizing_compiler.cc | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/compiler/optimizing/optimizing_compiler.cc b/compiler/optimizing/optimizing_compiler.cc index 9978a6fa18..0344fc565a 100644 --- a/compiler/optimizing/optimizing_compiler.cc +++ b/compiler/optimizing/optimizing_compiler.cc @@ -1295,6 +1295,8 @@ bool OptimizingCompiler::JitCompile(Thread* self, /* has_should_deoptimize_flag= */ false, cha_single_implementation_list)) { code_cache->Free(self, region, reserved_code.data(), reserved_data.data()); + MutexLock mu(self, *Locks::jit_lock_); + RemoveNativeDebugInfoForJit(ArrayRef<const void*>(reinterpret_cast<const void**>(&code), 1)); return false; } @@ -1403,6 +1405,8 @@ bool OptimizingCompiler::JitCompile(Thread* self, codegen->GetGraph()->HasShouldDeoptimizeFlag(), codegen->GetGraph()->GetCHASingleImplementationList())) { code_cache->Free(self, region, reserved_code.data(), reserved_data.data()); + MutexLock mu(self, *Locks::jit_lock_); + RemoveNativeDebugInfoForJit(ArrayRef<const void*>(reinterpret_cast<const void**>(&code), 1)); return false; } |