277 ShenandoahCollectorPolicy *shenandoahPolicy() { return _shenandoah_policy;}
278
279 inline ShenandoahHeapRegion* heap_region_containing(const void* addr) const;
280 inline size_t heap_region_index_containing(const void* addr) const;
281 inline bool requires_marking(const void* entry) const;
282 template <class T>
283 inline oop maybe_update_oop_ref(T* p);
284
285 void recycle_dirty_regions();
286
287 void start_concurrent_marking();
288 void stop_concurrent_marking();
289 inline bool concurrent_mark_in_progress();
290 static address concurrent_mark_in_progress_addr();
291
292 void prepare_for_concurrent_evacuation();
293 void evacuate_and_update_roots();
294
295 void do_partial_collection();
296
297 void concurrent_update_heap_references();
298 void prepare_update_refs();
299 void finish_update_refs();
300 void verify_update_refs();
301
302 private:
303 void set_evacuation_in_progress(bool in_progress);
304 public:
305 inline bool is_evacuation_in_progress();
306 void set_evacuation_in_progress_concurrently(bool in_progress);
307 void set_evacuation_in_progress_at_safepoint(bool in_progress);
308
309 void set_full_gc_in_progress(bool in_progress);
310 bool is_full_gc_in_progress() const;
311
312 void set_update_refs_in_progress(bool in_progress);
313 bool is_update_refs_in_progress() const;
314 static address update_refs_in_progress_addr();
315
316 inline bool need_update_refs() const;
|
277 ShenandoahCollectorPolicy *shenandoahPolicy() { return _shenandoah_policy;}
278
279 inline ShenandoahHeapRegion* heap_region_containing(const void* addr) const;
280 inline size_t heap_region_index_containing(const void* addr) const;
281 inline bool requires_marking(const void* entry) const;
282 template <class T>
283 inline oop maybe_update_oop_ref(T* p);
284
285 void recycle_dirty_regions();
286
287 void start_concurrent_marking();
288 void stop_concurrent_marking();
289 inline bool concurrent_mark_in_progress();
290 static address concurrent_mark_in_progress_addr();
291
292 void prepare_for_concurrent_evacuation();
293 void evacuate_and_update_roots();
294
295 void do_partial_collection();
296
297 void update_heap_references(ShenandoahHeapRegionSet* regions);
298 void concurrent_update_heap_references();
299 void prepare_update_refs();
300 void finish_update_refs();
301 void verify_update_refs();
302
303 private:
304 void set_evacuation_in_progress(bool in_progress);
305 public:
306 inline bool is_evacuation_in_progress();
307 void set_evacuation_in_progress_concurrently(bool in_progress);
308 void set_evacuation_in_progress_at_safepoint(bool in_progress);
309
310 void set_full_gc_in_progress(bool in_progress);
311 bool is_full_gc_in_progress() const;
312
313 void set_update_refs_in_progress(bool in_progress);
314 bool is_update_refs_in_progress() const;
315 static address update_refs_in_progress_addr();
316
317 inline bool need_update_refs() const;
|