< prev index next >

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

Print this page
*** 26,19 ***
  #define SHARE_GC_SHENANDOAH_SHENANDOAHDEGENERATEDGC_HPP
  
  #include "gc/shenandoah/shenandoahGC.hpp"
  
  class VM_ShenandoahDegeneratedGC;
  
  class ShenandoahDegenGC : public ShenandoahGC {
    friend class VM_ShenandoahDegeneratedGC;
  private:
    const ShenandoahDegenPoint  _degen_point;
  
  public:
!   ShenandoahDegenGC(ShenandoahDegenPoint degen_point);
    bool collect(GCCause::Cause cause);
  
  private:
    void vmop_degenerated();
    void entry_degenerated();
    void op_degenerated();
--- 26,23 ---
  #define SHARE_GC_SHENANDOAH_SHENANDOAHDEGENERATEDGC_HPP
  
  #include "gc/shenandoah/shenandoahGC.hpp"
  
  class VM_ShenandoahDegeneratedGC;
+ class ShenandoahGeneration;
  
  class ShenandoahDegenGC : public ShenandoahGC {
    friend class VM_ShenandoahDegeneratedGC;
  private:
    const ShenandoahDegenPoint  _degen_point;
+   ShenandoahGeneration* _generation;
+   bool _upgraded_to_full;
  
  public:
!   ShenandoahDegenGC(ShenandoahDegenPoint degen_point, ShenandoahGeneration* generation);
    bool collect(GCCause::Cause cause);
+   bool upgraded_to_full();
  
  private:
    void vmop_degenerated();
    void entry_degenerated();
    void op_degenerated();

*** 46,19 ***
    void op_reset();
    void op_mark();
    void op_finish_mark();
    void op_prepare_evacuation();
    void op_cleanup_early();
    void op_evacuate();
    void op_init_updaterefs();
    void op_updaterefs();
    void op_update_roots();
    void op_cleanup_complete();
  
    // Fail handling
    void op_degenerated_futile();
    void op_degenerated_fail();
  
!   const char* degen_event_message(ShenandoahDegenPoint point) const;
  };
  
  #endif // SHARE_GC_SHENANDOAH_SHENANDOAHDEGENERATEDGC_HPP
--- 50,21 ---
    void op_reset();
    void op_mark();
    void op_finish_mark();
    void op_prepare_evacuation();
    void op_cleanup_early();
+   void op_global_coalesce_and_fill();
    void op_evacuate();
    void op_init_updaterefs();
    void op_updaterefs();
    void op_update_roots();
    void op_cleanup_complete();
  
    // Fail handling
    void op_degenerated_futile();
    void op_degenerated_fail();
  
!   void degen_event_message(ShenandoahDegenPoint point, char* buf, size_t len) const;
+   void upgrade_to_full();
  };
  
  #endif // SHARE_GC_SHENANDOAH_SHENANDOAHDEGENERATEDGC_HPP
< prev index next >