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

AArch64: Recognize disjoint array copy in stub code

    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

      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

          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: