< prev index next >

src/hotspot/share/gc/shenandoah/shenandoahHeap.hpp

Print this page

476   ShenandoahRegionIterator _update_refs_iterator;
477 
478 private:
479   inline void reset_cancellation_time();
480 
481   // GC support
482   // Evacuation
483   virtual void evacuate_collection_set(ShenandoahGeneration* generation, bool concurrent);
484   // Concurrent root processing
485   void prepare_concurrent_roots();
486   void finish_concurrent_roots();
487   // Concurrent class unloading support
488   void do_class_unloading();
489   // Reference updating
490   void prepare_update_heap_references();
491 
492   // Retires LABs used for evacuation
493   void concurrent_prepare_for_update_refs();
494 
495   // Turn off weak roots flag, purge old satb buffers in generational mode
496   void concurrent_final_roots(HandshakeClosure* handshake_closure = nullptr);
497 
498   virtual void update_heap_references(ShenandoahGeneration* generation, bool concurrent);
499   // Final update region states
500   void update_heap_region_states(bool concurrent);
501   virtual void final_update_refs_update_region_states();
502 
503   void rendezvous_threads(const char* name);
504   void recycle_trash();
505 public:
506   // The following two functions rebuild the free set at the end of GC, in preparation for an idle phase.
507   void rebuild_free_set(bool concurrent);
508   void rebuild_free_set_within_phase();
509   void notify_gc_progress();
510   void notify_gc_no_progress();
511   size_t get_gc_no_progress_count() const;
512 
513   // The uncommit thread targets soft max heap, notify this thread when that value has changed.
514   void notify_soft_max_changed();
515 
516   // An explicit GC request may have freed regions, notify the uncommit thread.

476   ShenandoahRegionIterator _update_refs_iterator;
477 
478 private:
479   inline void reset_cancellation_time();
480 
481   // GC support
482   // Evacuation
483   virtual void evacuate_collection_set(ShenandoahGeneration* generation, bool concurrent);
484   // Concurrent root processing
485   void prepare_concurrent_roots();
486   void finish_concurrent_roots();
487   // Concurrent class unloading support
488   void do_class_unloading();
489   // Reference updating
490   void prepare_update_heap_references();
491 
492   // Retires LABs used for evacuation
493   void concurrent_prepare_for_update_refs();
494 
495   // Turn off weak roots flag, purge old satb buffers in generational mode
496   void op_final_roots(bool at_gc_end);
497 
498   virtual void update_heap_references(ShenandoahGeneration* generation, bool concurrent);
499   // Final update region states
500   void update_heap_region_states(bool concurrent);
501   virtual void final_update_refs_update_region_states();
502 
503   void rendezvous_threads(const char* name);
504   void recycle_trash();
505 public:
506   // The following two functions rebuild the free set at the end of GC, in preparation for an idle phase.
507   void rebuild_free_set(bool concurrent);
508   void rebuild_free_set_within_phase();
509   void notify_gc_progress();
510   void notify_gc_no_progress();
511   size_t get_gc_no_progress_count() const;
512 
513   // The uncommit thread targets soft max heap, notify this thread when that value has changed.
514   void notify_soft_max_changed();
515 
516   // An explicit GC request may have freed regions, notify the uncommit thread.
< prev index next >