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

        Activity

        Hide
        hgupdate HG Updates added a comment -
        URL: http://hg.openjdk.java.net/jdk9/hs-comp/hotspot/rev/a482af88c594
        User: enevill
        Date: 2016-02-09 18:26:23 +0000
        Show
        hgupdate HG Updates added a comment - URL: http://hg.openjdk.java.net/jdk9/hs-comp/hotspot/rev/a482af88c594 User: enevill Date: 2016-02-09 18:26:23 +0000
        Hide
        hgupdate HG Updates added a comment -
        URL: http://hg.openjdk.java.net/jdk9/jdk9/hotspot/rev/a482af88c594
        User: lana
        Date: 2016-02-24 20:06:28 +0000
        Show
        hgupdate HG Updates added a comment - URL: http://hg.openjdk.java.net/jdk9/jdk9/hotspot/rev/a482af88c594 User: lana Date: 2016-02-24 20:06:28 +0000

          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: