Mercurial > hg > truffle
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)) |