> 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 232 bytes. From 
> 304 to 248 in optimized VM:
> 
> Statistics for 1282 bytecoded nmethods for C2:
>  total in heap = 5560352 (100%)
>  header = 389728 (7.009053%)
> 
> vs
> 
> Statistics for 1322 bytecoded nmethods for C2:
>  total in heap  = 8307120 (100%)
>  header         = 327856 (3.946687%)
> 
> 
> 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 with a new target base due to a 
merge or a rebase. The pull request now contains eight commits:

 - Merge master
 - remove trailing space
 - Shuffle fields initialization
 - Address comments. Used checked_cast.
 - Use 16-bits types for header_size and frame_complete_offset arguments
 - Union fields which usages do not overlap
 - Moved some fields initialization into init_defaults()
 - 8329433: Reduce nmethod header size

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

Changes: https://git.openjdk.org/jdk/pull/18768/files
  Webrev: https://webrevs.openjdk.org/?repo=jdk&pr=18768&range=06
  Stats: 528 lines in 15 files changed: 140 ins; 178 del; 210 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

Reply via email to