RFR (M): 8129558: Coalesce dead objects during removal of self-forwarded pointers
mikael.gerdin at oracle.com
Thu Jun 25 13:20:06 UTC 2015
On 2015-06-25 10:07, Thomas Schatzl wrote:
> Hi all,
> can I have reviews for the first change in a set of changes that speed
> up evacuation failure?
> This changeset coalesces dead objects (either really dead or already
> evacuated) in the regions where evacuation failure occurred, doing the
> necessary cleanup (BOT update, mark bitmap update) on the coalesced
> Since in a "normal" evacuation failure >99% of objects are dead in the
> failing regions because G1 slightly overestimated allowable eden size,
> so this change saves a significant amount of processing time in the
> self-forwarding phase.
> I do not have exact numbers just for this particular change, only that
> at the end after applying all the changes I have we will be looking at
> evacuation failure in that "normal" case taking almost no extra time.
> Also cleaned up the code a little, e.g. removing unused parameters and
> variables, etc.
Can you make zap_dead_objects a member function of
then it will already have access to _g1 and _cm
and then have remove_self_forward_ptr_by_...
call a function on rspc to clear the last part of the region?
That way the zapping functionality is nicely encapsulated and
last_object_end doesn't need to be exposed.
Otherwise I think the change looks good and I think it's a nice step
towards cleaning up this code.
> jprt, gc nightly/vm.quick tests on Aurora
More information about the hotspot-gc-dev