RFR: 8294238: ZGC: Move CLD claimed mark clearing [v3]

Stefan Karlsson stefank at openjdk.org
Tue Oct 11 13:48:45 UTC 2022


> 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.

Stefan Karlsson has updated the pull request with a new target base due to a merge or a rebase. The incremental webrev excludes the unrelated changes brought in by the merge/rebase. The pull request contains three additional commits since the last revision:

 - Merge remote-tracking branch 'upstream/master' into 8294238_zgc_move_cld_claimed_clear
 - Guard verify_not_claimed with ifdef ASSERT
 - 8294238: ZGC: Move CLD claimed mark clearing

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

Changes:
  - all: https://git.openjdk.org/jdk/pull/10591/files
  - new: https://git.openjdk.org/jdk/pull/10591/files/d7fdc8e3..2c060ba7

Webrevs:
 - full: https://webrevs.openjdk.org/?repo=jdk&pr=10591&range=02
 - incr: https://webrevs.openjdk.org/?repo=jdk&pr=10591&range=01-02

  Stats: 30955 lines in 781 files changed: 17954 ins; 9656 del; 3345 mod
  Patch: https://git.openjdk.org/jdk/pull/10591.diff
  Fetch: git fetch https://git.openjdk.org/jdk pull/10591/head:pull/10591

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


More information about the hotspot-dev mailing list