RFR: 8314294: Unsafe::allocateMemory and Unsafe::freeMemory are slower than malloc/free

David Holmes dholmes at openjdk.org
Tue Oct 3 05:24:05 UTC 2023


On Fri, 29 Sep 2023 07:13:14 GMT, Aleksey Shipilev <shade 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.

Thanks for the reviews @shipilev  and @dean-long !

-------------

PR Comment: https://git.openjdk.org/jdk/pull/15977#issuecomment-1744172523


More information about the hotspot-dev mailing list