<div dir="ltr">Hi,<div><br></div><div><div>Would some one help review this changeset?  This improves performance for codes like string builder and concat on aarch64.</div><div>Bug: <a href="https://bugs.openjdk.java.net/browse/JDK-8149080" target="_blank">https://bugs.openjdk.java.net/browse/JDK-8149080</a></div><div>webrev: <a href="http://cr.openjdk.java.net/~hshi/8149080/webrev/" target="_blank">http://cr.openjdk.java.net/~hshi/8149080/webrev/</a></div></div><div><div><br></div><div><div>Arraycopy without overlapping is faster than overlapped copy. If overlap information is unknown at JIT time, stub code will check if arraycopy src and dest array overlap at runtime, if not overlap, stub will perform faster none-overlap array copy. In current aarch64 implementation, stub code checks only if dest below src, this doesn’t cover cases dest above src but still not overlap case (as X86 did).</div></div><div><br></div><div><div>Fixing is checking both conditions,  if (dest-src) is above/equal (copy size), it's not overlap and stub code can jump to none overlapping copy.</div><div>Another modification is adding StubCodeMark for backward/forward copy longs on aarch64, so code in these sections can get profiled with correct stub name.</div></div><div><br></div><div>Regards</div><div>Hui</div></div></div>