On Fri, 26 Apr 2024 21:16:03 GMT, Vladimir Kozlov <k...@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, jvmci_data`. 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. Bail out compilation 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.

src/hotspot/share/jvmci/jvmciRuntime.cpp line 2178:

> 2176:                                                         
> nmethod_mirror_name,
> 2177:                                                         
> failed_speculations);
> 2178:       nmethod::ResultStatus result_status;

Please propagate the new `out_of_memory` result throughout JVMCI (e.g. in 
`JVMCI::CodeInstallResult` enum and 
`HotSpotVMConfig.getCodeInstallResultDescription` method).

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

PR Review Comment: https://git.openjdk.org/jdk/pull/18984#discussion_r1581906300

Reply via email to