< prev index next >

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

Print this page
rev 48000 : [mq]: open.patch
rev 48001 : [mq]: 8191564-new.patch


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


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