RFR: 8352251: Implement JEP 518: JFR Cooperative Sampling [v23]
Markus Grönlund
mgronlun at openjdk.org
Thu May 15 23:07:55 UTC 2025
On Thu, 15 May 2025 22:53:20 GMT, Patricio Chilano Mateo <pchilanomate at openjdk.org> wrote:
>> Also, thinking more about it if we are in the return_barrier case it’s the vthread that will continue executing. So one option could be to still create the request with the sender of the ContinuationEntry and just add a condition when processing it to check if the frame in the request is within the continuation.
>
> Another case we are missing is when we freeze. We should call `Jfr::check_and_process_sample_request` before copying the frames to the heap.
The check, or some version of it, is already in place.
Please check in JfrStackTrace.cpp:
if (method->intrinsic_id() == vmIntrinsicID::_Continuation_enterSpecial) {
assert(JfrThreadLocal::is_vthread(jt), "invariant");
const ContinuationEntry* const cont_entry = jt->last_continuation();
assert(cont_entry != nullptr, "invariant");
return cont_entry->is_virtual_thread();
}
-------------
PR Review Comment: https://git.openjdk.org/jdk/pull/24296#discussion_r2092078727
More information about the hotspot-jfr-dev
mailing list