src/share/vm/gc_implementation/parNew/parOopClosures.hpp

Print this page
rev 7653 : 8068883: Remove disabling of warning "C4355: 'this' : used in base member initializer list"

@@ -44,15 +44,17 @@
   template <class T> void inline par_do_barrier(T* p);
   template <class T> void inline do_oop_work(T* p,
                                              bool gc_barrier,
                                              bool root_scan);
  public:
+  ParScanClosure() : OopsInKlassOrGenClosure(NULL) { }
   ParScanClosure(ParNewGeneration* g, ParScanThreadState* par_scan_state);
 };
 
 class ParScanWithBarrierClosure: public ParScanClosure {
  public:
+  ParScanWithBarrierClosure() {}
   ParScanWithBarrierClosure(ParNewGeneration* g,
                             ParScanThreadState* par_scan_state) :
     ParScanClosure(g, par_scan_state) {}
   virtual void do_oop(oop* p);
   virtual void do_oop(narrowOop* p);

@@ -60,10 +62,11 @@
   inline void do_oop_nv(narrowOop* p);
 };
 
 class ParScanWithoutBarrierClosure: public ParScanClosure {
  public:
+  ParScanWithoutBarrierClosure() {}
   ParScanWithoutBarrierClosure(ParNewGeneration* g,
                                ParScanThreadState* par_scan_state) :
     ParScanClosure(g, par_scan_state) {}
   virtual void do_oop(oop* p);
   virtual void do_oop(narrowOop* p);

@@ -71,19 +74,21 @@
   inline void do_oop_nv(narrowOop* p);
 };
 
 class ParRootScanWithBarrierTwoGensClosure: public ParScanClosure {
  public:
+  ParRootScanWithBarrierTwoGensClosure() {}
   ParRootScanWithBarrierTwoGensClosure(ParNewGeneration* g,
                                        ParScanThreadState* par_scan_state) :
     ParScanClosure(g, par_scan_state) {}
   virtual void do_oop(oop* p);
   virtual void do_oop(narrowOop* p);
 };
 
 class ParRootScanWithoutBarrierClosure: public ParScanClosure {
  public:
+  ParRootScanWithoutBarrierClosure() {}
   ParRootScanWithoutBarrierClosure(ParNewGeneration* g,
                                    ParScanThreadState* par_scan_state) :
     ParScanClosure(g, par_scan_state) {}
   virtual void do_oop(oop* p);
   virtual void do_oop(narrowOop* p);

@@ -92,10 +97,11 @@
 class ParScanWeakRefClosure: public ScanWeakRefClosure {
  protected:
   ParScanThreadState* _par_scan_state;
   template <class T> inline void do_oop_work(T* p);
  public:
+  ParScanWeakRefClosure() : ScanWeakRefClosure(NULL) {}
   ParScanWeakRefClosure(ParNewGeneration* g,
                         ParScanThreadState* par_scan_state);
   virtual void do_oop(oop* p);
   virtual void do_oop(narrowOop* p);
   inline void do_oop_nv(oop* p);

@@ -134,10 +140,11 @@
   ObjToScanQueueSet*  task_queues() { return _task_queues; }
 
   ParallelTaskTerminator* _terminator;
   ParallelTaskTerminator* terminator() { return _terminator; }
  public:
+  ParEvacuateFollowersClosure() {}
   ParEvacuateFollowersClosure(
     ParScanThreadState* par_scan_state_,
     ParScanWithoutBarrierClosure* to_space_closure_,
     ParScanWithBarrierClosure* old_gen_closure_,
     ParRootScanWithoutBarrierClosure* to_space_root_closure_,