DescriptionEnsure black and gray objects are kept around by scavenger
Currently, scavenger can collect objects marked by MarkCompact as black or grey.
For black objects it does no postprocessing, just collects them. For grey
objects scavenger removes dead objects from the marking queue (while updating
old pointers to forwarding pointers in the queue).
This cl ensures that black and grey objects are kept alive by the scavenger.
This is an expected invariant, very much worth having.
As multiple scavenges usually run during single incremental marking, which would copy objects once to the other semispace, and then once to the old space, we promote objects immediately.
LOG=no
Patch Set 1 : Cleanup unreachable branch in IncrementalMarking #Patch Set 2 : Do not remove if branch in IncrementalMarking #Patch Set 3 : Print duration on --print_nvp #Patch Set 4 : Clear tracing marks after transfer during scavenge #Patch Set 5 : Git cl format #Patch Set 6 : Only copy marked objects when marking is in progress #Patch Set 7 : Fix dcheck #Patch Set 8 : Fix for black pages #
Total comments: 6
Patch Set 9 : Address comments #Patch Set 10 : Cleanup #
Messages
Total messages: 17 (10 generated)
|