On Thu, 29 May 2025 09:52:34 GMT, Andrew Haley <a...@openjdk.org> wrote:
>> 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. The reason I removed it is that it no longer works this way. For small segments, Java code will be used unconditionally. It is only for larger (>=32 bytes) we check this property. So, now the benchmark directly invokes the branch that calls Unsafe (`SCOPED_MEMORY_ACCESS::setMemory`). I hope this clarifies things. ------------- PR Review Comment: https://git.openjdk.org/jdk/pull/25383#discussion_r2121136632