[master] RFR: 8306122: [Lilliput] Refactor full GC forwarding
Roman Kennke
rkennke at openjdk.org
Mon Apr 17 19:05:52 UTC 2023
Current implementation of full-GC/sliding-GC forwarding in Lilliput is problematic:
- It's scattered and hardwired all over GC implementations
- It's not switched by UseCompactObjectMonitors
- The serial compaction in G1 is commented-out and not used, not even under -XX:-UseCompactObjectMonitors
This change aims to refactor the forwarding code to address these issues.
It should be functionally equivalent but provides cleaner separation of Lilliput changes. It also cleans up and greatly reduces the upstream diff. The lack of G1 serial compaction with Lilliput enabled will be addressed in a follow-up change.
Testing:
- [x] hotspot_gc
- [ ] tier1
- [ ] tier2
-------------
Commit messages:
- Remove forwardingTable* stuff
- 8306122: [Lilliput] Refactor full GC forwarding
- Hashtable with Robin Hood hashing
- Use hashtable
- Aleksey's review
- Ensure compaction order in serial GC
- Track old and young separately in serial GC
- Fix test
- Add/fix comments
- Add GTest
- ... and 4 more: https://git.openjdk.org/lilliput/compare/88b34412...d2c6bed7
Changes: https://git.openjdk.org/lilliput/pull/85/files
Webrev: https://webrevs.openjdk.org/?repo=lilliput&pr=85&range=00
Issue: https://bugs.openjdk.org/browse/JDK-8306122
Stats: 500 lines in 38 files changed: 259 ins; 96 del; 145 mod
Patch: https://git.openjdk.org/lilliput/pull/85.diff
Fetch: git fetch https://git.openjdk.org/lilliput.git pull/85/head:pull/85
PR: https://git.openjdk.org/lilliput/pull/85
More information about the lilliput-dev
mailing list