< prev index next >

src/hotspot/share/jfr/periodic/sampling/jfrSampleRequest.cpp

Print this page
*** 128,12 ***
    if (is_valid_interpreter_frame(request, jt)) {
      // Set fp as sp for interpreter frames.
      request._sample_sp = request._sample_bcp;
      // Get real bcp.
      void* const bcp = interpreter_frame_bcp(request);
!     // Setting bcp = 1 marks the sample request to represent a native method.
!     request._sample_bcp = bcp != nullptr ? bcp : reinterpret_cast<address>(1);
      return true;
    }
    intptr_t* fp = sender_for_interpreter_frame(request, jt);
    if (request._sample_pc == nullptr || request._sample_sp == nullptr) {
      return false;
--- 128,12 ---
    if (is_valid_interpreter_frame(request, jt)) {
      // Set fp as sp for interpreter frames.
      request._sample_sp = request._sample_bcp;
      // Get real bcp.
      void* const bcp = interpreter_frame_bcp(request);
!     // Setting bcp == JfrSampleRequestFrameType::INTERPRETER marks the sample request to represent an interpreted native method.
!     request._sample_bcp = bcp != nullptr ? bcp : reinterpret_cast<address>(JfrSampleRequestFrameType::INTERPRETER);
      return true;
    }
    intptr_t* fp = sender_for_interpreter_frame(request, jt);
    if (request._sample_pc == nullptr || request._sample_sp == nullptr) {
      return false;
< prev index next >