diff src/share/vm/gc_implementation/g1/heapRegion.hpp @ 796:29e7d79232b9

6819065: G1: eliminate high serial card table clearing time Reviewed-by: iveresov, tonyp
author apetrusenko
date Tue, 19 May 2009 04:05:31 -0700
parents 96b229c54d1e
children 830ca2573896
line wrap: on
line diff
--- a/src/share/vm/gc_implementation/g1/heapRegion.hpp	Mon May 18 11:52:46 2009 -0700
+++ b/src/share/vm/gc_implementation/g1/heapRegion.hpp	Tue May 19 04:05:31 2009 -0700
@@ -227,6 +227,9 @@
   // next region in the young "generation" region set
   HeapRegion* _next_young_region;
 
+  // Next region whose cards need cleaning
+  HeapRegion* _next_dirty_cards_region;
+
   // For parallel heapRegion traversal.
   jint _claimed;
 
@@ -468,6 +471,11 @@
     _next_young_region = hr;
   }
 
+  HeapRegion* get_next_dirty_cards_region() const { return _next_dirty_cards_region; }
+  HeapRegion** next_dirty_cards_region_addr() { return &_next_dirty_cards_region; }
+  void set_next_dirty_cards_region(HeapRegion* hr) { _next_dirty_cards_region = hr; }
+  bool is_on_dirty_cards_region_list() const { return get_next_dirty_cards_region() != NULL; }
+
   // Allows logical separation between objects allocated before and after.
   void save_marks();