RFR: 8294238: ZGC: Move CLD claimed mark clearing

Coleen Phillimore coleenp at openjdk.org
Thu Oct 6 12:02:18 UTC 2022


On Thu, 6 Oct 2022 11:20:40 GMT, Stefan Karlsson <stefank at openjdk.org> wrote:

> When we claim CLDs during object iteration, we must make sure to have a cleared set of claim bits. Today we ensure this by clearing the bits before object iteration starts. Most GCs perform this clearing during a stop-the-world pause, before the actual GC marking starts.
> 
> ZGC, however, performs the clearing concurrently. This requires us to be very careful and never start following object references before the clearing has completed.
> 
> In the Generational ZGC repository, we changed it so that the code that performs the object iteration cleans up and clears these bits after itself. This has the effect that when marking starts, we know that the claimed bits have been cleared.
> 
> I'd like to change the single-generation ZGC to do the same.

CLD bits ok with me.  The ClassLoaderData::verify_not_claimed should probably be in an #ifdef ASSERT conditional.

-------------

Marked as reviewed by coleenp (Reviewer).

PR: https://git.openjdk.org/jdk/pull/10591


More information about the hotspot-dev mailing list