[master] RFR: 8304710: [Lilliput] Use forwarding table for sliding GCs [v2]
Roman Kennke
rkennke at openjdk.org
Thu Apr 13 08:40:10 UTC 2023
> This changes the full-GC forwarding of Serial, Parallel, G1 and Shenandoah to use a forwarding table instead of the fancy SlidingForwarding that we had until now. SlidingForwarding has been problematic because it did not work universally, in particular we needed to disable the G1 serial full GC (the last last ditch GC, after parallel full GC failed). Also, sliding forwarding would not work when we start working towards 32bit headers.
>
> The implementation of the forwarding table is a dense array of forwardings, with sorted entries and binary search. For details, have a look at the comments at the top of class ForwardingTable.
>
> The change also greatly reduces the upstream diff.
>
> Testing:
> - [x] tier1
> - [x] tier2
Roman Kennke has updated the pull request incrementally with two additional commits since the last revision:
- Track old and young separately in serial GC
- Fix test
-------------
Changes:
- all: https://git.openjdk.org/lilliput/pull/83/files
- new: https://git.openjdk.org/lilliput/pull/83/files/f1b694f4..1c811a65
Webrevs:
- full: https://webrevs.openjdk.org/?repo=lilliput&pr=83&range=01
- incr: https://webrevs.openjdk.org/?repo=lilliput&pr=83&range=00-01
Stats: 70 lines in 6 files changed: 13 ins; 0 del; 57 mod
Patch: https://git.openjdk.org/lilliput/pull/83.diff
Fetch: git fetch https://git.openjdk.org/lilliput.git pull/83/head:pull/83
PR: https://git.openjdk.org/lilliput/pull/83
More information about the lilliput-dev
mailing list