< prev index next >

src/hotspot/share/jfr/recorder/stacktrace/jfrStackTrace.cpp

Print this page
*** 136,13 ***
    write_frame(cpw, _methodid, _line, _bci, _type);
  }
  
  class JfrVframeStream : public vframeStreamCommon {
   private:
    const ContinuationEntry* _cont_entry;
    bool _async_mode;
-   bool _vthread;
    bool step_to_sender();
    void next_frame();
   public:
    JfrVframeStream(JavaThread* jt, const frame& fr, bool stop_at_java_call_stub, bool async_mode);
    void next_vframe();
--- 136,13 ---
    write_frame(cpw, _methodid, _line, _bci, _type);
  }
  
  class JfrVframeStream : public vframeStreamCommon {
   private:
+   bool _vthread;
    const ContinuationEntry* _cont_entry;
    bool _async_mode;
    bool step_to_sender();
    void next_frame();
   public:
    JfrVframeStream(JavaThread* jt, const frame& fr, bool stop_at_java_call_stub, bool async_mode);
    void next_vframe();

*** 163,12 ***
  JfrVframeStream::JfrVframeStream(JavaThread* jt, const frame& fr, bool stop_at_java_call_stub, bool async_mode) :
    vframeStreamCommon(RegisterMap(jt,
                                   RegisterMap::UpdateMap::skip,
                                   RegisterMap::ProcessFrames::skip,
                                   walk_continuation(jt))),
!     _cont_entry(JfrThreadLocal::is_vthread(jt) ? jt->last_continuation() : nullptr),
!     _async_mode(async_mode), _vthread(JfrThreadLocal::is_vthread(jt)) {
    assert(!_vthread || _cont_entry != nullptr, "invariant");
    _reg_map.set_async(async_mode);
    _frame = fr;
    _stop_at_java_call_stub = stop_at_java_call_stub;
    while (!fill_from_frame()) {
--- 163,13 ---
  JfrVframeStream::JfrVframeStream(JavaThread* jt, const frame& fr, bool stop_at_java_call_stub, bool async_mode) :
    vframeStreamCommon(RegisterMap(jt,
                                   RegisterMap::UpdateMap::skip,
                                   RegisterMap::ProcessFrames::skip,
                                   walk_continuation(jt))),
!     _vthread(JfrThreadLocal::is_vthread(jt)),
!     _cont_entry(_vthread ? jt->last_continuation() : nullptr),
+     _async_mode(async_mode) {
    assert(!_vthread || _cont_entry != nullptr, "invariant");
    _reg_map.set_async(async_mode);
    _frame = fr;
    _stop_at_java_call_stub = stop_at_java_call_stub;
    while (!fill_from_frame()) {
< prev index next >