Blocks :
|
|
Blocks :
|
|
Blocks :
|
|
Blocks :
|
|
Duplicate :
|
|
Duplicate :
|
|
Relates :
|
|
Relates :
|
|
Relates :
|
|
Relates :
|
|
Relates :
|
|
Relates :
|
|
Relates :
|
|
Relates :
|
|
Relates :
|
|
Relates :
|
|
Relates :
|
|
Relates :
|
|
Relates :
|
Currently, during remembered set scan every thread may iterate over all cards in the remembered set of a given region; distribution across threads occurs by threads claiming cards N to N+x, and only trying to iterate over these cards. To avoid scanning the same card multiple times, G1 marks the already scanned cards in card table. One alternative is to for all regions collect the PRTs, and every thread claim part of that region's entire range of cards, building a small local bitmap of cards to scan using the PRTs for that region. This ensures that every card is only scanned once during Scan RS, avoids the need for all threads to iterate over all cards of a given region at the cost of small pre-initialization costs.
|