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_ */
|