< prev index next >

src/hotspot/share/gc/cms/cmsHeap.hpp

Print this page
rev 47864 : 8191564: Refactor GC related servicability code into GC specific subclasses


  81   void safepoint_synchronize_end();
  82 
  83   // If "young_gen_as_roots" is false, younger generations are
  84   // not scanned as roots; in this case, the caller must be arranging to
  85   // scan the younger generations itself.  (For example, a generation might
  86   // explicitly mark reachable objects in younger generations, to avoid
  87   // excess storage retention.)
  88   void cms_process_roots(StrongRootsScope* scope,
  89                          bool young_gen_as_roots,
  90                          ScanningOption so,
  91                          bool only_strong_roots,
  92                          OopsInGenClosure* root_closure,
  93                          CLDClosure* cld_closure);
  94 
  95 private:
  96   WorkGang* _workers;
  97 
  98   virtual void gc_prologue(bool full);
  99   virtual void gc_epilogue(bool full);
 100 


 101   // Accessor for memory state verification support
 102   NOT_PRODUCT(
 103     virtual size_t skip_header_HeapWords() { return CMSCollector::skip_header_HeapWords(); }
 104   )
 105 
 106   // Returns success or failure.
 107   bool create_cms_collector();
 108 
 109   // In support of ExplicitGCInvokesConcurrent functionality
 110   bool should_do_concurrent_full_gc(GCCause::Cause cause);
 111 
 112   void collect_mostly_concurrent(GCCause::Cause cause);
 113 };
 114 
 115 #endif // SHARE_VM_GC_CMS_CMSHEAP_HPP


  81   void safepoint_synchronize_end();
  82 
  83   // If "young_gen_as_roots" is false, younger generations are
  84   // not scanned as roots; in this case, the caller must be arranging to
  85   // scan the younger generations itself.  (For example, a generation might
  86   // explicitly mark reachable objects in younger generations, to avoid
  87   // excess storage retention.)
  88   void cms_process_roots(StrongRootsScope* scope,
  89                          bool young_gen_as_roots,
  90                          ScanningOption so,
  91                          bool only_strong_roots,
  92                          OopsInGenClosure* root_closure,
  93                          CLDClosure* cld_closure);
  94 
  95 private:
  96   WorkGang* _workers;
  97 
  98   virtual void gc_prologue(bool full);
  99   virtual void gc_epilogue(bool full);
 100 
 101   virtual GCServicabilitySupport* create_servicability_support();
 102 
 103   // Accessor for memory state verification support
 104   NOT_PRODUCT(
 105     virtual size_t skip_header_HeapWords() { return CMSCollector::skip_header_HeapWords(); }
 106   )
 107 
 108   // Returns success or failure.
 109   bool create_cms_collector();
 110 
 111   // In support of ExplicitGCInvokesConcurrent functionality
 112   bool should_do_concurrent_full_gc(GCCause::Cause cause);
 113 
 114   void collect_mostly_concurrent(GCCause::Cause cause);
 115 };
 116 
 117 #endif // SHARE_VM_GC_CMS_CMSHEAP_HPP
< prev index next >