comparison src/share/vm/memory/cardTableRS.hpp @ 113:ba764ed4b6f2

6420645: Create a vm that uses compressed oops for up to 32gb heapsizes Summary: Compressed oops in instances, arrays, and headers. Code contributors are coleenp, phh, never, swamyv Reviewed-by: jmasa, kamg, acorn, tbell, kvn, rasbold
author coleenp
date Sun, 13 Apr 2008 17:43:42 -0400
parents 73e96e5c30df
children d1605aabd0a1 37f87013dfd8
comparison
equal deleted inserted replaced
110:a49a647afe9a 113:ba764ed4b6f2
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);