< prev index next >

src/hotspot/os_cpu/bsd_zero/thread_bsd_zero.hpp

Print this page




  69     assert(top_zero_frame() == NULL, "junk on stack after Java call");
  70   }
  71 
  72  public:
  73   void set_last_Java_frame() {
  74     set_last_Java_frame(top_zero_frame(), zero_stack()->sp());
  75   }
  76   void reset_last_Java_frame() {
  77     frame_anchor()->zap();
  78   }
  79   void set_last_Java_frame(ZeroFrame* fp, intptr_t* sp) {
  80     frame_anchor()->set(sp, NULL, fp);
  81   }
  82 
  83  public:
  84   ZeroFrame* last_Java_fp() {
  85     return frame_anchor()->last_Java_fp();
  86   }
  87 
  88  private:
  89   frame pd_last_frame() {
  90     assert(has_last_Java_frame(), "must have last_Java_sp() when suspended");
  91     return frame(last_Java_fp(), last_Java_sp());
  92   }
  93 
  94  public:
  95   static ByteSize last_Java_fp_offset() {
  96     return byte_offset_of(JavaThread, _anchor) +
  97       JavaFrameAnchor::last_Java_fp_offset();
  98   }
  99 
 100  public:
 101   // Check for pending suspend requests and pending asynchronous
 102   // exceptions.  There are separate accessors for these, but
 103   // _suspend_flags is volatile so using them would be unsafe.
 104   bool has_special_condition_for_native_trans() {
 105     return _suspend_flags != 0;
 106   }
 107 
 108  public:
 109   bool pd_get_top_frame_for_signal_handler(frame* fr_addr,
 110                                            void* ucontext,
 111                                            bool isInJava) {
 112     ShouldNotCallThis();


  69     assert(top_zero_frame() == NULL, "junk on stack after Java call");
  70   }
  71 
  72  public:
  73   void set_last_Java_frame() {
  74     set_last_Java_frame(top_zero_frame(), zero_stack()->sp());
  75   }
  76   void reset_last_Java_frame() {
  77     frame_anchor()->zap();
  78   }
  79   void set_last_Java_frame(ZeroFrame* fp, intptr_t* sp) {
  80     frame_anchor()->set(sp, NULL, fp);
  81   }
  82 
  83  public:
  84   ZeroFrame* last_Java_fp() {
  85     return frame_anchor()->last_Java_fp();
  86   }
  87 
  88  private:
  89   frame pd_last_frame();



  90 
  91  public:
  92   static ByteSize last_Java_fp_offset() {
  93     return byte_offset_of(JavaThread, _anchor) +
  94       JavaFrameAnchor::last_Java_fp_offset();
  95   }
  96 
  97  public:
  98   // Check for pending suspend requests and pending asynchronous
  99   // exceptions.  There are separate accessors for these, but
 100   // _suspend_flags is volatile so using them would be unsafe.
 101   bool has_special_condition_for_native_trans() {
 102     return _suspend_flags != 0;
 103   }
 104 
 105  public:
 106   bool pd_get_top_frame_for_signal_handler(frame* fr_addr,
 107                                            void* ucontext,
 108                                            bool isInJava) {
 109     ShouldNotCallThis();
< prev index next >