RFR: Fix fullgc
Kelvin Nilsen
kdnilsen at openjdk.java.net
Wed Jun 8 22:05:30 UTC 2022
Two errors were recently discovered in the generational-mode implementation of FullGC:
1. There was an off-by-one error which caused full-gc to promote one cycle later than intent.
2. During a post-compaction phase of full-gc, certain old-gen regions were relabeled as young-gen, sometimes resulting in young-gen having usage above its capacity. When this occurs, further allocations are blocked because available within young-gen is zero (actually is negative).
-------------
Commit messages:
- Fix Full GC
- Start young collect instead of old if mixed evacuations are pending
- Filter out invalid pointers picked up by old gen SATB
- Log messages for old and young only if is generational
- Add log messages to degen and fuill GC
- Do not make_regular_bypass without heap lock
- Insert instrumentation for further testing
- Fix full gc
- Merge branch 'shenandoah-master' into shenandoah
- Merge branch 'shenandoah-master' into shenandoah
- ... and 10 more: https://git.openjdk.java.net/shenandoah/compare/5473b079...2a3943ce
Changes: https://git.openjdk.java.net/shenandoah/pull/142/files
Webrev: https://webrevs.openjdk.java.net/?repo=shenandoah&pr=142&range=00
Stats: 75 lines in 5 files changed: 25 ins; 7 del; 43 mod
Patch: https://git.openjdk.java.net/shenandoah/pull/142.diff
Fetch: git fetch https://git.openjdk.java.net/shenandoah pull/142/head:pull/142
PR: https://git.openjdk.java.net/shenandoah/pull/142
More information about the shenandoah-dev
mailing list