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
Loading
Please sign in to comment