RFR: 8229012: When single stepping, the debug agent can cause the thread to remain in interpreter mode after single stepping completes [v3]

Andrey Turbanov aturbanov at openjdk.org
Sat Jan 25 11:51:49 UTC 2025


On Fri, 24 Jan 2025 20:09:31 GMT, Chris Plummer <cjplummer at openjdk.org> wrote:

>> When doing a  STEP_OVER, the debug agent does a NotifyFramePop() on the current frame as a safety net. After the STEP_OVER completes, the NotifyFramePop() is usually still in place. This keeps the thread in interp_only mode, which hurts performance. JVMTI has added a new ClearAllFramePops() API to allow clearing of the NotifyFramePop() and normal performance to resume.
>> 
>> Testing:
>> 
>> - [x] Tier1 CI
>> - [x] Tier2 CI svc testing
>> - [x] Tier3 CI svc testing
>> - [x] Tier5 CI svc testing
>> - [x] ran all svc test 10 times each on all supported platforms
>
> Chris Plummer has updated the pull request incrementally with one additional commit since the last revision:
> 
>   get rid of debugging printf.

test/jdk/com/sun/jdi/SingleStepCompilationTest.java line 90:

> 88: 
> 89:     private static boolean isCompiled() {
> 90:         return  WB.isMethodCompiled(busyWorkMethod, true) || WB.isMethodCompiled(busyWorkMethod, false);

Suggestion:

        return WB.isMethodCompiled(busyWorkMethod, true) || WB.isMethodCompiled(busyWorkMethod, false);

test/jdk/com/sun/jdi/SingleStepCompilationTest.java line 139:

> 137:     }
> 138: 
> 139:     public static void main(String[] args)   throws Exception {

Suggestion:

    public static void main(String[] args) throws Exception {

test/jdk/com/sun/jdi/SingleStepCompilationTest.java line 214:

> 212:         try {
> 213:             addListener(this);
> 214:         } catch (Exception ex){

Suggestion:

        } catch (Exception ex) {

-------------

PR Review Comment: https://git.openjdk.org/jdk/pull/23182#discussion_r1929529080
PR Review Comment: https://git.openjdk.org/jdk/pull/23182#discussion_r1929529106
PR Review Comment: https://git.openjdk.org/jdk/pull/23182#discussion_r1929529136


More information about the serviceability-dev mailing list