On Wed, 11 Oct 2023 23:25:22 GMT, Vladimir Ivanov <vliva...@openjdk.org> wrote:
>> Srinivas Vamsi Parasa has updated the pull request with a new target base >> due to a merge or a rebase. The pull request now contains 45 commits: >> >> - fix code style and formatting >> - Merge branch 'master' of https://git.openjdk.java.net/jdk into avx512sort >> - Update CompileThresholdScaling only for the sort and partition >> intrinsics; update build script to remove nested if >> - change variable names of indexPivot* to pivotIndex* >> - Update DualPivotQuicksort.java >> - Rename arraySort and arrayPartition Java methods to sort and partition. >> Cleanup some comments >> - Remove the unnecessary exception in single pivot partitioning fallback >> method >> - Move functional interfaces close to the associated methods >> - Refactor the sort and partition intrinsics to accept method references >> for fallback functions >> - Refactor stub handling to use a generic function for all types >> - ... and 35 more: https://git.openjdk.org/jdk/compare/a1c9587c...a5262d86 > > src/java.base/share/classes/java/util/DualPivotQuicksort.java line 157: > >> 155: @ForceInline >> 156: private static <A> void sort(Class<?> elemType, A array, long >> offset, int low, int high, SortOperation<A> so) { >> 157: so.sort(array, low, high); > > I'm late to the party, but how does the fallback implementation work (or is > intended to) for off-heap case (null + absolute base address)? Also, for on-heap case the fallback implementation is equivalent to intrinsified case only when offset points at the 0th element of the array. ------------- PR Review Comment: https://git.openjdk.org/jdk/pull/14227#discussion_r1355879636