Mercurial > hg > truffle
diff 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 |
line wrap: on
line diff
--- a/src/share/vm/memory/cardTableModRefBS.hpp Tue Feb 09 13:56:09 2010 -0800 +++ b/src/share/vm/memory/cardTableModRefBS.hpp Thu Feb 11 15:52:19 2010 -0800 @@ -339,6 +339,16 @@ return (val & (clean_card_mask_val() | claimed_card_val())) == claimed_card_val(); } + void set_card_claimed(size_t card_index) { + jbyte val = _byte_map[card_index]; + if (val == clean_card_val()) { + val = (jbyte)claimed_card_val(); + } else { + val |= (jbyte)claimed_card_val(); + } + _byte_map[card_index] = val; + } + bool claim_card(size_t card_index); bool is_card_clean(size_t card_index) {