On Tue, 27 May 2025 12:03:41 GMT, Per Minborg <pminb...@openjdk.org> wrote:
>> This PR builds on a concept John Rose told me about some time ago. Instead >> of combining memory operations of various sizes, a single large and skewed >> memory operation can be made to clean up the tail of remaining bytes. >> >> This has the effect of simplifying and shortening the code. The number of >> branches to evaluate is reduced. >> >> It should be noted that the performance of the fill operation affects the >> allocation of new segments (as they are zeroed out before being returned to >> the client code). >> >> This PR passes tier1, tier2, and tier3 on multiple platforms. > > Per Minborg 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 seven additional > commits since the last revision: > > - Merge branch 'master' into fill-overlap > - Update test/micro/org/openjdk/bench/java/lang/foreign/SegmentBulkFill.java > > Co-authored-by: Andrey Turbanov <turban...@gmail.com> > - Update benchmark to reflect new fill method > - Simplify > - Add case for long operations and break out methods > - Correct typo in comment > - Simplify the fill method test/micro/org/openjdk/bench/java/lang/foreign/SegmentBulkFill.java line 98: > 96: } > 97: > 98: @Fork(value = 3, jvmArgs = > {"-Djava.lang.foreign.native.threshold.power.fill=0"}) Why did you remove this line? It's essential for correct `Unsafe` results. ------------- PR Review Comment: https://git.openjdk.org/jdk/pull/25383#discussion_r2113610553