|
Relates :
|
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);