< prev index next >

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

Print this page
*** 23,30 ***
   */
  
  #ifndef SHARE_GC_SHENANDOAH_SHENANDOAHCONCURRENTMARK_HPP
  #define SHARE_GC_SHENANDOAH_SHENANDOAHCONCURRENTMARK_HPP
  
  #include "gc/shenandoah/shenandoahMark.hpp"
  
  class ShenandoahConcurrentMarkingTask;
  class ShenandoahFinalMarkingTask;
  
  class ShenandoahConcurrentMark: public ShenandoahMark {
!   friend class ShenandoahConcurrentMarkingTask;
!   friend class ShenandoahFinalMarkingTask;
  
  public:
!   ShenandoahConcurrentMark();
    // Concurrent mark roots
    void mark_concurrent_roots();
    // Concurrent mark
    void concurrent_mark();
    // Finish mark at a safepoint
    void finish_mark();
  
-   static void cancel();
- 
  private:
    void finish_mark_work();
  };
  
  #endif // SHARE_GC_SHENANDOAH_SHENANDOAHCONCURRENTMARK_HPP
--- 23,35 ---
   */
  
  #ifndef SHARE_GC_SHENANDOAH_SHENANDOAHCONCURRENTMARK_HPP
  #define SHARE_GC_SHENANDOAH_SHENANDOAHCONCURRENTMARK_HPP
  
+ #include "gc/shenandoah/shenandoahGenerationType.hpp"
  #include "gc/shenandoah/shenandoahMark.hpp"
  
+ template <ShenandoahGenerationType GENERATION>
  class ShenandoahConcurrentMarkingTask;
+ template <ShenandoahGenerationType GENERATION>
  class ShenandoahFinalMarkingTask;
+ class ShenandoahGeneration;
  
  class ShenandoahConcurrentMark: public ShenandoahMark {
!   template <ShenandoahGenerationType GENERATION> friend class ShenandoahConcurrentMarkingTask;
!   template <ShenandoahGenerationType GENERATION> friend class ShenandoahFinalMarkingTask;
  
  public:
!   ShenandoahConcurrentMark(ShenandoahGeneration* generation);
+ 
    // Concurrent mark roots
    void mark_concurrent_roots();
+ 
    // Concurrent mark
    void concurrent_mark();
+ 
    // Finish mark at a safepoint
    void finish_mark();
  
  private:
    void finish_mark_work();
  };
  
  #endif // SHARE_GC_SHENANDOAH_SHENANDOAHCONCURRENTMARK_HPP
< prev index next >