Integrated: 8331087: Move immutable nmethod data from CodeCache
Vladimir Kozlov
kvn at openjdk.org
Mon Apr 29 16:02:17 UTC 2024
On Fri, 26 Apr 2024 21:16:03 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.
This pull request has now been integrated.
Changeset: bdcc2400
Author: Vladimir Kozlov <kvn at openjdk.org>
URL: https://git.openjdk.org/jdk/commit/bdcc2400db63e604d76f9b5bd3c876271743f69f
Stats: 311 lines in 5 files changed: 163 ins; 42 del; 106 mod
8331087: Move immutable nmethod data from CodeCache
Reviewed-by: thartmann, dlong, dnsimon
-------------
PR: https://git.openjdk.org/jdk/pull/18984
More information about the serviceability-dev
mailing list