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