< prev index next >

src/hotspot/share/prims/jvmtiThreadState.hpp

Print this page
rev 47290 : eosterlund CR - need more inline fixes.

*** 334,371 **** void update_for_pop_top_frame(); // already holding JvmtiThreadState_lock - retrieve or create JvmtiThreadState // Can return NULL if JavaThread is exiting. ! inline static JvmtiThreadState *state_for_while_locked(JavaThread *thread) { ! assert(JvmtiThreadState_lock->is_locked(), "sanity check"); ! ! JvmtiThreadState *state = thread->jvmti_thread_state(); ! if (state == NULL) { ! if (thread->is_exiting()) { ! // don't add a JvmtiThreadState to a thread that is exiting ! return NULL; ! } ! ! state = new JvmtiThreadState(thread); ! } ! return state; ! } ! // retrieve or create JvmtiThreadState // Can return NULL if JavaThread is exiting. ! inline static JvmtiThreadState *state_for(JavaThread *thread) { ! JvmtiThreadState *state = thread->jvmti_thread_state(); ! if (state == NULL) { ! MutexLocker mu(JvmtiThreadState_lock); ! // check again with the lock held ! state = state_for_while_locked(thread); ! } else { ! CHECK_UNHANDLED_OOPS_ONLY(Thread::current()->clear_unhandled_oops()); ! } ! return state; ! } // JVMTI ForceEarlyReturn support // This is set to earlyret_pending to signal that top Java frame // should be returned immediately --- 334,347 ---- void update_for_pop_top_frame(); // already holding JvmtiThreadState_lock - retrieve or create JvmtiThreadState // Can return NULL if JavaThread is exiting. ! static JvmtiThreadState *state_for_while_locked(JavaThread *thread); // retrieve or create JvmtiThreadState // Can return NULL if JavaThread is exiting. ! static JvmtiThreadState *state_for(JavaThread *thread); // JVMTI ForceEarlyReturn support // This is set to earlyret_pending to signal that top Java frame // should be returned immediately
< prev index next >