< prev index next >

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

Print this page
@@ -26,19 +26,21 @@
  #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 _abbreviated;
  
  public:
-   ShenandoahDegenGC(ShenandoahDegenPoint degen_point);
+   ShenandoahDegenGC(ShenandoahDegenPoint degen_point, ShenandoahGeneration* generation);
    bool collect(GCCause::Cause cause);
  
  private:
    void vmop_degenerated();
    void entry_degenerated();

@@ -62,8 +64,10 @@
  
    // Turns this degenerated cycle into a full gc without leaving the safepoint
    void upgrade_to_full();
  
    const char* degen_event_message(ShenandoahDegenPoint point) const;
+ 
+   bool has_in_place_promotions(const ShenandoahHeap* heap) const;
  };
  
  #endif // SHARE_GC_SHENANDOAH_SHENANDOAHDEGENERATEDGC_HPP
< prev index next >