equal
deleted
inserted
replaced
76 class G1CollectionSet; |
76 class G1CollectionSet; |
77 class G1Policy; |
77 class G1Policy; |
78 class G1HotCardCache; |
78 class G1HotCardCache; |
79 class G1RemSet; |
79 class G1RemSet; |
80 class G1YoungRemSetSamplingThread; |
80 class G1YoungRemSetSamplingThread; |
81 class HeapRegionRemSetIterator; |
|
82 class G1ConcurrentMark; |
81 class G1ConcurrentMark; |
83 class G1ConcurrentMarkThread; |
82 class G1ConcurrentMarkThread; |
84 class G1ConcurrentRefine; |
83 class G1ConcurrentRefine; |
85 class GenerationCounters; |
84 class GenerationCounters; |
86 class STWGCTimer; |
85 class STWGCTimer; |
755 private: |
754 private: |
756 // Evacuate the next set of optional regions. |
755 // Evacuate the next set of optional regions. |
757 void evacuate_next_optional_regions(G1ParScanThreadStateSet* per_thread_states); |
756 void evacuate_next_optional_regions(G1ParScanThreadStateSet* per_thread_states); |
758 |
757 |
759 public: |
758 public: |
760 void pre_evacuate_collection_set(G1EvacuationInfo& evacuation_info); |
759 void pre_evacuate_collection_set(G1EvacuationInfo& evacuation_info, G1ParScanThreadStateSet* pss); |
761 void post_evacuate_collection_set(G1EvacuationInfo& evacuation_info, G1ParScanThreadStateSet* pss); |
760 void post_evacuate_collection_set(G1EvacuationInfo& evacuation_info, G1ParScanThreadStateSet* pss); |
762 |
761 |
763 void expand_heap_after_young_collection(); |
762 void expand_heap_after_young_collection(); |
764 // Update object copying statistics. |
763 // Update object copying statistics. |
765 void record_obj_copy_mem_stats(); |
764 void record_obj_copy_mem_stats(); |
1113 // corresponding region is in the collection set or not. |
1112 // corresponding region is in the collection set or not. |
1114 G1HeapRegionAttrBiasedMappedArray _region_attr; |
1113 G1HeapRegionAttrBiasedMappedArray _region_attr; |
1115 |
1114 |
1116 public: |
1115 public: |
1117 |
1116 |
1118 inline G1HeapRegionAttr region_attr(const void* obj); |
1117 inline G1HeapRegionAttr region_attr(const void* obj) const; |
|
1118 inline G1HeapRegionAttr region_attr(uint idx) const; |
1119 |
1119 |
1120 // Return "TRUE" iff the given object address is in the reserved |
1120 // Return "TRUE" iff the given object address is in the reserved |
1121 // region of g1. |
1121 // region of g1. |
1122 bool is_in_g1_reserved(const void* p) const { |
1122 bool is_in_g1_reserved(const void* p) const { |
1123 return _hrm->reserved().contains(p); |
1123 return _hrm->reserved().contains(p); |
1180 |
1180 |
1181 // Iterate over the regions in the current increment of the collection set. |
1181 // Iterate over the regions in the current increment of the collection set. |
1182 // Starts the iteration so that the start regions of a given worker id over the |
1182 // Starts the iteration so that the start regions of a given worker id over the |
1183 // set active_workers are evenly spread across the set of collection set regions |
1183 // set active_workers are evenly spread across the set of collection set regions |
1184 // to be iterated. |
1184 // to be iterated. |
1185 void collection_set_iterate_increment_from(HeapRegionClosure *blk, uint worker_id); |
1185 // The variant with the HeapRegionClaimer guarantees that the closure will be |
|
1186 // applied to a particular region exactly once. |
|
1187 void collection_set_iterate_increment_from(HeapRegionClosure *blk, uint worker_id) { |
|
1188 collection_set_iterate_increment_from(blk, NULL, worker_id); |
|
1189 } |
|
1190 void collection_set_iterate_increment_from(HeapRegionClosure *blk, HeapRegionClaimer* hr_claimer, uint worker_id); |
1186 |
1191 |
1187 // Returns the HeapRegion that contains addr. addr must not be NULL. |
1192 // Returns the HeapRegion that contains addr. addr must not be NULL. |
1188 template <class T> |
1193 template <class T> |
1189 inline HeapRegion* heap_region_containing(const T addr) const; |
1194 inline HeapRegion* heap_region_containing(const T addr) const; |
1190 |
1195 |