RFR: 8288477: nmethod header size reduction [v3]
Evgeny Astigeevich
duke at openjdk.org
Thu Jul 21 21:13:21 UTC 2022
On Thu, 21 Jul 2022 18:57:38 GMT, Tom Rodriguez <never at openjdk.org> wrote:
>> Boris Ulasevich has refreshed the contents of this pull request, and previous commits have been removed. The incremental views will show differences compared to the previous content of the PR. The pull request contains one new commit since the last revision:
>>
>> Undo applying CompLevel where applicable. It must be a separate change
>
> Why not be more aggressive about using offsets instead of explicit addresses? Why store both _begin and _end fields? The end of one section is usually the beginning of the another section. These explicit fields aren't very nice either. Why not use an enum with arrays for the various values? Then this stuff can all be written in a consistent pattern using offsets and getting the end of a section using the beginning of the next section. Section alignments could also be declared in a consistent way using the enum.
>
> You could probably smush _is_compiled, _caller_must_gc_arguments, _type and _header_size into a bitfield. Certainly _header_size doesn't need to be a full int since sizeof(nmethod) is only around 400 bytes.
@tkrodriguez,
> Why not be more aggressive about using offsets instead of explicit addresses? Why store both _begin and _end fields?
Using offset will make impossible to separate non-code data from nmethod. We are working on prototypes to separate non-code data to improve code density in CodeCache.
-------------
PR: https://git.openjdk.org/jdk/pull/9165
More information about the hotspot-dev
mailing list