On Sat, 27 Apr 2024 20:48:38 GMT, Doug Simon <dnsi...@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/code/nmethod.hpp line 476: > >> 474: passed, >> 475: code_cache_full, >> 476: out_of_memory > > Maybe `out_of_c_heap_memory` would be clearer? Or > `out_of_immutable_data_memory` if immutable data may not always be malloc'ed. May be `no_space_for_immutable_data`. ------------- PR Review Comment: https://git.openjdk.org/jdk/pull/18984#discussion_r1581998799