< prev index next >

src/share/vm/gc/shenandoah/shenandoahOopClosures.hpp

Print this page
rev 13130 : Interleave partial GCs with concurrent GCs.

@@ -28,11 +28,10 @@
 
 typedef BufferedOverflowTaskQueue<ObjArrayChunkedTask, mtGC> ShenandoahBufferedOverflowTaskQueue;
 typedef Padded<ShenandoahBufferedOverflowTaskQueue> SCMObjToScanQueue;
 
 class ShenandoahHeap;
-class ShenandoahConnectionMatrix;
 
 enum UpdateRefsMode {
   NONE,       // No reference updating
   RESOLVE,    // Only a read-barrier (no reference updating)
   SIMPLE,     // Reference updating using simple store

@@ -41,25 +40,24 @@
 
 class ShenandoahMarkRefsSuperClosure : public MetadataAwareOopClosure {
 private:
   SCMObjToScanQueue* _queue;
   ShenandoahHeap* _heap;
-  ShenandoahConnectionMatrix* _conn_matrix;
 public:
   ShenandoahMarkRefsSuperClosure(SCMObjToScanQueue* q, ReferenceProcessor* rp);
 
-  template <class T, UpdateRefsMode UPDATE_MODE, bool UPDATE_MATRIX>
+  template <class T, UpdateRefsMode UPDATE_MODE>
   void work(T *p);
 };
 
 class ShenandoahMarkUpdateRefsClosure : public ShenandoahMarkRefsSuperClosure {
 public:
   ShenandoahMarkUpdateRefsClosure(SCMObjToScanQueue* q, ReferenceProcessor* rp) :
           ShenandoahMarkRefsSuperClosure(q, rp) {};
 
   template <class T>
-  inline void do_oop_nv(T* p)       { work<T, CONCURRENT, false>(p); }
+  inline void do_oop_nv(T* p)       { work<T, CONCURRENT>(p); }
   virtual void do_oop(narrowOop* p) { do_oop_nv(p); }
   virtual void do_oop(oop* p)       { do_oop_nv(p); }
   inline bool do_metadata_nv()      { return false; }
   virtual bool do_metadata()        { return false; }
 };

@@ -68,11 +66,11 @@
 public:
   ShenandoahMarkUpdateRefsMetadataClosure(SCMObjToScanQueue* q, ReferenceProcessor* rp) :
           ShenandoahMarkRefsSuperClosure(q, rp) {};
 
   template <class T>
-  inline void do_oop_nv(T* p)       { work<T, CONCURRENT, false>(p); }
+  inline void do_oop_nv(T* p)       { work<T, CONCURRENT>(p); }
   virtual void do_oop(narrowOop* p) { do_oop_nv(p); }
   virtual void do_oop(oop* p)       { do_oop_nv(p); }
   inline bool do_metadata_nv()      { return true; }
   virtual bool do_metadata()        { return true; }
 };

@@ -81,11 +79,11 @@
 public:
   ShenandoahMarkRefsClosure(SCMObjToScanQueue* q, ReferenceProcessor* rp) :
     ShenandoahMarkRefsSuperClosure(q, rp) {};
 
   template <class T>
-  inline void do_oop_nv(T* p)       { work<T, NONE, false>(p); }
+  inline void do_oop_nv(T* p)       { work<T, NONE>(p); }
   virtual void do_oop(narrowOop* p) { do_oop_nv(p); }
   virtual void do_oop(oop* p)       { do_oop_nv(p); }
   inline bool do_metadata_nv()      { return false; }
   virtual bool do_metadata()        { return false; }
 };

@@ -94,11 +92,11 @@
 public:
   ShenandoahMarkResolveRefsClosure(SCMObjToScanQueue* q, ReferenceProcessor* rp) :
     ShenandoahMarkRefsSuperClosure(q, rp) {};
 
   template <class T>
-  inline void do_oop_nv(T* p)       { work<T, RESOLVE, false>(p); }
+  inline void do_oop_nv(T* p)       { work<T, RESOLVE>(p); }
   virtual void do_oop(narrowOop* p) { do_oop_nv(p); }
   virtual void do_oop(oop* p)       { do_oop_nv(p); }
   inline bool do_metadata_nv()      { return false; }
   virtual bool do_metadata()        { return false; }
 };

@@ -107,63 +105,11 @@
 public:
   ShenandoahMarkRefsMetadataClosure(SCMObjToScanQueue* q, ReferenceProcessor* rp) :
     ShenandoahMarkRefsSuperClosure(q, rp) {};
 
   template <class T>
-  inline void do_oop_nv(T* p)       { work<T, NONE, false>(p); }
-  virtual void do_oop(narrowOop* p) { do_oop_nv(p); }
-  virtual void do_oop(oop* p)       { do_oop_nv(p); }
-  inline bool do_metadata_nv()      { return true; }
-  virtual bool do_metadata()        { return true; }
-};
-
-class ShenandoahMarkUpdateRefsMatrixClosure : public ShenandoahMarkRefsSuperClosure {
-public:
-  ShenandoahMarkUpdateRefsMatrixClosure(SCMObjToScanQueue* q, ReferenceProcessor* rp) :
-          ShenandoahMarkRefsSuperClosure(q, rp) {};
-
-  template <class T>
-  inline void do_oop_nv(T* p)       { work<T, CONCURRENT, true>(p); }
-  virtual void do_oop(narrowOop* p) { do_oop_nv(p); }
-  virtual void do_oop(oop* p)       { do_oop_nv(p); }
-  inline bool do_metadata_nv()      { return false; }
-  virtual bool do_metadata()        { return false; }
-};
-
-class ShenandoahMarkUpdateRefsMetadataMatrixClosure : public ShenandoahMarkRefsSuperClosure {
-public:
-  ShenandoahMarkUpdateRefsMetadataMatrixClosure(SCMObjToScanQueue* q, ReferenceProcessor* rp) :
-          ShenandoahMarkRefsSuperClosure(q, rp) {};
-
-  template <class T>
-  inline void do_oop_nv(T* p)       { work<T, CONCURRENT, true>(p); }
-  virtual void do_oop(narrowOop* p) { do_oop_nv(p); }
-  virtual void do_oop(oop* p)       { do_oop_nv(p); }
-  inline bool do_metadata_nv()      { return true; }
-  virtual bool do_metadata()        { return true; }
-};
-
-class ShenandoahMarkRefsMatrixClosure : public ShenandoahMarkRefsSuperClosure {
-public:
-  ShenandoahMarkRefsMatrixClosure(SCMObjToScanQueue* q, ReferenceProcessor* rp) :
-    ShenandoahMarkRefsSuperClosure(q, rp) {};
-
-  template <class T>
-  inline void do_oop_nv(T* p)       { work<T, NONE, true>(p); }
-  virtual void do_oop(narrowOop* p) { do_oop_nv(p); }
-  virtual void do_oop(oop* p)       { do_oop_nv(p); }
-  inline bool do_metadata_nv()      { return false; }
-  virtual bool do_metadata()        { return false; }
-};
-
-class ShenandoahMarkRefsMetadataMatrixClosure : public ShenandoahMarkRefsSuperClosure {
-public:
-  ShenandoahMarkRefsMetadataMatrixClosure(SCMObjToScanQueue* q, ReferenceProcessor* rp) :
-    ShenandoahMarkRefsSuperClosure(q, rp) {};
-
-  template <class T>
-  inline void do_oop_nv(T* p)       { work<T, NONE, true>(p); }
+  inline void do_oop_nv(T* p)       { work<T, NONE>(p); }
   virtual void do_oop(narrowOop* p) { do_oop_nv(p); }
   virtual void do_oop(oop* p)       { do_oop_nv(p); }
   inline bool do_metadata_nv()      { return true; }
   virtual bool do_metadata()        { return true; }
 };
< prev index next >