< prev index next >

src/hotspot/share/prims/jvmtiEventController.cpp

Print this page

        

*** 329,342 **** void JvmtiEventControllerPrivate::enter_interp_only_mode(JvmtiThreadState *state) { EC_TRACE(("[%s] # Entering interpreter only mode", JvmtiTrace::safe_get_thread_name(state->get_thread()))); EnterInterpOnlyModeClosure hs; ! if (SafepointSynchronize::is_at_safepoint()) { ! hs.do_thread(state->get_thread()); } else { ! Handshake::execute_direct(&hs, state->get_thread()); } } void --- 329,345 ---- void JvmtiEventControllerPrivate::enter_interp_only_mode(JvmtiThreadState *state) { EC_TRACE(("[%s] # Entering interpreter only mode", JvmtiTrace::safe_get_thread_name(state->get_thread()))); EnterInterpOnlyModeClosure hs; ! assert(state->get_thread()->is_Java_thread(), "just checking"); ! JavaThread *target = (JavaThread *)state->get_thread(); ! Thread *current = Thread::current(); ! if ((target == current) || (target->active_handshaker() == current)) { ! hs.do_thread(target); } else { ! Handshake::execute_direct(&hs, target); } } void
*** 978,1002 **** void JvmtiEventController::set_frame_pop(JvmtiEnvThreadState *ets, JvmtiFramePop fpop) { ! MutexLocker mu(SafepointSynchronize::is_at_safepoint() ? NULL : JvmtiThreadState_lock); JvmtiEventControllerPrivate::set_frame_pop(ets, fpop); } void JvmtiEventController::clear_frame_pop(JvmtiEnvThreadState *ets, JvmtiFramePop fpop) { ! MutexLocker mu(SafepointSynchronize::is_at_safepoint() ? NULL : JvmtiThreadState_lock); JvmtiEventControllerPrivate::clear_frame_pop(ets, fpop); } void JvmtiEventController::clear_to_frame_pop(JvmtiEnvThreadState *ets, JvmtiFramePop fpop) { ! MutexLocker mu(SafepointSynchronize::is_at_safepoint() ? NULL : JvmtiThreadState_lock); JvmtiEventControllerPrivate::clear_to_frame_pop(ets, fpop); } void JvmtiEventController::change_field_watch(jvmtiEvent event_type, bool added) { --- 981,1005 ---- void JvmtiEventController::set_frame_pop(JvmtiEnvThreadState *ets, JvmtiFramePop fpop) { ! assert(SafepointSynchronize::is_at_safepoint() || JvmtiThreadState_lock->is_locked(), "Safepoint or must be locked"); JvmtiEventControllerPrivate::set_frame_pop(ets, fpop); } void JvmtiEventController::clear_frame_pop(JvmtiEnvThreadState *ets, JvmtiFramePop fpop) { ! assert(SafepointSynchronize::is_at_safepoint() || JvmtiThreadState_lock->is_locked(), "Safepoint or must be locked"); JvmtiEventControllerPrivate::clear_frame_pop(ets, fpop); } void JvmtiEventController::clear_to_frame_pop(JvmtiEnvThreadState *ets, JvmtiFramePop fpop) { ! assert(SafepointSynchronize::is_at_safepoint() || JvmtiThreadState_lock->is_locked(), "Safepoint or must be locked"); JvmtiEventControllerPrivate::clear_to_frame_pop(ets, fpop); } void JvmtiEventController::change_field_watch(jvmtiEvent event_type, bool added) {
< prev index next >