> 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