RFR: 8329134: Reconsider TLAB zapping [v2]

Aleksey Shipilev shade at openjdk.org
Wed Mar 27 14:55:35 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 incrementally with one additional commit since the last revision:

  Review comments

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

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

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

  Stats: 10 lines in 4 files changed: 4 ins; 5 del; 1 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