-
Enhancement
-
Resolution: Fixed
-
P4
-
8-shenandoah, 11-shenandoah, 14, 15
-
b13
Issue | Fix Version | Assignee | Priority | Status | Resolution | Resolved In Build |
---|---|---|---|---|---|---|
JDK-8240616 | 14.0.2 | Aleksey Shipilev | P4 | Resolved | Fixed | b01 |
ShenandoahEvacAssist is an experimental option that strived to make calling into WB/LRB slowpath less frequent.
It implicitly relied on WB/LRB midpath to check for forwardee and shortcut from there. With the introduction of self-fixing barriers, this was intentionally removed. Therefore, Shenandoah would call into slow-path anyway, even when evac-assist path had evacuated some objects.
Also, with Traversal, the assist path breaks out of Traversal's intent to evacuate the objects in traversal order. There, it becomes actively harmful.
We should consider removing the assists.
It implicitly relied on WB/LRB midpath to check for forwardee and shortcut from there. With the introduction of self-fixing barriers, this was intentionally removed. Therefore, Shenandoah would call into slow-path anyway, even when evac-assist path had evacuated some objects.
Also, with Traversal, the assist path breaks out of Traversal's intent to evacuate the objects in traversal order. There, it becomes actively harmful.
We should consider removing the assists.
- backported by
-
JDK-8240616 Shenandoah: remove ShenandoahEvacAssist
- Resolved