src/share/vm/memory/referenceProcessor.hpp

Print this page
rev 5823 : 8031703: Missing post-barrier in ReferenceProcessor

@@ -97,10 +97,11 @@
   oop                _next;
   HeapWord*          _referent_addr;
   oop                _referent;
   OopClosure*        _keep_alive;
   BoolObjectClosure* _is_alive;
+  bool               _discovered_list_needs_barrier;
 
   DEBUG_ONLY(
   oop                _first_seen; // cyclic linked list check
   )
 

@@ -110,11 +111,12 @@
   )
 
 public:
   inline DiscoveredListIterator(DiscoveredList&    refs_list,
                                 OopClosure*        keep_alive,
-                                BoolObjectClosure* is_alive):
+                                BoolObjectClosure* is_alive,
+                                bool               discovered_list_needs_barrier):
     _refs_list(refs_list),
     _prev_next(refs_list.adr_head()),
     _prev(NULL),
     _ref(refs_list.head()),
 #ifdef ASSERT

@@ -124,11 +126,12 @@
     _processed(0),
     _removed(0),
 #endif
     _next(NULL),
     _keep_alive(keep_alive),
-    _is_alive(is_alive)
+    _is_alive(is_alive),
+    _discovered_list_needs_barrier(discovered_list_needs_barrier)
 { }
 
   // End Of List.
   inline bool has_next() const { return _ref != NULL; }