diff options
author | Mingyao Yang <mingyao@google.com> | 2017-04-12 13:43:15 -0700 |
---|---|---|
committer | Mingyao Yang <mingyao@google.com> | 2017-08-21 16:44:57 -0700 |
commit | edeba10d523c3e283ab939a16c7203af32c7707e (patch) | |
tree | 88f13395178e7a17979dcb0666c65c024732be6b /compiler/optimizing/graph_visualizer.cc | |
parent | c9d88538d73680563f7a6e73885acfff2c55ef58 (diff) |
Allow deoptimization when returning from a runtime method.
This CL patches the return pc of a runtime method to allow the top
Java frame to be deoptimized. This should fix the issue that debugger
cannot break in a busy loop. It also means we can now do full async
deoptimization, if we want to enable it by letting environment keep
registers live.
art_quick_instrumentation_exit and art_quick_deoptimize now need to save
all registers since some compiler slow paths assume runtime methods save
everything.
Some special handling needs to be done to decide whether dex_pc should
be advanced when deoptimized back to interpreter.
Test: run-test/gtest on both host and target, and 597-deopt-runtime-method.
Bug: 33616143
Change-Id: I2e2c199998825afd5057f7deadfc8fa203ce1936
Diffstat (limited to 'compiler/optimizing/graph_visualizer.cc')
0 files changed, 0 insertions, 0 deletions