src/hotspot/share/gc/g1/g1CollectedHeap.hpp
changeset 51497 ec014e5694ec
parent 51494 1906adbef2dc
child 51625 c265860d5d45
equal deleted inserted replaced
51496:bf6b66fa8bdf 51497:ec014e5694ec
    49 #include "gc/shared/gcHeapSummary.hpp"
    49 #include "gc/shared/gcHeapSummary.hpp"
    50 #include "gc/shared/plab.hpp"
    50 #include "gc/shared/plab.hpp"
    51 #include "gc/shared/preservedMarks.hpp"
    51 #include "gc/shared/preservedMarks.hpp"
    52 #include "gc/shared/softRefPolicy.hpp"
    52 #include "gc/shared/softRefPolicy.hpp"
    53 #include "memory/memRegion.hpp"
    53 #include "memory/memRegion.hpp"
    54 #include "services/memoryManager.hpp"
       
    55 #include "utilities/stack.hpp"
    54 #include "utilities/stack.hpp"
    56 
    55 
    57 // A "G1CollectedHeap" is an implementation of a java heap for HotSpot.
    56 // A "G1CollectedHeap" is an implementation of a java heap for HotSpot.
    58 // It uses the "Garbage First" heap organization and algorithm, which
    57 // It uses the "Garbage First" heap organization and algorithm, which
    59 // may combine concurrent marking with parallel, incremental compaction of
    58 // may combine concurrent marking with parallel, incremental compaction of
    65 class GenerationSpec;
    64 class GenerationSpec;
    66 class G1ParScanThreadState;
    65 class G1ParScanThreadState;
    67 class G1ParScanThreadStateSet;
    66 class G1ParScanThreadStateSet;
    68 class G1ParScanThreadState;
    67 class G1ParScanThreadState;
    69 class MemoryPool;
    68 class MemoryPool;
       
    69 class MemoryManager;
    70 class ObjectClosure;
    70 class ObjectClosure;
    71 class SpaceClosure;
    71 class SpaceClosure;
    72 class CompactibleSpaceClosure;
    72 class CompactibleSpaceClosure;
    73 class Space;
    73 class Space;
    74 class G1CollectionSet;
    74 class G1CollectionSet;
   158   G1CollectorPolicy* _collector_policy;
   158   G1CollectorPolicy* _collector_policy;
   159   G1CardTable* _card_table;
   159   G1CardTable* _card_table;
   160 
   160 
   161   SoftRefPolicy      _soft_ref_policy;
   161   SoftRefPolicy      _soft_ref_policy;
   162 
   162 
   163   GCMemoryManager _memory_manager;
       
   164   GCMemoryManager _full_gc_memory_manager;
       
   165 
       
   166   MemoryPool* _eden_pool;
       
   167   MemoryPool* _survivor_pool;
       
   168   MemoryPool* _old_pool;
       
   169 
       
   170   static size_t _humongous_object_threshold_in_words;
   163   static size_t _humongous_object_threshold_in_words;
   171 
   164 
   172   // These sets keep track of old, archive and humongous regions respectively.
   165   // These sets keep track of old, archive and humongous regions respectively.
   173   HeapRegionSet _old_set;
   166   HeapRegionSet _old_set;
   174   HeapRegionSet _archive_set;
   167   HeapRegionSet _archive_set;
   175   HeapRegionSet _humongous_set;
   168   HeapRegionSet _humongous_set;
   176 
       
   177   virtual void initialize_serviceability();
       
   178 
   169 
   179   void eagerly_reclaim_humongous_regions();
   170   void eagerly_reclaim_humongous_regions();
   180   // Start a new incremental collection set for the next pause.
   171   // Start a new incremental collection set for the next pause.
   181   void start_new_collection_set();
   172   void start_new_collection_set();
   182 
   173 
   967 
   958 
   968   virtual CollectorPolicy* collector_policy() const;
   959   virtual CollectorPolicy* collector_policy() const;
   969 
   960 
   970   virtual SoftRefPolicy* soft_ref_policy();
   961   virtual SoftRefPolicy* soft_ref_policy();
   971 
   962 
       
   963   virtual void initialize_serviceability();
   972   virtual GrowableArray<GCMemoryManager*> memory_managers();
   964   virtual GrowableArray<GCMemoryManager*> memory_managers();
   973   virtual GrowableArray<MemoryPool*> memory_pools();
   965   virtual GrowableArray<MemoryPool*> memory_pools();
   974 
   966 
   975   // The rem set and barrier set.
   967   // The rem set and barrier set.
   976   G1RemSet* g1_rem_set() const { return _g1_rem_set; }
   968   G1RemSet* g1_rem_set() const { return _g1_rem_set; }