Issue | Fix Version | Assignee | Priority | Status | Resolution | Resolved In Build |
---|---|---|---|---|---|---|
JDK-8260753 | openjdk8u292 | Andrew Hughes | P4 | Resolved | Fixed | b01 |
Arraycopy without overlap can safely perform optimizations like SIMD copy (load any values in src before writing any values in dest is legal for none-overlap array copy).
For compile time unknown array copy, stub code will check if arraycopy src and dest array overlap, if not overlap, perform faster none-overlap array copy.
In current aarch64 implementation, stub code check only if dest below src, this doesn’t cover cases dest above src but still not overlap case (as X86 did both tests).
__ cmp(d, s);
__ br(Assembler::LS, nooverlap_target);
For compile time unknown array copy, stub code will check if arraycopy src and dest array overlap, if not overlap, perform faster none-overlap array copy.
In current aarch64 implementation, stub code check only if dest below src, this doesn’t cover cases dest above src but still not overlap case (as X86 did both tests).
__ cmp(d, s);
__ br(Assembler::LS, nooverlap_target);
- backported by
-
JDK-8260753 AArch64: Recognize disjoint array copy in stub code
- Resolved
- relates to
-
JDK-8257192 Integrate AArch64 JIT port into 8u
- Resolved