RFR: 8229012: When single stepping, the debug agent can cause the thread to remain in interpreter mode after single stepping completes [v4]
Kevin Walls
kevinw at openjdk.org
Mon Feb 17 09:17:14 UTC 2025
On Mon, 27 Jan 2025 19:41:19 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:
>
> fix white space errors.
src/jdk.jdwp.agent/share/native/libjdwp/stepControl.c line 899:
> 897: }
> 898:
> 899: if (step->pending) {
Is this condition the same as new line 876 above? (I don't see where the intervening calls would affect it?)
-------------
PR Review Comment: https://git.openjdk.org/jdk/pull/23182#discussion_r1957870981
More information about the serviceability-dev
mailing list