comparison src/share/vm/prims/unsafe.cpp @ 12355:cefad50507d8

Merge with hs25-b53
author Gilles Duboscq <duboscq@ssw.jku.at>
date Fri, 11 Oct 2013 10:38:03 +0200
parents 836a62f43af9 190899198332
children 359f7e70ae7f
comparison
equal deleted inserted replaced
12058:ccb4f2af2319 12355:cefad50507d8
302 oop p = JNIHandles::resolve(obj); 302 oop p = JNIHandles::resolve(obj);
303 void* addr = index_oop_from_field_offset_long(p, offset); 303 void* addr = index_oop_from_field_offset_long(p, offset);
304 volatile oop v; 304 volatile oop v;
305 if (UseCompressedOops) { 305 if (UseCompressedOops) {
306 volatile narrowOop n = *(volatile narrowOop*) addr; 306 volatile narrowOop n = *(volatile narrowOop*) addr;
307 v = oopDesc::decode_heap_oop(n); 307 (void)const_cast<oop&>(v = oopDesc::decode_heap_oop(n));
308 } else { 308 } else {
309 v = *(volatile oop*) addr; 309 (void)const_cast<oop&>(v = *(volatile oop*) addr);
310 } 310 }
311 OrderAccess::acquire(); 311 OrderAccess::acquire();
312 return JNIHandles::make_local(env, v); 312 return JNIHandles::make_local(env, v);
313 UNSAFE_END 313 UNSAFE_END
314 314
1232 HOTSPOT_THREAD_PARK_END( 1232 HOTSPOT_THREAD_PARK_END(
1233 (uintptr_t) thread->parker()); 1233 (uintptr_t) thread->parker());
1234 #endif /* USDT2 */ 1234 #endif /* USDT2 */
1235 if (event.should_commit()) { 1235 if (event.should_commit()) {
1236 oop obj = thread->current_park_blocker(); 1236 oop obj = thread->current_park_blocker();
1237 event.set_klass(obj ? obj->klass() : NULL); 1237 event.set_klass((obj != NULL) ? obj->klass() : NULL);
1238 event.set_timeout(time); 1238 event.set_timeout(time);
1239 event.set_address(obj ? (TYPE_ADDRESS) (uintptr_t) obj : 0); 1239 event.set_address((obj != NULL) ? (TYPE_ADDRESS) cast_from_oop<uintptr_t>(obj) : 0);
1240 event.commit(); 1240 event.commit();
1241 } 1241 }
1242 UNSAFE_END 1242 UNSAFE_END
1243 1243
1244 UNSAFE_ENTRY(void, Unsafe_Unpark(JNIEnv *env, jobject unsafe, jobject jthread)) 1244 UNSAFE_ENTRY(void, Unsafe_Unpark(JNIEnv *env, jobject unsafe, jobject jthread))