-
Enhancement
-
Resolution: Fixed
-
P4
-
8-shenandoah, 11-shenandoah, 13, 14, 15
-
b15
-
generic
-
generic
Issue | Fix Version | Assignee | Priority | Status | Resolution | Resolved In Build |
---|---|---|---|---|---|---|
JDK-8243600 | 14.0.2 | Roman Kennke | P4 | Resolved | Fixed | b04 |
The strong invariant gives us an opportunity to short-cut arraycopy-barriers:
- if the src object is beyond the safe-iteration limit, e.g. has been allocated since evac-start, then it can not have any from-space references and thus does not require updating.
- likewise, if the dst object is beyond TAMS, e.g. has been allocated since mark-start, then it can only have references that must have been reachable otherwise and thus don't require enqueueing in SATB.
Short-cutting on those condition cuts out 80-90% of arraycopy slowpaths.
- if the src object is beyond the safe-iteration limit, e.g. has been allocated since evac-start, then it can not have any from-space references and thus does not require updating.
- likewise, if the dst object is beyond TAMS, e.g. has been allocated since mark-start, then it can only have references that must have been reachable otherwise and thus don't require enqueueing in SATB.
Short-cutting on those condition cuts out 80-90% of arraycopy slowpaths.
- backported by
-
JDK-8243600 Shenandoah: Short-cut arraycopy barriers
-
- Resolved
-
- relates to
-
JDK-8241081 Shenandoah: Do not modify update-watermark concurrently
-
- Closed
-
-
JDK-8240872 Shenandoah: Avoid updating new regions from start of evacuation
-
- Resolved
-