< prev index next >

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

Print this page
@@ -136,13 +136,13 @@
    write_frame(cpw, _methodid, _line, _bci, _type);
  }
  
  class JfrVframeStream : public vframeStreamCommon {
   private:
+   bool _vthread;
    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();

@@ -163,12 +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))),
-     _cont_entry(JfrThreadLocal::is_vthread(jt) ? jt->last_continuation() : nullptr),
-     _async_mode(async_mode), _vthread(JfrThreadLocal::is_vthread(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 >