< prev index next >

src/hotspot/share/runtime/jniHandles.cpp

Print this page
rev 50534 : [mq]: rename_RootAccess

*** 107,117 **** assert(oopDesc::is_oop(obj()), "not an oop"); oop* ptr = global_handles()->allocate(); // Return NULL on allocation failure. if (ptr != NULL) { assert(*ptr == NULL, "invariant"); ! RootAccess<IN_CONCURRENT_ROOT>::oop_store(ptr, obj()); res = reinterpret_cast<jobject>(ptr); } else { report_handle_allocation_failure(alloc_failmode, "global"); } } else { --- 107,117 ---- assert(oopDesc::is_oop(obj()), "not an oop"); oop* ptr = global_handles()->allocate(); // Return NULL on allocation failure. if (ptr != NULL) { assert(*ptr == NULL, "invariant"); ! NativeAccess<IN_CONCURRENT_ROOT>::oop_store(ptr, obj()); res = reinterpret_cast<jobject>(ptr); } else { report_handle_allocation_failure(alloc_failmode, "global"); } } else {
*** 131,141 **** assert(oopDesc::is_oop(obj()), "not an oop"); oop* ptr = weak_global_handles()->allocate(); // Return NULL on allocation failure. if (ptr != NULL) { assert(*ptr == NULL, "invariant"); ! RootAccess<ON_PHANTOM_OOP_REF>::oop_store(ptr, obj()); char* tptr = reinterpret_cast<char*>(ptr) + weak_tag_value; res = reinterpret_cast<jobject>(tptr); } else { report_handle_allocation_failure(alloc_failmode, "weak global"); } --- 131,141 ---- assert(oopDesc::is_oop(obj()), "not an oop"); oop* ptr = weak_global_handles()->allocate(); // Return NULL on allocation failure. if (ptr != NULL) { assert(*ptr == NULL, "invariant"); ! NativeAccess<ON_PHANTOM_OOP_REF>::oop_store(ptr, obj()); char* tptr = reinterpret_cast<char*>(ptr) + weak_tag_value; res = reinterpret_cast<jobject>(tptr); } else { report_handle_allocation_failure(alloc_failmode, "weak global"); }
*** 158,193 **** } oop JNIHandles::resolve_jweak(jweak handle) { assert(handle != NULL, "precondition"); assert(is_jweak(handle), "precondition"); ! return RootAccess<ON_PHANTOM_OOP_REF>::oop_load(jweak_ptr(handle)); } bool JNIHandles::is_global_weak_cleared(jweak handle) { assert(handle != NULL, "precondition"); assert(is_jweak(handle), "not a weak handle"); oop* oop_ptr = jweak_ptr(handle); ! oop value = RootAccess<ON_PHANTOM_OOP_REF | AS_NO_KEEPALIVE>::oop_load(oop_ptr); return value == NULL; } void JNIHandles::destroy_global(jobject handle) { if (handle != NULL) { assert(!is_jweak(handle), "wrong method for detroying jweak"); oop* oop_ptr = jobject_ptr(handle); ! RootAccess<IN_CONCURRENT_ROOT>::oop_store(oop_ptr, (oop)NULL); global_handles()->release(oop_ptr); } } void JNIHandles::destroy_weak_global(jobject handle) { if (handle != NULL) { assert(is_jweak(handle), "JNI handle not jweak"); oop* oop_ptr = jweak_ptr(handle); ! RootAccess<ON_PHANTOM_OOP_REF>::oop_store(oop_ptr, (oop)NULL); weak_global_handles()->release(oop_ptr); } } --- 158,193 ---- } oop JNIHandles::resolve_jweak(jweak handle) { assert(handle != NULL, "precondition"); assert(is_jweak(handle), "precondition"); ! return NativeAccess<ON_PHANTOM_OOP_REF>::oop_load(jweak_ptr(handle)); } bool JNIHandles::is_global_weak_cleared(jweak handle) { assert(handle != NULL, "precondition"); assert(is_jweak(handle), "not a weak handle"); oop* oop_ptr = jweak_ptr(handle); ! oop value = NativeAccess<ON_PHANTOM_OOP_REF | AS_NO_KEEPALIVE>::oop_load(oop_ptr); return value == NULL; } void JNIHandles::destroy_global(jobject handle) { if (handle != NULL) { assert(!is_jweak(handle), "wrong method for detroying jweak"); oop* oop_ptr = jobject_ptr(handle); ! NativeAccess<IN_CONCURRENT_ROOT>::oop_store(oop_ptr, (oop)NULL); global_handles()->release(oop_ptr); } } void JNIHandles::destroy_weak_global(jobject handle) { if (handle != NULL) { assert(is_jweak(handle), "JNI handle not jweak"); oop* oop_ptr = jweak_ptr(handle); ! NativeAccess<ON_PHANTOM_OOP_REF>::oop_store(oop_ptr, (oop)NULL); weak_global_handles()->release(oop_ptr); } }
*** 515,533 **** } // Try last block if (_last->_top < block_size_in_oops) { oop* handle = &(_last->_handles)[_last->_top++]; ! RootAccess<AS_DEST_NOT_INITIALIZED>::oop_store(handle, obj); return (jobject) handle; } // Try free list if (_free_list != NULL) { oop* handle = _free_list; _free_list = (oop*) *_free_list; ! RootAccess<AS_DEST_NOT_INITIALIZED>::oop_store(handle, obj); return (jobject) handle; } // Check if unused block follow last if (_last->_next != NULL) { // update last and retry --- 515,533 ---- } // Try last block if (_last->_top < block_size_in_oops) { oop* handle = &(_last->_handles)[_last->_top++]; ! NativeAccess<AS_DEST_NOT_INITIALIZED>::oop_store(handle, obj); return (jobject) handle; } // Try free list if (_free_list != NULL) { oop* handle = _free_list; _free_list = (oop*) *_free_list; ! NativeAccess<AS_DEST_NOT_INITIALIZED>::oop_store(handle, obj); return (jobject) handle; } // Check if unused block follow last if (_last->_next != NULL) { // update last and retry
< prev index next >