< prev index next >

src/share/vm/runtime/jniHandles.cpp

Print this page
rev 14282 : Factor out keep-alive barrier from usual pre-barrier implementations.

*** 30,42 **** #include "prims/jvmtiExport.hpp" #include "runtime/jniHandles.hpp" #include "runtime/mutexLocker.hpp" #include "runtime/thread.inline.hpp" #include "utilities/align.hpp" - #if INCLUDE_ALL_GCS - #include "gc/g1/g1SATBCardTableModRefBS.hpp" - #endif JNIHandleBlock* JNIHandles::_global_handles = NULL; JNIHandleBlock* JNIHandles::_weak_global_handles = NULL; oop JNIHandles::_deleted_handle = NULL; --- 30,39 ----
*** 115,128 **** oop JNIHandles::resolve_jweak(jweak handle) { assert(is_jweak(handle), "precondition"); oop result = jweak_ref(handle); result = guard_value<external_guard>(result); #if INCLUDE_ALL_GCS ! if (result != NULL && (UseG1GC || (UseShenandoahGC && ShenandoahSATBBarrier))) { ! G1SATBCardTableModRefBS::enqueue(result); ! } ! #endif // INCLUDE_ALL_GCS return result; } template oop JNIHandles::resolve_jweak<true>(jweak); template oop JNIHandles::resolve_jweak<false>(jweak); --- 112,123 ---- oop JNIHandles::resolve_jweak(jweak handle) { assert(is_jweak(handle), "precondition"); oop result = jweak_ref(handle); result = guard_value<external_guard>(result); #if INCLUDE_ALL_GCS ! oopDesc::bs()->keep_alive_barrier(result); ! #endif return result; } template oop JNIHandles::resolve_jweak<true>(jweak); template oop JNIHandles::resolve_jweak<false>(jweak);
< prev index next >