[master] RFR: 8301562: [Lilliput] Runtime flag to enable Lilliput [v5]
Thomas Stuefe
stuefe at openjdk.org
Mon Mar 6 16:03:42 UTC 2023
On Thu, 2 Mar 2023 16:10:29 GMT, Roman Kennke <rkennke at openjdk.org> wrote:
>> This change introduces an experimental runtime flag -XX:[+/-]UseCompactObjectHeaders which can be used to disable Lilliput. The flag guards all the relevant places that directly affect the object layout and the accesses to Klass* etc. The change also restores the previous behaviour when -UseCompactObjectHeaders is selected.
>>
>> One special difficulty is that CDS archives that are generated with compact object headers cannot currently be read with old-style headers, and vice versa. I work around this by disabling CDS when UseCompactObjectHeaders is set to non-default. This makes a few tests fail, but should otherwise be harmless. (In theory, we could implement parsing archives and loading objects with the correct header layout, but ... life's too short ;-) )
>>
>> Testing:
>> - [x] tier1 (x86_64, x86_32, aarch64) +UseCompactObjectHeaders
>> - [x] tier2 (x86_64, x86_32, aarch64) +UseCompactObjectHeaders
>> - [x] tier1 (x86_64, x86_32, aarch64) -UseCompactObjectHeaders
>> - [x] tier2 (x86_64, x86_32, aarch64) -UseCompactObjectHeaders
>
> Roman Kennke has updated the pull request incrementally with two additional commits since the last revision:
>
> - Merge remote-tracking branch 'origin/JDK-8301562' into JDK-8301562
> - Remove superfluous changes
LGTM.
We may (in a separate RFE) comb through the diff upstream<->lilliput and reinstante any tests that we disabled earlier thinking that CCP are always enabled. E.g. runtime/metaspace/TestMetaspaceUtilsGtests.java. There may be more.
Cheers, Thomas
-------------
Marked as reviewed by stuefe (Committer).
PR: https://git.openjdk.org/lilliput/pull/70
More information about the lilliput-dev
mailing list