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);