> 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 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 nine additional commits since 
the last revision:

 - Merge branch 'master' into segmentallocate
 - revert changes to CallocArena
 - Merge branch 'master' into segmentallocate
 - copyright
 - Merge branch 'master' into segmentallocate
 - wrong init
 - move segment instance creation to SegmentFactories
 - address review
 - improve the implementation of SegmentFactories::allocateSegment

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

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

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

  Stats: 50559 lines in 1797 files changed: 26233 ins; 17065 del; 7261 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

Reply via email to