src/share/vm/prims/jvmtiEnvThreadState.cpp
Print this page
*** 189,203 ****
}
JvmtiFramePops* JvmtiEnvThreadState::get_frame_pops() {
#ifdef ASSERT
! uint32_t debug_bits = 0;
#endif
! assert(get_thread() == Thread::current() || JvmtiEnv::is_thread_fully_suspended(get_thread(), false, &debug_bits),
! "frame pop data only accessible from same thread or while suspended");
!
if (_frame_pops == NULL) {
_frame_pops = new JvmtiFramePops();
assert(_frame_pops != NULL, "_frame_pops != NULL");
}
return _frame_pops;
--- 189,202 ----
}
JvmtiFramePops* JvmtiEnvThreadState::get_frame_pops() {
#ifdef ASSERT
! Thread* cur = Thread::current();
#endif
! assert(get_thread() == cur || (cur->is_VM_thread() && SafepointSynchronize::is_at_safepoint()),
! "frame pop data only accessible from same thread or at safepoint");
if (_frame_pops == NULL) {
_frame_pops = new JvmtiFramePops();
assert(_frame_pops != NULL, "_frame_pops != NULL");
}
return _frame_pops;
*** 208,254 ****
return _frame_pops == NULL? false : (_frame_pops->length() > 0);
}
void JvmtiEnvThreadState::set_frame_pop(int frame_number) {
#ifdef ASSERT
! uint32_t debug_bits = 0;
#endif
! assert(get_thread() == Thread::current() || JvmtiEnv::is_thread_fully_suspended(get_thread(), false, &debug_bits),
! "frame pop data only accessible from same thread or while suspended");
JvmtiFramePop fpop(frame_number);
JvmtiEventController::set_frame_pop(this, fpop);
}
void JvmtiEnvThreadState::clear_frame_pop(int frame_number) {
#ifdef ASSERT
! uint32_t debug_bits = 0;
#endif
! assert(get_thread() == Thread::current() || JvmtiEnv::is_thread_fully_suspended(get_thread(), false, &debug_bits),
! "frame pop data only accessible from same thread or while suspended");
JvmtiFramePop fpop(frame_number);
JvmtiEventController::clear_frame_pop(this, fpop);
}
void JvmtiEnvThreadState::clear_to_frame_pop(int frame_number) {
#ifdef ASSERT
! uint32_t debug_bits = 0;
#endif
! assert(get_thread() == Thread::current() || JvmtiEnv::is_thread_fully_suspended(get_thread(), false, &debug_bits),
! "frame pop data only accessible from same thread or while suspended");
JvmtiFramePop fpop(frame_number);
JvmtiEventController::clear_to_frame_pop(this, fpop);
}
bool JvmtiEnvThreadState::is_frame_pop(int cur_frame_number) {
#ifdef ASSERT
! uint32_t debug_bits = 0;
#endif
! assert(get_thread() == Thread::current() || JvmtiEnv::is_thread_fully_suspended(get_thread(), false, &debug_bits),
! "frame pop data only accessible from same thread or while suspended");
if (!get_thread()->is_interp_only_mode() || _frame_pops == NULL) {
return false;
}
JvmtiFramePop fp(cur_frame_number);
return get_frame_pops()->contains(fp);
--- 207,253 ----
return _frame_pops == NULL? false : (_frame_pops->length() > 0);
}
void JvmtiEnvThreadState::set_frame_pop(int frame_number) {
#ifdef ASSERT
! Thread* cur = Thread::current();
#endif
! assert(get_thread() == cur || (cur->is_VM_thread() && SafepointSynchronize::is_at_safepoint()),
! "frame pop data only accessible from same thread or at safepoint");
JvmtiFramePop fpop(frame_number);
JvmtiEventController::set_frame_pop(this, fpop);
}
void JvmtiEnvThreadState::clear_frame_pop(int frame_number) {
#ifdef ASSERT
! Thread* cur = Thread::current();
#endif
! assert(get_thread() == cur || (cur->is_VM_thread() && SafepointSynchronize::is_at_safepoint()),
! "frame pop data only accessible from same thread or at safepoint");
JvmtiFramePop fpop(frame_number);
JvmtiEventController::clear_frame_pop(this, fpop);
}
void JvmtiEnvThreadState::clear_to_frame_pop(int frame_number) {
#ifdef ASSERT
! Thread* cur = Thread::current();
#endif
! assert(get_thread() == cur || (cur->is_VM_thread() && SafepointSynchronize::is_at_safepoint()),
! "frame pop data only accessible from same thread or at safepoint");
JvmtiFramePop fpop(frame_number);
JvmtiEventController::clear_to_frame_pop(this, fpop);
}
bool JvmtiEnvThreadState::is_frame_pop(int cur_frame_number) {
#ifdef ASSERT
! Thread* cur = Thread::current();
#endif
! assert(get_thread() == cur || (cur->is_VM_thread() && SafepointSynchronize::is_at_safepoint()),
! "frame pop data only accessible from same thread or at safepoint");
if (!get_thread()->is_interp_only_mode() || _frame_pops == NULL) {
return false;
}
JvmtiFramePop fp(cur_frame_number);
return get_frame_pops()->contains(fp);