RFR: 8329134: Reconsider TLAB zapping

Aleksey Shipilev shade at openjdk.org
Wed Mar 27 11:41:28 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:
 - [ ] Linux AArch64 server fastdebug, `all` tests 
 - [x] MacOS AArch64 Zero fastdebug, `bootcycle-images` pass

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

Commit messages:
 - Touchups
 - Also remove Zero kludge
 - Fix

Changes: https://git.openjdk.org/jdk/pull/18500/files
  Webrev: https://webrevs.openjdk.org/?repo=jdk&pr=18500&range=00
  Issue: https://bugs.openjdk.org/browse/JDK-8329134
  Stats: 25 lines in 5 files changed: 3 ins; 13 del; 9 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