JDK-8149080 : AArch64: Recognize disjoint array copy in stub code
  • Type: Enhancement
  • Component: hotspot
  • Sub-Component: compiler
  • Affected Version: 9
  • Priority: P4
  • Status: Resolved
  • Resolution: Fixed
  • OS: generic
  • CPU: aarch64
  • Submitted: 2016-02-05
  • Updated: 2021-02-01
  • Resolved: 2016-02-09
The Version table provides details related to the release that this issue/RFE will be addressed.

Unresolved : Release in which this issue/RFE will be addressed.
Resolved: Release in which this issue/RFE has been resolved.
Fixed : Release in which this issue/RFE has been fixed. The release containing this fix may be available for download as an Early Access Release or a General Availability Release.

To download the current JDK release, click here.
JDK 9 Other
9 b107Fixed openjdk8u292Fixed
Related Reports
Relates :  
Description
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);