summaryrefslogtreecommitdiff
path: root/compiler/utils/assembler_test.h
diff options
context:
space:
mode:
author Mythri Alle <mythria@google.com> 2022-06-09 12:08:07 +0000
committer Mythri Alle <mythria@google.com> 2022-06-22 11:37:59 +0000
commitb57731e3f183816310b0c857fc57f5fa8fb54631 (patch)
tree01d6dd4c07666d7dbfe22ded2bebc0c76643c181 /compiler/utils/assembler_test.h
parent8464badf09b82dbd4c073fb13755dc820981e57d (diff)
Cleanup around method inspection callbacks
IsMethodBeingInspected callback was used to prevent moving to compiled code (JIT / OSR / Nterp) while a method has breakpoints or other debugger related events enabled. We also use Instrumentation::IsDeoptimized for similar purpose in some places (for ex: when determining if a method needs to be deoptimized). Deoptimized methods list is a super set of methods that have breakpoints on them. So we can replace most method inspection callbacks to use IsDeoptimized check instead. The one exception is when we decide if we need to OSR a method. Here we need to check if the frame has any locals changed which isn't covered by IsDeoptimized check and requires a runtime callback to see if any locals have changed. This CL: 1. Adds a new runtime callback called HaveLocalsChanged to check if any locals have changed and uses it to prevent OSRing such frames. 2. Removes IsMethodBeingInspected and replaces it with IsDeoptimized / HaveLocalsChanged as required. Bug: 206029744 Test: art/test.py Change-Id: Ie649cffaeba3d31746527e0ee326abe81284978d
Diffstat (limited to 'compiler/utils/assembler_test.h')
0 files changed, 0 insertions, 0 deletions