RFR: 8329433: Reduce nmethod header size [v2]
Vladimir Kozlov
kvn at openjdk.org
Mon Apr 15 00:49:11 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.
Vladimir Kozlov has updated the pull request incrementally with one additional commit since the last revision:
Moved some fields initialization into init_defaults()
-------------
Changes:
- all: https://git.openjdk.org/jdk/pull/18768/files
- new: https://git.openjdk.org/jdk/pull/18768/files/a0c46b86..488f1b92
Webrevs:
- full: https://webrevs.openjdk.org/?repo=jdk&pr=18768&range=01
- incr: https://webrevs.openjdk.org/?repo=jdk&pr=18768&range=00-01
Stats: 31 lines in 1 file changed: 10 ins; 17 del; 4 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