hotspot/src/share/vm/gc_implementation/g1/g1CollectedHeap.hpp
changeset 30154 39cd4e2ccf1c
parent 30152 5fe1c8494b49
child 30158 bd6094906ef8
equal deleted inserted replaced
30153:596ed88949ad 30154:39cd4e2ccf1c
    38 #include "gc_implementation/g1/g1YCTypes.hpp"
    38 #include "gc_implementation/g1/g1YCTypes.hpp"
    39 #include "gc_implementation/g1/heapRegionManager.hpp"
    39 #include "gc_implementation/g1/heapRegionManager.hpp"
    40 #include "gc_implementation/g1/heapRegionSet.hpp"
    40 #include "gc_implementation/g1/heapRegionSet.hpp"
    41 #include "gc_implementation/shared/hSpaceCounters.hpp"
    41 #include "gc_implementation/shared/hSpaceCounters.hpp"
    42 #include "gc_implementation/shared/parGCAllocBuffer.hpp"
    42 #include "gc_implementation/shared/parGCAllocBuffer.hpp"
       
    43 #include "gc_interface/collectedHeap.hpp"
    43 #include "memory/barrierSet.hpp"
    44 #include "memory/barrierSet.hpp"
    44 #include "memory/memRegion.hpp"
    45 #include "memory/memRegion.hpp"
    45 #include "memory/sharedHeap.hpp"
       
    46 #include "utilities/stack.hpp"
    46 #include "utilities/stack.hpp"
    47 
    47 
    48 // A "G1CollectedHeap" is an implementation of a java heap for HotSpot.
    48 // A "G1CollectedHeap" is an implementation of a java heap for HotSpot.
    49 // It uses the "Garbage First" heap organization and algorithm, which
    49 // It uses the "Garbage First" heap organization and algorithm, which
    50 // may combine concurrent marking with parallel, incremental compaction of
    50 // may combine concurrent marking with parallel, incremental compaction of
   176   void reset_from_card_cache(uint start_idx, size_t num_regions);
   176   void reset_from_card_cache(uint start_idx, size_t num_regions);
   177  public:
   177  public:
   178   virtual void on_commit(uint start_idx, size_t num_regions, bool zero_filled);
   178   virtual void on_commit(uint start_idx, size_t num_regions, bool zero_filled);
   179 };
   179 };
   180 
   180 
   181 class G1CollectedHeap : public SharedHeap {
   181 class G1CollectedHeap : public CollectedHeap {
   182   friend class VM_CollectForMetadataAllocation;
   182   friend class VM_CollectForMetadataAllocation;
   183   friend class VM_G1CollectForAllocation;
   183   friend class VM_G1CollectForAllocation;
   184   friend class VM_G1CollectFull;
   184   friend class VM_G1CollectFull;
   185   friend class VM_G1IncCollectionPause;
   185   friend class VM_G1IncCollectionPause;
   186   friend class VMStructs;
   186   friend class VMStructs;
  1009 
  1009 
  1010   // Initialize weak reference processing.
  1010   // Initialize weak reference processing.
  1011   void ref_processing_init();
  1011   void ref_processing_init();
  1012 
  1012 
  1013   // Explicitly import set_par_threads into this scope
  1013   // Explicitly import set_par_threads into this scope
  1014   using SharedHeap::set_par_threads;
  1014   using CollectedHeap::set_par_threads;
  1015   // Set _n_par_threads according to a policy TBD.
  1015   // Set _n_par_threads according to a policy TBD.
  1016   void set_par_threads();
  1016   void set_par_threads();
  1017 
  1017 
  1018   virtual Name kind() const {
  1018   virtual Name kind() const {
  1019     return CollectedHeap::G1CollectedHeap;
  1019     return CollectedHeap::G1CollectedHeap;