src/share/vm/memory/cardTableRS.hpp
Index Unified diffs Context diffs Sdiffs Patch New Old Previous File Next File hs-gc-g1-mmap Sdiff src/share/vm/memory

src/share/vm/memory/cardTableRS.hpp

Print this page




 125   }
 126   void write_ref_field_gc_work(void* field, oop new_val) {
 127     inline_write_ref_field_gc(field, new_val);
 128   }
 129 
 130   // Override.  Might want to devirtualize this in the same fashion as
 131   // above.  Ensures that the value of the card for field says that it's
 132   // a younger card in the current collection.
 133   virtual void write_ref_field_gc_par(void* field, oop new_val);
 134 
 135   void resize_covered_region(MemRegion new_region);
 136 
 137   bool is_aligned(HeapWord* addr) {
 138     return _ct_bs->is_card_aligned(addr);
 139   }
 140 
 141   void verify();
 142   void verify_aligned_region_empty(MemRegion mr);
 143 
 144   void clear(MemRegion mr) { _ct_bs->clear(mr); }
 145   void clear_into_younger(Generation* gen);
 146 
 147   void invalidate(MemRegion mr, bool whole_heap = false) {
 148     _ct_bs->invalidate(mr, whole_heap);
 149   }
 150   void invalidate_or_clear(Generation* gen);
 151 
 152   static uintx ct_max_alignment_constraint() {
 153     return CardTableModRefBS::ct_max_alignment_constraint();
 154   }
 155 
 156   jbyte* byte_for(void* p)     { return _ct_bs->byte_for(p); }
 157   jbyte* byte_after(void* p)   { return _ct_bs->byte_after(p); }
 158   HeapWord* addr_for(jbyte* p) { return _ct_bs->addr_for(p); }
 159 
 160   bool is_prev_nonclean_card_val(jbyte v) {
 161     return
 162       youngergen_card <= v &&
 163       v <= cur_youngergen_and_prev_nonclean_card &&
 164       v != _cur_youngergen_card_val;
 165   }
 166 
 167   static bool youngergen_may_have_been_dirty(jbyte cv) {
 168     return cv == CardTableRS::cur_youngergen_and_prev_nonclean_card;
 169   }
 170 




 125   }
 126   void write_ref_field_gc_work(void* field, oop new_val) {
 127     inline_write_ref_field_gc(field, new_val);
 128   }
 129 
 130   // Override.  Might want to devirtualize this in the same fashion as
 131   // above.  Ensures that the value of the card for field says that it's
 132   // a younger card in the current collection.
 133   virtual void write_ref_field_gc_par(void* field, oop new_val);
 134 
 135   void resize_covered_region(MemRegion new_region);
 136 
 137   bool is_aligned(HeapWord* addr) {
 138     return _ct_bs->is_card_aligned(addr);
 139   }
 140 
 141   void verify();
 142   void verify_aligned_region_empty(MemRegion mr);
 143 
 144   void clear(MemRegion mr) { _ct_bs->clear(mr); }
 145   void clear_into_younger(Generation* old_gen);
 146 
 147   void invalidate(MemRegion mr, bool whole_heap = false) {
 148     _ct_bs->invalidate(mr, whole_heap);
 149   }
 150   void invalidate_or_clear(Generation* old_gen);
 151 
 152   static uintx ct_max_alignment_constraint() {
 153     return CardTableModRefBS::ct_max_alignment_constraint();
 154   }
 155 
 156   jbyte* byte_for(void* p)     { return _ct_bs->byte_for(p); }
 157   jbyte* byte_after(void* p)   { return _ct_bs->byte_after(p); }
 158   HeapWord* addr_for(jbyte* p) { return _ct_bs->addr_for(p); }
 159 
 160   bool is_prev_nonclean_card_val(jbyte v) {
 161     return
 162       youngergen_card <= v &&
 163       v <= cur_youngergen_and_prev_nonclean_card &&
 164       v != _cur_youngergen_card_val;
 165   }
 166 
 167   static bool youngergen_may_have_been_dirty(jbyte cv) {
 168     return cv == CardTableRS::cur_youngergen_and_prev_nonclean_card;
 169   }
 170 


src/share/vm/memory/cardTableRS.hpp
Index Unified diffs Context diffs Sdiffs Patch New Old Previous File Next File