comparison src/share/vm/memory/cardTableModRefBS.hpp @ 1261:0414c1049f15

6923991: G1: improve scalability of RSet scanning Summary: Implemented block-based work stealing. Moved copying during the rset scanning phase to the main copying phase. Made the size of rset table depend on the region size. Reviewed-by: apetrusenko, tonyp
author iveresov
date Thu, 11 Feb 2010 15:52:19 -0800
parents 8624da129f0b
children c18cbe5936b8
comparison
equal deleted inserted replaced
1260:8859772195c6 1261:0414c1049f15
337 bool is_card_claimed(size_t card_index) { 337 bool is_card_claimed(size_t card_index) {
338 jbyte val = _byte_map[card_index]; 338 jbyte val = _byte_map[card_index];
339 return (val & (clean_card_mask_val() | claimed_card_val())) == claimed_card_val(); 339 return (val & (clean_card_mask_val() | claimed_card_val())) == claimed_card_val();
340 } 340 }
341 341
342 void set_card_claimed(size_t card_index) {
343 jbyte val = _byte_map[card_index];
344 if (val == clean_card_val()) {
345 val = (jbyte)claimed_card_val();
346 } else {
347 val |= (jbyte)claimed_card_val();
348 }
349 _byte_map[card_index] = val;
350 }
351
342 bool claim_card(size_t card_index); 352 bool claim_card(size_t card_index);
343 353
344 bool is_card_clean(size_t card_index) { 354 bool is_card_clean(size_t card_index) {
345 return _byte_map[card_index] == clean_card_val(); 355 return _byte_map[card_index] == clean_card_val();
346 } 356 }