[master] RFR: 8301562: [Lilliput] Runtime flag to enable Lilliput [v6]
Roman Kennke
rkennke at openjdk.org
Tue Mar 7 12:52:51 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 with a new target base due to a merge or a rebase. The pull request now contains 48 commits:
- Merge branch 'master' into JDK-8301562
- Merge remote-tracking branch 'origin/JDK-8301562' into JDK-8301562
- Disable Lilliput when user requests -CCP
- Remove superfluous changes
- Fix format specifiers to fix Mac builds
- Fix tests for 32bit builds
- Use tbz instruction in load_nklass to avoid touching live flags in verify_oop stub
- Comment-out mis-placed assert
- Only iterate metadata when not using compact object headers in SA
- Problem-list CompressedClassSpaceSize test
- ... and 38 more: https://git.openjdk.org/lilliput/compare/0fd026d7...fd558d57
-------------
Changes: https://git.openjdk.org/lilliput/pull/70/files
Webrev: https://webrevs.openjdk.org/?repo=lilliput&pr=70&range=05
Stats: 916 lines in 59 files changed: 603 ins; 47 del; 266 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