--- a/hotspot/src/share/vm/prims/unsafe.cpp Wed Sep 25 17:47:51 2013 +0200
+++ b/hotspot/src/share/vm/prims/unsafe.cpp Thu Sep 26 10:25:02 2013 -0400
@@ -292,9 +292,9 @@
volatile oop v;
if (UseCompressedOops) {
volatile narrowOop n = *(volatile narrowOop*) addr;
- v = oopDesc::decode_heap_oop(n);
+ (void)const_cast<oop&>(v = oopDesc::decode_heap_oop(n));
} else {
- v = *(volatile oop*) addr;
+ (void)const_cast<oop&>(v = *(volatile oop*) addr);
}
OrderAccess::acquire();
return JNIHandles::make_local(env, v);
@@ -1222,9 +1222,9 @@
#endif /* USDT2 */
if (event.should_commit()) {
oop obj = thread->current_park_blocker();
- event.set_klass(obj ? obj->klass() : NULL);
+ event.set_klass((obj != NULL) ? obj->klass() : NULL);
event.set_timeout(time);
- event.set_address(obj ? (TYPE_ADDRESS) (uintptr_t) obj : 0);
+ event.set_address((obj != NULL) ? (TYPE_ADDRESS) cast_from_oop<uintptr_t>(obj) : 0);
event.commit();
}
UNSAFE_END