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

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

Commit messages:
 - 8331087: Move immutable nmethod data from CodeCache

Changes: https://git.openjdk.org/jdk/pull/18984/files
  Webrev: https://webrevs.openjdk.org/?repo=jdk&pr=18984&range=00
  Issue: https://bugs.openjdk.org/browse/JDK-8331087
  Stats: 290 lines in 7 files changed: 149 ins; 31 del; 110 mod
  Patch: https://git.openjdk.org/jdk/pull/18984.diff
  Fetch: git fetch https://git.openjdk.org/jdk.git pull/18984/head:pull/18984

PR: https://git.openjdk.org/jdk/pull/18984

Reply via email to