[lilliput-jdk17u:lilliput] Integrated: 8303450: [Lilliput/JDK17] Runtime flag to enable Lilliput
Roman Kennke
rkennke at openjdk.org
Tue Mar 14 17:58:28 UTC 2023
On Wed, 1 Mar 2023 18:59:30 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
This pull request has now been integrated.
Changeset: 1dbc2651
Author: Roman Kennke <rkennke at openjdk.org>
URL: https://git.openjdk.org/lilliput-jdk17u/commit/1dbc26511e4986526d4d6e074014ea9837bce8a1
Stats: 839 lines in 51 files changed: 518 ins; 68 del; 253 mod
8303450: [Lilliput/JDK17] Runtime flag to enable Lilliput
Reviewed-by: stuefe
-------------
PR: https://git.openjdk.org/lilliput-jdk17u/pull/8
More information about the lilliput-dev
mailing list