src/share/vm/gc_implementation/g1/concurrentG1Refine.hpp

Print this page
rev 4973 : imported patch checkpointing.diff

@@ -64,10 +64,12 @@
 
   int _thread_threshold_step;
 
   // We delay the refinement of 'hot' cards using the hot card cache.
   G1HotCardCache _hot_card_cache;
+  DirtyCardQueueSet _safe_cards_for_refine;
+  VoidClosure* _flush_transfer_closure;
 
   // Reset the threshold step value based of the current zone boundaries.
   void reset_threshold_step();
 
  public:

@@ -104,8 +106,13 @@
   int worker_thread_num() const { return _n_worker_threads; }
 
   int thread_threshold_step() const { return _thread_threshold_step; }
 
   G1HotCardCache* hot_card_cache() { return &_hot_card_cache; }
+
+  void set_card_refinement_closure(CardTableEntryClosure* cl);
+  void set_flush_transfer_closure(VoidClosure* cl) { _flush_transfer_closure = cl; }
+  void flush_cards_in_buffers();
+  DirtyCardQueueSet& cards_ready_for_refinement() { return _safe_cards_for_refine; }
 };
 
 #endif // SHARE_VM_GC_IMPLEMENTATION_G1_CONCURRENTG1REFINE_HPP