141 inline void set_compaction_top(HeapRegion* r, HeapWord* value);
142 inline HeapWord* compaction_top(HeapRegion* r) const;
143
144 inline void set_has_compaction_targets();
145 inline bool has_compaction_targets() const;
146
147 inline void add_humongous_region(HeapRegion* hr);
148 inline GrowableArrayCHeap<HeapRegion*, mtGC>& humongous_compaction_regions();
149
150 uint truncate_parallel_cps();
151
152 inline void set_has_humongous();
153 inline bool has_humongous();
154
155 private:
156 void phase1_mark_live_objects();
157 void phase2_prepare_compaction();
158
159 void phase2a_determine_worklists();
160 bool phase2b_forward_oops();
161 void phase2c_prepare_serial_compaction();
162 void phase2d_prepare_humongous_compaction();
163
164 void phase3_adjust_pointers();
165 void phase4_do_compaction();
166 void phase5_reset_metadata();
167
168 void restore_marks();
169 void verify_after_marking();
170
171 void run_task(WorkerTask* task);
172 };
173
174
175 #endif // SHARE_GC_G1_G1FULLCOLLECTOR_HPP
|
141 inline void set_compaction_top(HeapRegion* r, HeapWord* value);
142 inline HeapWord* compaction_top(HeapRegion* r) const;
143
144 inline void set_has_compaction_targets();
145 inline bool has_compaction_targets() const;
146
147 inline void add_humongous_region(HeapRegion* hr);
148 inline GrowableArrayCHeap<HeapRegion*, mtGC>& humongous_compaction_regions();
149
150 uint truncate_parallel_cps();
151
152 inline void set_has_humongous();
153 inline bool has_humongous();
154
155 private:
156 void phase1_mark_live_objects();
157 void phase2_prepare_compaction();
158
159 void phase2a_determine_worklists();
160 bool phase2b_forward_oops();
161 template <bool ALT_FWD>
162 void phase2c_prepare_serial_compaction_impl();
163 void phase2c_prepare_serial_compaction();
164 template <bool ALT_FWD>
165 void phase2d_prepare_humongous_compaction_impl();
166 void phase2d_prepare_humongous_compaction();
167
168 void phase3_adjust_pointers();
169 void phase4_do_compaction();
170 void phase5_reset_metadata();
171
172 void restore_marks();
173 void verify_after_marking();
174
175 void run_task(WorkerTask* task);
176 };
177
178
179 #endif // SHARE_GC_G1_G1FULLCOLLECTOR_HPP
|