RFR: 8339113: AccessFlags can be u2 in metadata [v13]
Coleen Phillimore
coleenp at openjdk.org
Tue Jan 7 22:06:42 UTC 2025
On Tue, 7 Jan 2025 02:36:36 GMT, Coleen Phillimore <coleenp at openjdk.org> wrote:
>> Please review this change that makes AccessFlags and modifier_flags u2 types and removes the last remnants of Hotspot adding internal access flags. This change moves AccessFlags and modifier_flags in Klass to alignment gaps saving 16 bytes. From pahole: so it's a bit better.
>>
>> before:
>>
>> /* size: 216, cachelines: 4, members: 25, static members: 17 */
>> /* sum members: 194, holes: 3, sum holes: 18 */
>>
>>
>> after:
>>
>> /* size: 200, cachelines: 4, members: 25, static members: 17 */
>> /* sum members: 188, holes: 4, sum holes: 12 */
>>
>>
>> We may eventually move the modifiers to java.lang.Class but that's WIP.
>>
>> Tested with tier1-7 on oracle platforms. Did test builds on other platforms (please try these changes ppc/arm32 and s390). Also requires minor Graal changes.
>
> Coleen Phillimore has updated the pull request incrementally with one additional commit since the last revision:
>
> Make more AccessFlags fetches more specific and remove an assert and remove this->s.
> IMO you could just call as_int() here. All other usages of ciFlags::as_int() are in printing code.
> Ideally, ciField::print() could use ciFlags::print(), but such cleanup can be done separately.
This does seem like a good future cleanup. Thanks for reviewing Vladimir.
Thanks for reviewing David, Yudi and Serguei. I reran tiers 1-7 on this change.
-------------
PR Comment: https://git.openjdk.org/jdk/pull/22246#issuecomment-2576308012
PR Comment: https://git.openjdk.org/jdk/pull/22246#issuecomment-2576309500
More information about the graal-dev
mailing list