Mercurial > hg > graal-jvmci-8
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 } |