< prev index next >

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

Print this page
*** 39,10 ***
--- 39,11 ---
  class VM_ShenandoahFinalUpdateRefs;
  
  class ShenandoahConcurrentGC : public ShenandoahGC {
    friend class VM_ShenandoahInitMark;
    friend class VM_ShenandoahFinalMarkStartEvac;
+   friend class VM_ShenandoahFinalRoots;
    friend class VM_ShenandoahInitUpdateRefs;
    friend class VM_ShenandoahFinalUpdateRefs;
    friend class VM_ShenandoahFinalVerify;
  
  protected:

*** 67,16 ***
--- 68,18 ---
    // call the entry method below
    void vmop_entry_init_mark();
    void vmop_entry_final_mark();
    void vmop_entry_init_update_refs();
    void vmop_entry_final_update_refs();
+   void vmop_entry_final_roots();
    void vmop_entry_final_verify();
  
    // Entry methods to normally STW GC operations. These set up logging, monitoring
    // and workers for next VM operation
    void entry_init_mark();
    void entry_final_mark();
+   void entry_final_roots();
    void entry_init_update_refs();
    void entry_final_update_refs();
    void entry_final_verify();
  
    // Entry methods to normally concurrent GC operations. These set up logging, monitoring

*** 90,11 ***
    void entry_weak_roots();
    void entry_class_unloading();
    void entry_strong_roots();
    void entry_cleanup_early();
    void entry_complete_abbreviated_cycle();
-   void entry_final_roots();
    void entry_evacuate();
    void entry_update_thread_roots();
    void entry_update_card_table();
    void entry_concurrent_update_refs_prepare(ShenandoahHeap* heap);
    void entry_update_refs();
--- 93,10 ---

*** 136,11 ***
    // Messages for GC trace events, they have to be immortal for
    // passing around the logging/tracing systems
    const char* init_mark_event_message() const;
    const char* final_mark_event_message() const;
    const char* verify_final_event_message() const;
!   const char* conc_final_roots_event_message() const;
    const char* conc_mark_event_message() const;
    const char* conc_reset_event_message() const;
    const char* conc_reset_after_collect_event_message() const;
    const char* conc_weak_refs_event_message() const;
    const char* conc_weak_roots_event_message() const;
--- 138,11 ---
    // Messages for GC trace events, they have to be immortal for
    // passing around the logging/tracing systems
    const char* init_mark_event_message() const;
    const char* final_mark_event_message() const;
    const char* verify_final_event_message() const;
!   const char* final_roots_event_message() const;
    const char* conc_mark_event_message() const;
    const char* conc_reset_event_message() const;
    const char* conc_reset_after_collect_event_message() const;
    const char* conc_weak_refs_event_message() const;
    const char* conc_weak_roots_event_message() const;
< prev index next >