diff src/share/vm/gc_implementation/g1/g1OopClosures.hpp @ 3983:811ec3d0833b

7097053: G1: assert(da ? referent->is_oop() : referent->is_oop_or_null()) failed: referenceProcessor.cpp:1054 Summary: During remembered set scanning, the reference processor could discover a reference object whose referent was in the process of being copied and so may not be completely initialized. Do not perform reference discovery during remembered set scanning. Reviewed-by: tonyp, ysr
author johnc
date Mon, 03 Oct 2011 12:49:53 -0700
parents 4dfb2df418f2
children 2ace1c4ee8da
line wrap: on
line diff
--- a/src/share/vm/gc_implementation/g1/g1OopClosures.hpp	Wed Sep 28 10:36:31 2011 -0700
+++ b/src/share/vm/gc_implementation/g1/g1OopClosures.hpp	Mon Oct 03 12:49:53 2011 -0700
@@ -61,13 +61,8 @@
 class G1ParPushHeapRSClosure : public G1ParClosureSuper {
 public:
   G1ParPushHeapRSClosure(G1CollectedHeap* g1,
-                         G1ParScanThreadState* par_scan_state,
-                         ReferenceProcessor* rp) :
-    G1ParClosureSuper(g1, par_scan_state)
-  {
-    assert(_ref_processor == NULL, "sanity");
-    _ref_processor = rp;
-  }
+                         G1ParScanThreadState* par_scan_state):
+    G1ParClosureSuper(g1, par_scan_state) { }
 
   template <class T> void do_oop_nv(T* p);
   virtual void do_oop(oop* p)          { do_oop_nv(p); }
@@ -190,13 +185,8 @@
 public:
   FilterIntoCSClosure(  DirtyCardToOopClosure* dcto_cl,
                         G1CollectedHeap* g1,
-                        OopClosure* oc,
-                        ReferenceProcessor* rp) :
-    _dcto_cl(dcto_cl), _g1(g1), _oc(oc)
-  {
-    assert(_ref_processor == NULL, "sanity");
-    _ref_processor = rp;
-  }
+                        OopClosure* oc) :
+    _dcto_cl(dcto_cl), _g1(g1), _oc(oc) { }
 
   template <class T> void do_oop_nv(T* p);
   virtual void do_oop(oop* p)        { do_oop_nv(p); }