Uploaded image for project: 'JDK'
  1. JDK
  2. JDK-8149080

AArch64: Recognize disjoint array copy in stub code

    XMLWordPrintable

    Details

    • Type: Enhancement
    • Status: Resolved
    • Priority: P4
    • Resolution: Fixed
    • Affects Version/s: 9
    • Fix Version/s: 9
    • Component/s: hotspot
    • Labels:
      None
    • Subcomponent:
    • Resolved In Build:
      b107
    • CPU:
      aarch64
    • OS:
      generic

      Backports

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

          Attachments

            Issue Links

              Activity

                People

                Assignee:
                hshi Hui Shi
                Reporter:
                hshi Hui Shi
                Votes:
                0 Vote for this issue
                Watchers:
                2 Start watching this issue

                  Dates

                  Created:
                  Updated:
                  Resolved: