< prev index next >

src/hotspot/share/runtime/javaThread.hpp

Print this page
*** 139,10 ***
--- 139,11 ---
    Method*       _callee_target;
  
    // Used to pass back results to the interpreter or generated code running Java code.
    oop           _vm_result;    // oop result is GC-preserved
    Metadata*     _vm_result_2;  // non-oop result
+   oop           _return_buffered_value; // buffered value being returned
  
    // See ReduceInitialCardMarks: this holds the precise space interval of
    // the most recent slow path allocation for which compiled code has
    // elided card-marks for performance along the fast-path.
    MemRegion     _deferred_card_mark;

*** 692,10 ***
--- 693,13 ---
    oop  vm_result() const                         { return _vm_result; }
    void set_vm_result  (oop x)                    { _vm_result   = x; }
  
    void set_vm_result_2  (Metadata* x)            { _vm_result_2   = x; }
  
+   oop return_buffered_value() const              { return _return_buffered_value; }
+   void set_return_buffered_value(oop val)        { _return_buffered_value = val; }
+ 
    MemRegion deferred_card_mark() const           { return _deferred_card_mark; }
    void set_deferred_card_mark(MemRegion mr)      { _deferred_card_mark = mr;   }
  
  #if INCLUDE_JVMCI
    jlong pending_failed_speculation() const        { return _pending_failed_speculation; }

*** 757,10 ***
--- 761,11 ---
      return byte_offset_of(JavaThread, _anchor);
    }
    static ByteSize callee_target_offset()         { return byte_offset_of(JavaThread, _callee_target); }
    static ByteSize vm_result_offset()             { return byte_offset_of(JavaThread, _vm_result); }
    static ByteSize vm_result_2_offset()           { return byte_offset_of(JavaThread, _vm_result_2); }
+   static ByteSize return_buffered_value_offset() { return byte_offset_of(JavaThread, _return_buffered_value); }
    static ByteSize thread_state_offset()          { return byte_offset_of(JavaThread, _thread_state); }
    static ByteSize polling_word_offset()          { return byte_offset_of(JavaThread, _poll_data) + byte_offset_of(SafepointMechanism::ThreadData, _polling_word);}
    static ByteSize polling_page_offset()          { return byte_offset_of(JavaThread, _poll_data) + byte_offset_of(SafepointMechanism::ThreadData, _polling_page);}
    static ByteSize saved_exception_pc_offset()    { return byte_offset_of(JavaThread, _saved_exception_pc); }
    static ByteSize osthread_offset()              { return byte_offset_of(JavaThread, _osthread); }
< prev index next >