Mercurial > hg > truffle
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); |