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.