[lilliput-jdk17u:lilliput] RFR: 8303450: [Lilliput/JDK17] Runtime flag to enable Lilliput [v2]

Roman Kennke rkennke at openjdk.org
Fri Mar 10 18:40:16 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:
>  - [ ] tier1 (x86_64, x86_32, aarch64) +UseCompactObjectHeaders
>  - [ ] tier2 (x86_64, x86_32, aarch64) +UseCompactObjectHeaders
>  - [ ] tier1 (x86_64, x86_32, aarch64) -UseCompactObjectHeaders
>  - [ ] tier2 (x86_64, x86_32, aarch64) -UseCompactObjectHeaders

Roman Kennke has updated the pull request with a new target base due to a merge or a rebase. The incremental webrev excludes the unrelated changes brought in by the merge/rebase. The pull request contains 14 additional commits since the last revision:

 - Merge remote-tracking branch 'origin/JDK-8303450' into JDK-8303450
 - Fix include
 - x86_32 build fix
 - Merge remote-tracking branch 'origin/JDK-8303450' into JDK-8303450
 - x86 parts
 - Merge branch 'lilliput' into JDK-8303450
 - Disable Lilliput when user requests -CCP
 - Re-enable compact headers
 - More fixes
 - Few fixes
 - ... and 4 more: https://git.openjdk.org/lilliput-jdk17u/compare/32218892...dc485a98

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

Changes:
  - all: https://git.openjdk.org/lilliput-jdk17u/pull/8/files
  - new: https://git.openjdk.org/lilliput-jdk17u/pull/8/files/2b7bd43e..dc485a98

Webrevs:
 - full: https://webrevs.openjdk.org/?repo=lilliput-jdk17u&pr=8&range=01
 - incr: https://webrevs.openjdk.org/?repo=lilliput-jdk17u&pr=8&range=00-01

  Stats: 1477 lines in 63 files changed: 1164 ins; 158 del; 155 mod
  Patch: https://git.openjdk.org/lilliput-jdk17u/pull/8.diff
  Fetch: git fetch https://git.openjdk.org/lilliput-jdk17u pull/8/head:pull/8

PR: https://git.openjdk.org/lilliput-jdk17u/pull/8


More information about the lilliput-dev mailing list