diff -r 8859772195c6 -r 0414c1049f15 src/share/vm/memory/cardTableModRefBS.hpp --- 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) {