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.