380 bool is_card_aligned(HeapWord* p) { |
380 bool is_card_aligned(HeapWord* p) { |
381 jbyte* pcard = byte_for(p); |
381 jbyte* pcard = byte_for(p); |
382 return (addr_for(pcard) == p); |
382 return (addr_for(pcard) == p); |
383 } |
383 } |
384 |
384 |
|
385 HeapWord* align_to_card_boundary(HeapWord* p) { |
|
386 jbyte* pcard = byte_for(p + card_size_in_words - 1); |
|
387 return addr_for(pcard); |
|
388 } |
|
389 |
385 // The kinds of precision a CardTableModRefBS may offer. |
390 // The kinds of precision a CardTableModRefBS may offer. |
386 enum PrecisionStyle { |
391 enum PrecisionStyle { |
387 Precise, |
392 Precise, |
388 ObjHeadPreciseArray |
393 ObjHeadPreciseArray |
389 }; |
394 }; |