< prev index next >

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

Print this page
*** 36,20 ***
  // VM_ShenandoahOperation
  //   - VM_ShenandoahInitMark: initiate concurrent marking
  //   - VM_ShenandoahFinalMarkStartEvac: finish up concurrent marking, and start evacuation
  //   - VM_ShenandoahInitUpdateRefs: initiate update references
  //   - VM_ShenandoahFinalUpdateRefs: finish up update references
  //   - VM_ShenandoahReferenceOperation:
  //       - VM_ShenandoahFullGC: do full GC
  //       - VM_ShenandoahDegeneratedGC: do STW degenerated GC
  
  class VM_ShenandoahOperation : public VM_Operation {
  protected:
!   uint         _gc_id;
  public:
    VM_ShenandoahOperation() : _gc_id(GCId::current()) {};
    bool skip_thread_oop_barriers() const override { return true; }
    bool doit_prologue() override;
    void doit_epilogue() override;
  };
  
  class VM_ShenandoahReferenceOperation : public VM_ShenandoahOperation {
--- 36,25 ---
  // VM_ShenandoahOperation
  //   - VM_ShenandoahInitMark: initiate concurrent marking
  //   - VM_ShenandoahFinalMarkStartEvac: finish up concurrent marking, and start evacuation
  //   - VM_ShenandoahInitUpdateRefs: initiate update references
  //   - VM_ShenandoahFinalUpdateRefs: finish up update references
+ //   - VM_ShenandoahFinalRoots: finish up roots on a non-evacuating cycle
  //   - VM_ShenandoahReferenceOperation:
  //       - VM_ShenandoahFullGC: do full GC
  //       - VM_ShenandoahDegeneratedGC: do STW degenerated GC
  
  class VM_ShenandoahOperation : public VM_Operation {
  protected:
!   uint _gc_id;
+ 
+   void set_active_generation();
  public:
    VM_ShenandoahOperation() : _gc_id(GCId::current()) {};
    bool skip_thread_oop_barriers() const override { return true; }
+ 
+   void log_active_generation(const char* prefix);
    bool doit_prologue() override;
    void doit_epilogue() override;
  };
  
  class VM_ShenandoahReferenceOperation : public VM_ShenandoahOperation {
< prev index next >