< prev index next >

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

Print this page

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

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