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