RFR: 8346143: add ClearAllFramePops function to speedup debugger single stepping in some cases [v8]
Serguei Spitsyn
sspitsyn at openjdk.org
Tue Jan 7 19:39:16 UTC 2025
> New JVMTI function `ClearAllFramePops` will help to speedup debugger single stepping in some cases.
> Additionally, the JVMTI `NotifyFramePop` implementation was fixed to return `JVMTI_ERROR_DUPLICATE` to make it consistent with the `SetBreakpoint` which also returns this error.
>
> The JDWP agent fix will be needed to make use of this new JVMTI function. The corresponding debugger bug is:
> [8229012](https://bugs.openjdk.org/browse/JDK-8229012): When single stepping, the debug agent can cause the thread to remain in interpreter mode after single stepping completes
>
> CSR: [8346144](https://bugs.openjdk.org/browse/JDK-8346144): add ClearAllFramePops function to speedup debugger single stepping in some cases
>
> Testing:
> - mach5 tiers 1-6 were run to make sure this fix caused no regressions
> - Chris tested the JVMTI patch with his JDWP fix of [8229012](https://bugs.openjdk.org/browse/JDK-8229012).
Serguei Spitsyn has updated the pull request with a new target base due to a merge or a rebase. The incremental webrev excludes the unrelated changes brought in by the merge/rebase. The pull request contains nine additional commits since the last revision:
- Merge
- review: updated one copyright year
- review: addressed comments for new test, jvmti.xml, jvmtiEnvThreadState.cpp
- review: removed unneeded check for JvmtiExport::can_post_frame_pop()
- review: add a unit test covering JVMTI ClearAllFramePops
- review: removed DUPLICATE related changes; a minor tweak for ASSERT line
- added extra check to post_method_exit_inner before clear_frame_pop to avoid assert
- fixed trailing space in jvmtiEnvBase.hpp
- 8346143: add ClearAllFramePops function to speedup debugger single stepping in some cases
-------------
Changes:
- all: https://git.openjdk.org/jdk/pull/22744/files
- new: https://git.openjdk.org/jdk/pull/22744/files/21ca5294..6a8e37aa
Webrevs:
- full: https://webrevs.openjdk.org/?repo=jdk&pr=22744&range=07
- incr: https://webrevs.openjdk.org/?repo=jdk&pr=22744&range=06-07
Stats: 21029 lines in 649 files changed: 15125 ins; 3706 del; 2198 mod
Patch: https://git.openjdk.org/jdk/pull/22744.diff
Fetch: git fetch https://git.openjdk.org/jdk.git pull/22744/head:pull/22744
PR: https://git.openjdk.org/jdk/pull/22744
More information about the hotspot-dev
mailing list