RFR: 8331087: Move immutable nmethod data from CodeCache [v2]
Vladimir Kozlov
kvn at openjdk.org
Mon Apr 29 16:02:17 UTC 2024
On Sun, 28 Apr 2024 23:37:22 GMT, Vladimir Kozlov <kvn at openjdk.org> wrote:
>> Move immutable nmethod's data from CodeCache to C heap. It includes `dependencies, nul_chk_table, handler_table, scopes_pcs, scopes_data, speculations`. It amounts for about 30% (optimized VM) of space in CodeCache.
>>
>> Use HotSpot's `os::malloc()` to allocate memory in C heap for immutable nmethod's data. Call `vm_exit_out_of_memory()` if allocation failed.
>>
>> Shuffle fields order and change some fields size from 4 to 2 bytes to avoid nmethod's header size increase.
>>
>> Tested tier1-5, stress,xcomp
>>
>> Our performance testing does not show difference.
>>
>> Example of updated `-XX:+PrintNMethodStatistics` output is in JBS comment.
>
> Vladimir Kozlov has updated the pull request incrementally with one additional commit since the last revision:
>
> Address comments. Moved jvmci_data back to mutable data section.
Thank you, Dean, Doug and Tobias for reviews.
-------------
PR Comment: https://git.openjdk.org/jdk/pull/18984#issuecomment-2083102730
More information about the graal-dev
mailing list