RFR: 8314294: Unsafe::allocateMemory and Unsafe::freeMemory are slower than malloc/free
Aleksey Shipilev
shade at openjdk.org
Fri Sep 29 07:16:03 UTC 2023
On Fri, 29 Sep 2023 06:48:05 GMT, David Holmes <dholmes at openjdk.org> wrote:
> To increase performance by avoiding a thread-state transition (native -> in_vm) we change the three "raw" allocation functions in Unsafe to be UNSAFE_LEAF rather than UNSAFE_ENTRY.
>
> It is hard to track through all the related code to prove this is a safe change, but I could not spot anything obvious and testing indicated no issues (my main concern was potential missing WXWrite on macOS Aarch64).
>
> Testing:
> - tiers 1-7 on linux and macos x64 and Aarch64, plus Windows x64
>
> Thanks
Looks reasonable. I clicked through some of the os::{malloc,realloc,free} implementations, and nothing pops out as requiring the VM mode.
-------------
Marked as reviewed by shade (Reviewer).
PR Review: https://git.openjdk.org/jdk/pull/15977#pullrequestreview-1650197945
More information about the hotspot-dev
mailing list