< prev index next >

src/share/vm/prims/unsafe.cpp

Print this page

        

*** 26,36 **** --- 26,38 ---- #include "classfile/vmSymbols.hpp" #include "utilities/macros.hpp" #if INCLUDE_ALL_GCS #include "gc_implementation/g1/g1SATBCardTableModRefBS.hpp" #endif // INCLUDE_ALL_GCS + #if INCLUDE_JFR #include "jfr/jfrEvents.hpp" + #endif #include "memory/allocation.inline.hpp" #include "prims/jni.h" #include "prims/jvm.h" #include "runtime/globals.hpp" #include "runtime/interfaceSupport.hpp"
*** 1234,1256 **** --- 1236,1262 ---- return success; } #endif UNSAFE_END + #if INCLUDE_JFR static void post_thread_park_event(EventThreadPark* event, const oop obj, jlong timeout_nanos, jlong until_epoch_millis) { assert(event != NULL, "invariant"); assert(event->should_commit(), "invariant"); event->set_parkedClass((obj != NULL) ? obj->klass() : NULL); event->set_timeout(timeout_nanos); event->set_until(until_epoch_millis); event->set_address((obj != NULL) ? (u8)cast_from_oop<uintptr_t>(obj) : 0); event->commit(); } + #endif UNSAFE_ENTRY(void, Unsafe_Park(JNIEnv *env, jobject unsafe, jboolean isAbsolute, jlong time)) UnsafeWrapper("Unsafe_Park"); + #if INCLUDE_JFR EventThreadPark event; + #endif #ifndef USDT2 HS_DTRACE_PROBE3(hotspot, thread__park__begin, thread->parker(), (int) isAbsolute, time); #else /* USDT2 */ HOTSPOT_THREAD_PARK_BEGIN( (uintptr_t) thread->parker(), (int) isAbsolute, time);
*** 1261,1270 **** --- 1267,1277 ---- HS_DTRACE_PROBE1(hotspot, thread__park__end, thread->parker()); #else /* USDT2 */ HOTSPOT_THREAD_PARK_END( (uintptr_t) thread->parker()); #endif /* USDT2 */ + #if INCLUDE_JFR if (event.should_commit()) { const oop obj = thread->current_park_blocker(); if (time == 0) { post_thread_park_event(&event, obj, min_jlong, min_jlong); } else {
*** 1273,1282 **** --- 1280,1290 ---- } else { post_thread_park_event(&event, obj, time, min_jlong); } } } + #endif UNSAFE_END UNSAFE_ENTRY(void, Unsafe_Unpark(JNIEnv *env, jobject unsafe, jobject jthread)) UnsafeWrapper("Unsafe_Unpark"); Parker* p = NULL;
< prev index next >