-
Enhancement
-
Resolution: Fixed
-
P4
-
8-shenandoah, 11-shenandoah, 14, 15
-
b14
Issue | Fix Version | Assignee | Priority | Status | Resolution | Resolved In Build |
---|---|---|---|---|---|---|
JDK-8241541 | 14.0.2 | Aleksey Shipilev | P4 | Resolved | Fixed | b01 |
It does, however, run into problems:
a) It hoards the collection set until next cycle is done. This is a major issue, because the next cycle would come much sooner since the free space is now taken by collection set.
b) Heuristics needs to decide whether to do this shortcut or not, leading to awkward control problems, where that decision might be incorrect;
c) A lot of code assumes that there could be forwarded objects during concurrent mark.
In field testing, diving into such a piggyback cycle usually means the collector is running back-to-back cycles, which implies it has no breathing room. So, CM-with-UR cycle is already deemed the awkward mode to run in.
We should consider removing this feature to ease maintenance.
- backported by
-
JDK-8241541 Shenandoah: remove CM-with-UR piggybacking cycles
- Resolved
- blocks
-
JDK-8240870 Shenandoah: merge evac and update phases
- Open
-
JDK-8240948 Shenandoah: cleanup not-forwarded-objects paths after JDK-8240868
- Resolved
-
JDK-8241838 Shenandoah: no need to trash cset during final mark
- Resolved
- relates to
-
JDK-8242641 Shenandoah: clear live data and update TAMS optimistically
- Resolved
-
JDK-8248652 Shenandoah: SATB buffer handling may assume no forwarded objects
- Resolved
-
JDK-8258244 Shenandoah: Not expecting forwarded object in roots during mark after JDK-8240868
- Resolved
-
JDK-8336915 Shenandoah: Remove unused ShenandoahVerifier::verify_after_evacuation
- Resolved