< prev index next >

src/hotspot/share/runtime/continuationEntry.hpp

Print this page
*** 59,17 ***
--- 59,19 ---
    static int _return_pc_offset; // friend gen_continuation_enter
    static int _thaw_call_pc_offset;
    static int _cleanup_offset;
  
    static void set_enter_code(nmethod* nm, int interpreted_entry_offset);
+   static void set_yield_code(nmethod* nm);
    static bool is_interpreted_call(address call_address);
  
  private:
    static address _return_pc;
    static address _thaw_call_pc;
    static address _cleanup_pc;
    static nmethod* _enter_special;
+   static nmethod* _do_yield;
    static int _interpreted_entry_offset;
  
  private:
    ContinuationEntry* _parent;
    oopDesc* _cont;

*** 110,10 ***
--- 112,15 ---
    static address cleanup_pc() { return _cleanup_pc; }
  
    static address compiled_entry();
    static address interpreted_entry();
  
+   static nmethod* do_yield_nmethod() {
+     assert(_do_yield != nullptr, "oops");
+     return _do_yield;
+   }
+ 
    int argsize() const { return _argsize; }
    void set_argsize(int value) { _argsize = value; }
  
    bool is_pinned() { return _pin_count > 0; }
    bool pin() {

*** 148,10 ***
  #ifndef PRODUCT
    void describe(FrameValues& values, int frame_no) const;
  #endif
  
  #ifdef ASSERT
!   static bool assert_entry_frame_laid_out(JavaThread* thread);
  #endif
  };
  
  #endif // SHARE_VM_RUNTIME_CONTINUATIONENTRY_HPP
--- 155,10 ---
  #ifndef PRODUCT
    void describe(FrameValues& values, int frame_no) const;
  #endif
  
  #ifdef ASSERT
!   static bool assert_entry_frame_laid_out(JavaThread* thread, bool preempted = false);
  #endif
  };
  
  #endif // SHARE_VM_RUNTIME_CONTINUATIONENTRY_HPP
< prev index next >