RFR: 8353217: Build libsleef on macos-aarch64
Julian Waters
jwaters at openjdk.org
Sat Mar 29 17:49:06 UTC 2025
On Sat, 29 Mar 2025 00:58:59 GMT, Vladimir Ivanov <vlivanov at openjdk.org> wrote:
> Build and use SLEEF library as a backend implementation for Vector API trigonometric functions on macosx-aarch64 platform.
>
> It improves raw throughput and eliminates GC overhead of non-intrinsified Vector API operation.
>
> PR includes build changes and libsleef sources relocation from `src/jdk.incubator.vector/linux/native/` to `src/jdk.incubator.vector/share/native/`.
>
> Once libsleef library is present, existing code in `stubGenerator_aarch64.cpp` successfully links at JVM startup.
>
> Testing: hs-tier1 - hs-tier4, microbenchmarks
Is leaving the sources of sleef in share/native the right thing to do? That would implicitly mean to any developers that it's shared code for all currently supported operating systems: Windows, macOS, Linux and AIX, which may be rather confusing if it's only meant to be used on specific platforms. But I can also see why this was done, since duplication of sleef code for each platform would be pretty brutal, so there isn't an easy solution to this. I guess Windows/ARM64 could use it in the future, is that something that is intended? Perhaps that could be an excuse for leaving it under the share directory
-------------
PR Comment: https://git.openjdk.org/jdk/pull/24306#issuecomment-2763887362
More information about the hotspot-dev
mailing list