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

Reply via email to