RFR: 8352251: Implement JEP 518: JFR Cooperative Sampling [v23]

Markus Grönlund mgronlun at openjdk.org
Thu May 15 20:52:55 UTC 2025


On Thu, 15 May 2025 20:37:49 GMT, Markus Grönlund <mgronlun at openjdk.org> wrote:

>> src/hotspot/cpu/x86/interp_masm_x86.cpp line 1059:
>> 
>>> 1057:   bind(L_continuation);
>>> 1058:   lea(sender_sp, Address(rbp, frame::sender_sp_offset * wordSize));
>>> 1059:   movptr(rbp, Address(sender_sp, (int)(ContinuationEntry::size()))); // Update the frame link.
>> 
>> Method enterSpecial already sets rbp so we can read from current rbp as with the normal case.
>
> I don't think so. That was why I had to do all this special handling for the Continuations.

If I recall, which I don't, as it has been too long, the issue here is that since the IP is still in the interpreter, the rbp referenced in the enterSpecial frame links to an EntryFrame, which is not interpreter code. At least, what is linked in the Continuation is Java code, which can also be compiled; in this case, we can handle it. However, the challenge is to move the rbp, knowing that your IP is still in interpreter code. Can I handle that situation? That becomes the question.

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

PR Review Comment: https://git.openjdk.org/jdk/pull/24296#discussion_r2091939042


More information about the hotspot-jfr-dev mailing list