Mercurial > hg > truffle
diff src/share/vm/prims/unsafe.cpp @ 12356:359f7e70ae7f
Reduce HotSpot diff and fix previous merge
author | Gilles Duboscq <duboscq@ssw.jku.at> |
---|---|
date | Fri, 11 Oct 2013 15:41:33 +0200 |
parents | cefad50507d8 |
children | 39308acea2f7 |
line wrap: on
line diff
--- a/src/share/vm/prims/unsafe.cpp Fri Oct 11 10:38:03 2013 +0200 +++ b/src/share/vm/prims/unsafe.cpp Fri Oct 11 15:41:33 2013 +0200 @@ -169,29 +169,19 @@ OrderAccess::release_store_fence((volatile type_name*)index_oop_from_field_offset_long(p, offset), x); // Macros for oops that check UseCompressedOops -#ifndef GRAAL -#define GET_OOP_FIELD(obj, offset, v) \ - oop p = JNIHandles::resolve(obj); \ - oop v; \ - if (UseCompressedOops) { \ - narrowOop n = *(narrowOop*)index_oop_from_field_offset_long(p, offset); \ - v = oopDesc::decode_heap_oop(n); \ - } else { \ - v = *(oop*)index_oop_from_field_offset_long(p, offset); \ - } -#else + #define GET_OOP_FIELD(obj, offset, v) \ - oop p = JNIHandles::resolve(obj); \ - oop v; \ - /* Uncompression is not performed to unsafeAccess with null object. - * This concerns accesses to the metaspace such as the classMirrorOffset which is not compressed.*/ \ - if (UseCompressedOops && p != NULL && offset >= oopDesc::header_size()) { \ - narrowOop n = *(narrowOop*)index_oop_from_field_offset_long(p, offset); \ - v = oopDesc::decode_heap_oop(n); \ - } else { \ - v = *(oop*)index_oop_from_field_offset_long(p, offset); \ - } -#endif + oop p = JNIHandles::resolve(obj); \ + oop v; \ + /* Uncompression is not performed to unsafeAccess with null object. \ + * This concerns accesses to the metaspace such as the classMirrorOffset in Graal which is not compressed.*/ \ + if (UseCompressedOops GRAAL_ONLY(&& p != NULL && offset >= oopDesc::header_size())) { \ + narrowOop n = *(narrowOop*)index_oop_from_field_offset_long(p, offset); \ + v = oopDesc::decode_heap_oop(n); \ + } else { \ + v = *(oop*)index_oop_from_field_offset_long(p, offset); \ + } + // Get/SetObject must be special-cased, since it works with handles.