> 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: Union fields which usages do not overlap ------------- Changes: - all: https://git.openjdk.org/jdk/pull/18768/files - new: https://git.openjdk.org/jdk/pull/18768/files/488f1b92..13744e78 Webrevs: - full: https://webrevs.openjdk.org/?repo=jdk&pr=18768&range=02 - incr: https://webrevs.openjdk.org/?repo=jdk&pr=18768&range=01-02 Stats: 31 lines in 2 files changed: 15 ins; 13 del; 3 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