RFR: 8329433: Reduce nmethod header size
Vladimir Kozlov
kvn at openjdk.org
Fri Apr 12 22:48:01 UTC 2024
This is part of changes which try to reduce size of `nmethod` and `codeblob` data vs code in CodeCache.
These changes reduced size of `nmethod` header from 288 to 240 bytes. From 304 to 256 in optimized VM:
Statistics for 1282 bytecoded nmethods for C2:
total in heap = 5560352 (100%)
header = 389728 (7.009053%)
vs
Statistics for 1298 bytecoded nmethods for C2:
total in heap = 5766040 (100%)
header = 332288 (5.762846%)
Several unneeded fields in `nmethod` and `CodeBlob` were removed. Some fields were changed from `int` to `int16_t` with added corresponding asserts to make sure their values are fit into 16 bits.
I did additional cleanup after recent `CompiledMethod` removal.
Tested tier1-7,stress,xcomp and performance testing.
-------------
Commit messages:
- 8329433: Reduce nmethod header size
Changes: https://git.openjdk.org/jdk/pull/18768/files
Webrev: https://webrevs.openjdk.org/?repo=jdk&pr=18768&range=00
Issue: https://bugs.openjdk.org/browse/JDK-8329433
Stats: 386 lines in 15 files changed: 92 ins; 115 del; 179 mod
Patch: https://git.openjdk.org/jdk/pull/18768.diff
Fetch: git fetch https://git.openjdk.org/jdk.git pull/18768/head:pull/18768
PR: https://git.openjdk.org/jdk/pull/18768
More information about the hotspot-dev
mailing list