hotspot/src/share/vm/memory/cardTableRS.hpp
changeset 360 21d113ecbf6a
parent 179 59e3abf83f72
child 670 ddf3e9583f2f
child 1374 4c24294029a9
equal deleted inserted replaced
357:f4edb0d9f109 360:21d113ecbf6a
   104   // Card table entries are cleared before application; "blk" is
   104   // Card table entries are cleared before application; "blk" is
   105   // responsible for dirtying if the oop is still older-to-younger after
   105   // responsible for dirtying if the oop is still older-to-younger after
   106   // closure application.
   106   // closure application.
   107   void younger_refs_iterate(Generation* g, OopsInGenClosure* blk);
   107   void younger_refs_iterate(Generation* g, OopsInGenClosure* blk);
   108 
   108 
   109   void inline_write_ref_field_gc(oop* field, oop new_val) {
   109   void inline_write_ref_field_gc(void* field, oop new_val) {
   110     jbyte* byte = _ct_bs.byte_for(field);
   110     jbyte* byte = _ct_bs.byte_for(field);
   111     *byte = youngergen_card;
   111     *byte = youngergen_card;
   112   }
   112   }
   113   void write_ref_field_gc_work(oop* field, oop new_val) {
   113   void write_ref_field_gc_work(void* field, oop new_val) {
   114     inline_write_ref_field_gc(field, new_val);
   114     inline_write_ref_field_gc(field, new_val);
   115   }
   115   }
   116 
   116 
   117   // Override.  Might want to devirtualize this in the same fashion as
   117   // Override.  Might want to devirtualize this in the same fashion as
   118   // above.  Ensures that the value of the card for field says that it's
   118   // above.  Ensures that the value of the card for field says that it's
   119   // a younger card in the current collection.
   119   // a younger card in the current collection.
   120   virtual void write_ref_field_gc_par(oop* field, oop new_val);
   120   virtual void write_ref_field_gc_par(void* field, oop new_val);
   121 
   121 
   122   void resize_covered_region(MemRegion new_region);
   122   void resize_covered_region(MemRegion new_region);
   123 
   123 
   124   bool is_aligned(HeapWord* addr) {
   124   bool is_aligned(HeapWord* addr) {
   125     return _ct_bs.is_card_aligned(addr);
   125     return _ct_bs.is_card_aligned(addr);