[master] RFR: 8301562: [Lilliput] Runtime flag to enable Lilliput [v9]

Roman Kennke rkennke at openjdk.org
Thu Mar 9 12:53:26 UTC 2023


> 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 one additional commit since the last revision:

  Handle compact headers in oopDesc::set_narrow_klass()

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

Changes:
  - all: https://git.openjdk.org/lilliput/pull/70/files
  - new: https://git.openjdk.org/lilliput/pull/70/files/46ce90f4..6b1b7519

Webrevs:
 - full: https://webrevs.openjdk.org/?repo=lilliput&pr=70&range=08
 - incr: https://webrevs.openjdk.org/?repo=lilliput&pr=70&range=07-08

  Stats: 5 lines in 1 file changed: 3 ins; 0 del; 2 mod
  Patch: https://git.openjdk.org/lilliput/pull/70.diff
  Fetch: git fetch https://git.openjdk.org/lilliput pull/70/head:pull/70

PR: https://git.openjdk.org/lilliput/pull/70


More information about the lilliput-dev mailing list