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; |