Mercurial > hg > graal-jvmci-8
comparison src/share/vm/memory/cardTableModRefBS.hpp @ 12343:d55c004e1d4d
8025305: Cleanup CardTableModRefBS usage in G1
Summary: Move some G1 specific code from CardTableModRefBS to G1SATBCardTableModRefBS.
Reviewed-by: brutisso, tschatzl, ehelin
author | mgerdin |
---|---|
date | Tue, 24 Sep 2013 14:46:29 +0200 |
parents | f9be75d21404 |
children | cefad50507d8 3205e78d8193 |
comparison
equal
deleted
inserted
replaced
12342:ccef6e165e8b | 12343:d55c004e1d4d |
---|---|
337 | 337 |
338 void mark_card_dirty(size_t card_index) { | 338 void mark_card_dirty(size_t card_index) { |
339 _byte_map[card_index] = dirty_card_val(); | 339 _byte_map[card_index] = dirty_card_val(); |
340 } | 340 } |
341 | 341 |
342 bool is_card_claimed(size_t card_index) { | |
343 jbyte val = _byte_map[card_index]; | |
344 return (val & (clean_card_mask_val() | claimed_card_val())) == claimed_card_val(); | |
345 } | |
346 | |
347 void set_card_claimed(size_t card_index) { | |
348 jbyte val = _byte_map[card_index]; | |
349 if (val == clean_card_val()) { | |
350 val = (jbyte)claimed_card_val(); | |
351 } else { | |
352 val |= (jbyte)claimed_card_val(); | |
353 } | |
354 _byte_map[card_index] = val; | |
355 } | |
356 | |
357 bool claim_card(size_t card_index); | |
358 | |
359 bool is_card_clean(size_t card_index) { | 342 bool is_card_clean(size_t card_index) { |
360 return _byte_map[card_index] == clean_card_val(); | 343 return _byte_map[card_index] == clean_card_val(); |
361 } | 344 } |
362 | |
363 bool is_card_deferred(size_t card_index) { | |
364 jbyte val = _byte_map[card_index]; | |
365 return (val & (clean_card_mask_val() | deferred_card_val())) == deferred_card_val(); | |
366 } | |
367 | |
368 bool mark_card_deferred(size_t card_index); | |
369 | 345 |
370 // Card marking array base (adjusted for heap low boundary) | 346 // Card marking array base (adjusted for heap low boundary) |
371 // This would be the 0th element of _byte_map, if the heap started at 0x0. | 347 // This would be the 0th element of _byte_map, if the heap started at 0x0. |
372 // But since the heap starts at some higher address, this points to somewhere | 348 // But since the heap starts at some higher address, this points to somewhere |
373 // before the beginning of the actual _byte_map. | 349 // before the beginning of the actual _byte_map. |