comparison src/share/vm/prims/unsafe.cpp @ 12316:190899198332

7195622: CheckUnhandledOops has limited usefulness now Summary: Enable CHECK_UNHANDLED_OOPS in fastdebug builds across all supported platforms. Reviewed-by: coleenp, hseigel, dholmes, stefank, twisti, ihse, rdurbin Contributed-by: lois.foltan@oracle.com
author hseigel
date Thu, 26 Sep 2013 10:25:02 -0400
parents f2110083203d
children cefad50507d8 4f6bf7dd3f52 c6d7e7406136
comparison
equal deleted inserted replaced
12315:c1fbf21c7397 12316:190899198332
290 oop p = JNIHandles::resolve(obj); 290 oop p = JNIHandles::resolve(obj);
291 void* addr = index_oop_from_field_offset_long(p, offset); 291 void* addr = index_oop_from_field_offset_long(p, offset);
292 volatile oop v; 292 volatile oop v;
293 if (UseCompressedOops) { 293 if (UseCompressedOops) {
294 volatile narrowOop n = *(volatile narrowOop*) addr; 294 volatile narrowOop n = *(volatile narrowOop*) addr;
295 v = oopDesc::decode_heap_oop(n); 295 (void)const_cast<oop&>(v = oopDesc::decode_heap_oop(n));
296 } else { 296 } else {
297 v = *(volatile oop*) addr; 297 (void)const_cast<oop&>(v = *(volatile oop*) addr);
298 } 298 }
299 OrderAccess::acquire(); 299 OrderAccess::acquire();
300 return JNIHandles::make_local(env, v); 300 return JNIHandles::make_local(env, v);
301 UNSAFE_END 301 UNSAFE_END
302 302
1220 HOTSPOT_THREAD_PARK_END( 1220 HOTSPOT_THREAD_PARK_END(
1221 (uintptr_t) thread->parker()); 1221 (uintptr_t) thread->parker());
1222 #endif /* USDT2 */ 1222 #endif /* USDT2 */
1223 if (event.should_commit()) { 1223 if (event.should_commit()) {
1224 oop obj = thread->current_park_blocker(); 1224 oop obj = thread->current_park_blocker();
1225 event.set_klass(obj ? obj->klass() : NULL); 1225 event.set_klass((obj != NULL) ? obj->klass() : NULL);
1226 event.set_timeout(time); 1226 event.set_timeout(time);
1227 event.set_address(obj ? (TYPE_ADDRESS) (uintptr_t) obj : 0); 1227 event.set_address((obj != NULL) ? (TYPE_ADDRESS) cast_from_oop<uintptr_t>(obj) : 0);
1228 event.commit(); 1228 event.commit();
1229 } 1229 }
1230 UNSAFE_END 1230 UNSAFE_END
1231 1231
1232 UNSAFE_ENTRY(void, Unsafe_Unpark(JNIEnv *env, jobject unsafe, jobject jthread)) 1232 UNSAFE_ENTRY(void, Unsafe_Unpark(JNIEnv *env, jobject unsafe, jobject jthread))