src/share/vm/prims/jvmtiThreadState.hpp

Print this page
rev 1132 : add jvmtiThreadState::set_should_post_on_exceptions


 364     earlyret_pending  = 1
 365   };
 366 
 367   void set_earlyret_pending(void) { _earlyret_state = earlyret_pending;  }
 368   void clr_earlyret_pending(void) { _earlyret_state = earlyret_inactive; }
 369   bool is_earlyret_pending(void)  { return (_earlyret_state == earlyret_pending);  }
 370 
 371   TosState earlyret_tos()                            { return _earlyret_tos; }
 372   oop  earlyret_oop() const                          { return _earlyret_oop; }
 373   void set_earlyret_oop (oop x)                      { _earlyret_oop = x;    }
 374   jvalue earlyret_value()                            { return _earlyret_value; }
 375   void set_earlyret_value(jvalue val, TosState tos)  { _earlyret_tos = tos;  _earlyret_value = val;  }
 376   void clr_earlyret_value()                          { _earlyret_tos = ilgl; _earlyret_value.j = 0L; }
 377 
 378   static ByteSize earlyret_state_offset() { return byte_offset_of(JvmtiThreadState, _earlyret_state); }
 379   static ByteSize earlyret_tos_offset()   { return byte_offset_of(JvmtiThreadState, _earlyret_tos); }
 380   static ByteSize earlyret_oop_offset()   { return byte_offset_of(JvmtiThreadState, _earlyret_oop); }
 381   static ByteSize earlyret_value_offset() { return byte_offset_of(JvmtiThreadState, _earlyret_value); }
 382 
 383   void oops_do(OopClosure* f); // GC support



 384 };
 385 
 386 class RedefineVerifyMark : public StackObj {
 387  private:
 388   JvmtiThreadState *_state;
 389 
 390  public:
 391   RedefineVerifyMark(KlassHandle *the_class, KlassHandle *scratch_class,
 392                      JvmtiThreadState *state) : _state(state)
 393   {
 394     _state->set_class_versions_map(the_class, scratch_class);
 395     (*scratch_class)->set_java_mirror((*the_class)->java_mirror());
 396   }
 397 
 398   ~RedefineVerifyMark() {
 399     _state->clear_class_versions_map();
 400   }
 401 };
 402 
 403 #endif   /* _JAVA_JVMTITHREADSTATE_H_ */


 364     earlyret_pending  = 1
 365   };
 366 
 367   void set_earlyret_pending(void) { _earlyret_state = earlyret_pending;  }
 368   void clr_earlyret_pending(void) { _earlyret_state = earlyret_inactive; }
 369   bool is_earlyret_pending(void)  { return (_earlyret_state == earlyret_pending);  }
 370 
 371   TosState earlyret_tos()                            { return _earlyret_tos; }
 372   oop  earlyret_oop() const                          { return _earlyret_oop; }
 373   void set_earlyret_oop (oop x)                      { _earlyret_oop = x;    }
 374   jvalue earlyret_value()                            { return _earlyret_value; }
 375   void set_earlyret_value(jvalue val, TosState tos)  { _earlyret_tos = tos;  _earlyret_value = val;  }
 376   void clr_earlyret_value()                          { _earlyret_tos = ilgl; _earlyret_value.j = 0L; }
 377 
 378   static ByteSize earlyret_state_offset() { return byte_offset_of(JvmtiThreadState, _earlyret_state); }
 379   static ByteSize earlyret_tos_offset()   { return byte_offset_of(JvmtiThreadState, _earlyret_tos); }
 380   static ByteSize earlyret_oop_offset()   { return byte_offset_of(JvmtiThreadState, _earlyret_oop); }
 381   static ByteSize earlyret_value_offset() { return byte_offset_of(JvmtiThreadState, _earlyret_value); }
 382 
 383   void oops_do(OopClosure* f); // GC support
 384 
 385 public:
 386   void set_should_post_on_exceptions(bool val) { _thread->set_should_post_on_exceptions_flag(val ? JNI_TRUE : JNI_FALSE); }
 387 };
 388 
 389 class RedefineVerifyMark : public StackObj {
 390  private:
 391   JvmtiThreadState *_state;
 392 
 393  public:
 394   RedefineVerifyMark(KlassHandle *the_class, KlassHandle *scratch_class,
 395                      JvmtiThreadState *state) : _state(state)
 396   {
 397     _state->set_class_versions_map(the_class, scratch_class);
 398     (*scratch_class)->set_java_mirror((*the_class)->java_mirror());
 399   }
 400 
 401   ~RedefineVerifyMark() {
 402     _state->clear_class_versions_map();
 403   }
 404 };
 405 
 406 #endif   /* _JAVA_JVMTITHREADSTATE_H_ */