RFR: 8345687: Improve the implementation of SegmentFactories::allocateSegment [v7]

Quan Anh Mai qamai at openjdk.org
Thu Mar 13 05:46:44 UTC 2025


> Hi,
> 
> This patch improves the performance of a typical `Arena::allocate` in several ways:
> 
> - Delay the creation of the NativeMemorySegmentImpl. This avoids the merge of the instance with the one obtained from the call in the uncommon path, increasing the chance the object being scalar replaced.
> - Split the allocation of over-aligned memory to a slow-path method.
> - Align the memory to 8 bytes, allowing faster zeroing.
> - Use a dedicated method to zero the just-allocated native memory, reduce code size and make it more straightforward.
> - Make `VM.pageAlignDirectMemory` a `Boolean` instead of a `boolean` so that `false` value can be constant folded.
> 
> Please take a look and leave your reviews, thanks a lot.

Quan Anh Mai has updated the pull request incrementally with one additional commit since the last revision:

  expand wildcard imports

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

Changes:
  - all: https://git.openjdk.org/jdk/pull/22610/files
  - new: https://git.openjdk.org/jdk/pull/22610/files/e82cc493..dba7ae14

Webrevs:
 - full: https://webrevs.openjdk.org/?repo=jdk&pr=22610&range=06
 - incr: https://webrevs.openjdk.org/?repo=jdk&pr=22610&range=05-06

  Stats: 17 lines in 1 file changed: 14 ins; 2 del; 1 mod
  Patch: https://git.openjdk.org/jdk/pull/22610.diff
  Fetch: git fetch https://git.openjdk.org/jdk.git pull/22610/head:pull/22610

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


More information about the core-libs-dev mailing list