src/hotspot/share/gc/g1/g1BlockOffsetTable.hpp
changeset 55438 0692b67f5462
parent 53244 9807daeb47c4
child 58980 47c20fc6a517
--- a/src/hotspot/share/gc/g1/g1BlockOffsetTable.hpp	Wed Jun 19 08:42:15 2019 -0400
+++ b/src/hotspot/share/gc/g1/g1BlockOffsetTable.hpp	Tue Jun 18 16:15:15 2019 +0100
@@ -52,7 +52,7 @@
 
   // Array for keeping offsets for retrieving object start fast given an
   // address.
-  u_char* _offset_array;          // byte array keeping backwards offsets
+  volatile u_char* _offset_array;  // byte array keeping backwards offsets
 
   void check_offset(size_t offset, const char* msg) const {
     assert(offset <= BOTConstants::N_words,
@@ -64,10 +64,7 @@
   // For performance these have to devolve to array accesses in product builds.
   inline u_char offset_array(size_t index) const;
 
-  void set_offset_array_raw(size_t index, u_char offset) {
-    _offset_array[index] = offset;
-  }
-
+  inline void set_offset_array_raw(size_t index, u_char offset);
   inline void set_offset_array(size_t index, u_char offset);
 
   inline void set_offset_array(size_t index, HeapWord* high, HeapWord* low);