RFR: 8329134: Reconsider TLAB zapping [v3]

Aleksey Shipilev shade at openjdk.org
Mon Apr 1 07:36:00 UTC 2024


> We zap the entire TLAB on initial allocation (`MemAllocator::mem_allocate_inside_tlab_slow`), and then also rezap the object contents when object is allocated from the TLAB (`ThreadLocalAllocBuffer::allocate`). The second part seems excessive, given the TLAB is already fully zapped.
> 
> There is also no way to disable this zapping, like you would in other places with the relevant Zap* flags.
> 
> Fixing both these issues allows to improve fastdebug tests performance, e.g. in jcstress. 
> 
> It also allows to remove the related Zero kludge.
> 
> Additional testing:
>  - [x] Linux AArch64 server fastdebug, `all` tests 
>  - [x] MacOS AArch64 Zero fastdebug, `bootcycle-images` pass

Aleksey Shipilev 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 five additional commits since the last revision:

 - Merge branch 'master' into JDK-8329134-tlab-zapping
 - Review comments
 - Touchups
 - Also remove Zero kludge
 - Fix

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

Changes:
  - all: https://git.openjdk.org/jdk/pull/18500/files
  - new: https://git.openjdk.org/jdk/pull/18500/files/72bf1e8a..5bf36d05

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

  Stats: 6085 lines in 208 files changed: 2917 ins; 2291 del; 877 mod
  Patch: https://git.openjdk.org/jdk/pull/18500.diff
  Fetch: git fetch https://git.openjdk.org/jdk.git pull/18500/head:pull/18500

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


More information about the shenandoah-dev mailing list