src/share/vm/memory/cardTableModRefBS.hpp

Print this page
rev 4973 : imported patch change-yg-card-value.diff
rev 4975 : imported patch refactor-and-sparc.diff

@@ -67,11 +67,12 @@
     dirty_card                  =  0,
     precleaned_card             =  1,
     claimed_card                =  2,
     deferred_card               =  4,
     last_card                   =  8,
-    CT_MR_BS_last_reserved      = 16
+    CT_MR_BS_last_reserved      = 16,
+    g1_young_gen                = 32
   };
 
   // a word's worth (row) of clean card values
   static const intptr_t clean_card_row = (intptr_t)(-1);
 

@@ -271,10 +272,11 @@
   static int clean_card_mask_val() { return clean_card_mask; }
   static int dirty_card_val()      { return dirty_card; }
   static int claimed_card_val()    { return claimed_card; }
   static int precleaned_card_val() { return precleaned_card; }
   static int deferred_card_val()   { return deferred_card; }
+  static int g1_young_card_val()   { return g1_young_gen; }
 
   // For RTTI simulation.
   bool is_a(BarrierSet::Name bsn) {
     return bsn == BarrierSet::CardTableModRef || ModRefBarrierSet::is_a(bsn);
   }

@@ -476,10 +478,11 @@
   // val_equals -> it will check that all cards covered by mr equal val
   // !val_equals -> it will check that all cards covered by mr do not equal val
   void verify_region(MemRegion mr, jbyte val, bool val_equals) PRODUCT_RETURN;
   void verify_not_dirty_region(MemRegion mr) PRODUCT_RETURN;
   void verify_dirty_region(MemRegion mr) PRODUCT_RETURN;
+  void verify_g1_young_region(MemRegion mr) PRODUCT_RETURN;
 
   static size_t par_chunk_heapword_alignment() {
     return ParGCCardsPerStrideChunk * card_size_in_words;
   }