public class org.graalvm.compiler.hotspot.test.ArrayCopyIntrinsificationTest extends org.graalvm.compiler.core.test.GraalCompilerTest
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: org.graalvm.compiler.hotspot.test.ArrayCopyIntrinsificationTest
  super_class: org.graalvm.compiler.core.test.GraalCompilerTest
{
  boolean mustIntrinsify;
    descriptor: Z
    flags: (0x0000) 

  static final boolean $assertionsDisabled;
    descriptor: Z
    flags: (0x1018) ACC_STATIC, ACC_FINAL, ACC_SYNTHETIC

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=1, locals=0, args_size=0
         0: .line 50
            ldc Lorg/graalvm/compiler/hotspot/test/ArrayCopyIntrinsificationTest;
            invokevirtual java.lang.Class.desiredAssertionStatus:()Z
            ifne 1
            iconst_1
            goto 2
      StackMap locals:
      StackMap stack:
         1: iconst_0
      StackMap locals:
      StackMap stack: int
         2: putstatic org.graalvm.compiler.hotspot.test.ArrayCopyIntrinsificationTest.$assertionsDisabled:Z
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public void <init>();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.graalvm.compiler.hotspot.test.ArrayCopyIntrinsificationTest this
         0: .line 50
            aload 0 /* this */
            invokespecial org.graalvm.compiler.core.test.GraalCompilerTest.<init>:()V
         1: .line 96
            aload 0 /* this */
            iconst_1
            putfield org.graalvm.compiler.hotspot.test.ArrayCopyIntrinsificationTest.mustIntrinsify:Z
         2: .line 50
            return
        end local 0 // org.graalvm.compiler.hotspot.test.ArrayCopyIntrinsificationTest this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lorg/graalvm/compiler/hotspot/test/ArrayCopyIntrinsificationTest;

  protected jdk.vm.ci.code.InstalledCode getCode(jdk.vm.ci.meta.ResolvedJavaMethod, org.graalvm.compiler.nodes.StructuredGraph, boolean, boolean, org.graalvm.compiler.options.OptionValues);
    descriptor: (Ljdk/vm/ci/meta/ResolvedJavaMethod;Lorg/graalvm/compiler/nodes/StructuredGraph;ZZLorg/graalvm/compiler/options/OptionValues;)Ljdk/vm/ci/code/InstalledCode;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=6, locals=16, args_size=6
        start local 0 // org.graalvm.compiler.hotspot.test.ArrayCopyIntrinsificationTest this
        start local 1 // jdk.vm.ci.meta.ResolvedJavaMethod method
        start local 2 // org.graalvm.compiler.nodes.StructuredGraph g
        start local 3 // boolean forceCompile
        start local 4 // boolean installAsDefault
        start local 5 // org.graalvm.compiler.options.OptionValues options
         0: .line 54
            aload 2 /* g */
            ifnonnull 1
            aload 0 /* this */
            aload 1 /* method */
            invokevirtual org.graalvm.compiler.hotspot.test.ArrayCopyIntrinsificationTest.parseForCompile:(Ljdk/vm/ci/meta/ResolvedJavaMethod;)Lorg/graalvm/compiler/nodes/StructuredGraph;
            goto 2
      StackMap locals:
      StackMap stack:
         1: aload 2 /* g */
      StackMap locals:
      StackMap stack: org.graalvm.compiler.nodes.StructuredGraph
         2: astore 6 /* graph */
        start local 6 // org.graalvm.compiler.nodes.StructuredGraph graph
         3: .line 55
            aload 6 /* graph */
            invokevirtual org.graalvm.compiler.nodes.StructuredGraph.getNodeCount:()I
            istore 7 /* nodeCount */
        start local 7 // int nodeCount
         4: .line 56
            aload 0 /* this */
            aload 1 /* method */
            aload 6 /* graph */
            iload 3 /* forceCompile */
            iload 4 /* installAsDefault */
            aload 5 /* options */
            invokespecial org.graalvm.compiler.core.test.GraalCompilerTest.getCode:(Ljdk/vm/ci/meta/ResolvedJavaMethod;Lorg/graalvm/compiler/nodes/StructuredGraph;ZZLorg/graalvm/compiler/options/OptionValues;)Ljdk/vm/ci/code/InstalledCode;
            astore 8 /* result */
        start local 8 // jdk.vm.ci.code.InstalledCode result
         5: .line 57
            iload 7 /* nodeCount */
            aload 6 /* graph */
            invokevirtual org.graalvm.compiler.nodes.StructuredGraph.getNodeCount:()I
            if_icmpeq 6
            iconst_1
            goto 7
      StackMap locals: org.graalvm.compiler.nodes.StructuredGraph int jdk.vm.ci.code.InstalledCode
      StackMap stack:
         6: iconst_0
      StackMap locals:
      StackMap stack: int
         7: istore 9 /* graphWasProcessed */
        start local 9 // boolean graphWasProcessed
         8: .line 58
            iload 9 /* graphWasProcessed */
            ifeq 38
         9: .line 59
            aload 0 /* this */
            getfield org.graalvm.compiler.hotspot.test.ArrayCopyIntrinsificationTest.mustIntrinsify:Z
            ifeq 25
        10: .line 60
            aload 6 /* graph */
            invokevirtual org.graalvm.compiler.nodes.StructuredGraph.getNodes:()Lorg/graalvm/compiler/graph/iterators/NodeIterable;
            invokeinterface org.graalvm.compiler.graph.iterators.NodeIterable.iterator:()Ljava/util/Iterator;
            astore 11
            goto 23
      StackMap locals: org.graalvm.compiler.hotspot.test.ArrayCopyIntrinsificationTest jdk.vm.ci.meta.ResolvedJavaMethod org.graalvm.compiler.nodes.StructuredGraph int int org.graalvm.compiler.options.OptionValues org.graalvm.compiler.nodes.StructuredGraph int jdk.vm.ci.code.InstalledCode int top java.util.Iterator
      StackMap stack:
        11: aload 11
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.graalvm.compiler.graph.Node
            astore 10 /* node */
        start local 10 // org.graalvm.compiler.graph.Node node
        12: .line 61
            aload 10 /* node */
            instanceof org.graalvm.compiler.nodes.Invoke
            ifeq 23
        13: .line 62
            aload 10 /* node */
            checkcast org.graalvm.compiler.nodes.Invoke
            astore 12 /* invoke */
        start local 12 // org.graalvm.compiler.nodes.Invoke invoke
        14: .line 63
            aload 12 /* invoke */
            invokeinterface org.graalvm.compiler.nodes.Invoke.callTarget:()Lorg/graalvm/compiler/nodes/CallTargetNode;
            instanceof org.graalvm.compiler.nodes.DirectCallTargetNode
            invokestatic org.junit.Assert.assertTrue:(Z)V
        15: .line 64
            aload 12 /* invoke */
            invokeinterface org.graalvm.compiler.nodes.Invoke.callTarget:()Lorg/graalvm/compiler/nodes/CallTargetNode;
            checkcast org.graalvm.compiler.nodes.LoweredCallTargetNode
            astore 13 /* directCall */
        start local 13 // org.graalvm.compiler.nodes.LoweredCallTargetNode directCall
        16: .line 65
            aload 13 /* directCall */
            invokevirtual org.graalvm.compiler.nodes.LoweredCallTargetNode.targetMethod:()Ljdk/vm/ci/meta/ResolvedJavaMethod;
            astore 14 /* callee */
        start local 14 // jdk.vm.ci.meta.JavaMethod callee
        17: .line 66
            aload 14 /* callee */
            invokeinterface jdk.vm.ci.meta.JavaMethod.getDeclaringClass:()Ljdk/vm/ci/meta/JavaType;
            aload 0 /* this */
            invokevirtual org.graalvm.compiler.hotspot.test.ArrayCopyIntrinsificationTest.getMetaAccess:()Ljdk/vm/ci/meta/MetaAccessProvider;
            ldc Ljava/lang/System;
            invokeinterface jdk.vm.ci.meta.MetaAccessProvider.lookupJavaType:(Ljava/lang/Class;)Ljdk/vm/ci/meta/ResolvedJavaType;
            invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
            ifeq 18
            aload 14 /* callee */
            invokeinterface jdk.vm.ci.meta.JavaMethod.getName:()Ljava/lang/String;
            ldc "arraycopy"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 23
        18: .line 70
      StackMap locals: org.graalvm.compiler.hotspot.test.ArrayCopyIntrinsificationTest jdk.vm.ci.meta.ResolvedJavaMethod org.graalvm.compiler.nodes.StructuredGraph int int org.graalvm.compiler.options.OptionValues org.graalvm.compiler.nodes.StructuredGraph int jdk.vm.ci.code.InstalledCode int org.graalvm.compiler.graph.Node java.util.Iterator org.graalvm.compiler.nodes.Invoke org.graalvm.compiler.nodes.LoweredCallTargetNode jdk.vm.ci.meta.JavaMethod
      StackMap stack:
            aload 14 /* callee */
            invokevirtual java.lang.Object.toString:()Ljava/lang/String;
            aload 14 /* callee */
            invokeinterface jdk.vm.ci.meta.JavaMethod.getName:()Ljava/lang/String;
            ldc "<init>"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            invokestatic org.junit.Assert.assertTrue:(Ljava/lang/String;Z)V
        19: .line 71
            aload 0 /* this */
            invokevirtual org.graalvm.compiler.hotspot.test.ArrayCopyIntrinsificationTest.getMetaAccess:()Ljdk/vm/ci/meta/MetaAccessProvider;
            ldc Ljava/lang/ArrayIndexOutOfBoundsException;
            invokeinterface jdk.vm.ci.meta.MetaAccessProvider.lookupJavaType:(Ljava/lang/Class;)Ljdk/vm/ci/meta/ResolvedJavaType;
            aload 14 /* callee */
            invokeinterface jdk.vm.ci.meta.JavaMethod.getDeclaringClass:()Ljdk/vm/ci/meta/JavaType;
            invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
            ifne 21
        20: .line 72
            aload 0 /* this */
            invokevirtual org.graalvm.compiler.hotspot.test.ArrayCopyIntrinsificationTest.getMetaAccess:()Ljdk/vm/ci/meta/MetaAccessProvider;
            ldc Ljava/lang/NullPointerException;
            invokeinterface jdk.vm.ci.meta.MetaAccessProvider.lookupJavaType:(Ljava/lang/Class;)Ljdk/vm/ci/meta/ResolvedJavaType;
            aload 14 /* callee */
            invokeinterface jdk.vm.ci.meta.JavaMethod.getDeclaringClass:()Ljdk/vm/ci/meta/JavaType;
            invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
            ifne 21
            iconst_0
            goto 22
      StackMap locals:
      StackMap stack:
        21: iconst_1
        22: .line 71
      StackMap locals:
      StackMap stack: int
            invokestatic org.junit.Assert.assertTrue:(Z)V
        end local 14 // jdk.vm.ci.meta.JavaMethod callee
        end local 13 // org.graalvm.compiler.nodes.LoweredCallTargetNode directCall
        end local 12 // org.graalvm.compiler.nodes.Invoke invoke
        end local 10 // org.graalvm.compiler.graph.Node node
        23: .line 60
      StackMap locals: org.graalvm.compiler.hotspot.test.ArrayCopyIntrinsificationTest jdk.vm.ci.meta.ResolvedJavaMethod org.graalvm.compiler.nodes.StructuredGraph int int org.graalvm.compiler.options.OptionValues org.graalvm.compiler.nodes.StructuredGraph int jdk.vm.ci.code.InstalledCode int top java.util.Iterator
      StackMap stack:
            aload 11
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 11
        24: .line 76
            goto 38
        25: .line 77
      StackMap locals: org.graalvm.compiler.hotspot.test.ArrayCopyIntrinsificationTest jdk.vm.ci.meta.ResolvedJavaMethod org.graalvm.compiler.nodes.StructuredGraph int int org.graalvm.compiler.options.OptionValues org.graalvm.compiler.nodes.StructuredGraph int jdk.vm.ci.code.InstalledCode int
      StackMap stack:
            iconst_0
            istore 10 /* found */
        start local 10 // boolean found
        26: .line 78
            aload 6 /* graph */
            invokevirtual org.graalvm.compiler.nodes.StructuredGraph.getNodes:()Lorg/graalvm/compiler/graph/iterators/NodeIterable;
            invokeinterface org.graalvm.compiler.graph.iterators.NodeIterable.iterator:()Ljava/util/Iterator;
            astore 12
            goto 36
      StackMap locals: org.graalvm.compiler.hotspot.test.ArrayCopyIntrinsificationTest jdk.vm.ci.meta.ResolvedJavaMethod org.graalvm.compiler.nodes.StructuredGraph int int org.graalvm.compiler.options.OptionValues org.graalvm.compiler.nodes.StructuredGraph int jdk.vm.ci.code.InstalledCode int int top java.util.Iterator
      StackMap stack:
        27: aload 12
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.graalvm.compiler.graph.Node
            astore 11 /* node */
        start local 11 // org.graalvm.compiler.graph.Node node
        28: .line 79
            aload 11 /* node */
            instanceof org.graalvm.compiler.nodes.Invoke
            ifeq 36
        29: .line 80
            aload 11 /* node */
            checkcast org.graalvm.compiler.nodes.Invoke
            astore 13 /* invoke */
        start local 13 // org.graalvm.compiler.nodes.Invoke invoke
        30: .line 81
            aload 13 /* invoke */
            invokeinterface org.graalvm.compiler.nodes.Invoke.callTarget:()Lorg/graalvm/compiler/nodes/CallTargetNode;
            checkcast org.graalvm.compiler.nodes.LoweredCallTargetNode
            astore 14 /* directCall */
        start local 14 // org.graalvm.compiler.nodes.LoweredCallTargetNode directCall
        31: .line 82
            aload 14 /* directCall */
            invokevirtual org.graalvm.compiler.nodes.LoweredCallTargetNode.targetMethod:()Ljdk/vm/ci/meta/ResolvedJavaMethod;
            astore 15 /* callee */
        start local 15 // jdk.vm.ci.meta.JavaMethod callee
        32: .line 83
            aload 15 /* callee */
            invokeinterface jdk.vm.ci.meta.JavaMethod.getDeclaringClass:()Ljdk/vm/ci/meta/JavaType;
            aload 0 /* this */
            invokevirtual org.graalvm.compiler.hotspot.test.ArrayCopyIntrinsificationTest.getMetaAccess:()Ljdk/vm/ci/meta/MetaAccessProvider;
            ldc Ljava/lang/System;
            invokeinterface jdk.vm.ci.meta.MetaAccessProvider.lookupJavaType:(Ljava/lang/Class;)Ljdk/vm/ci/meta/ResolvedJavaType;
            invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
            ifeq 35
            aload 15 /* callee */
            invokeinterface jdk.vm.ci.meta.JavaMethod.getName:()Ljava/lang/String;
            ldc "arraycopy"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 35
        33: .line 84
            iconst_1
            istore 10 /* found */
        34: .line 85
            goto 36
        35: .line 86
      StackMap locals: org.graalvm.compiler.hotspot.test.ArrayCopyIntrinsificationTest jdk.vm.ci.meta.ResolvedJavaMethod org.graalvm.compiler.nodes.StructuredGraph int int org.graalvm.compiler.options.OptionValues org.graalvm.compiler.nodes.StructuredGraph int jdk.vm.ci.code.InstalledCode int int org.graalvm.compiler.graph.Node java.util.Iterator org.graalvm.compiler.nodes.Invoke org.graalvm.compiler.nodes.LoweredCallTargetNode jdk.vm.ci.meta.JavaMethod
      StackMap stack:
            new java.lang.StringBuilder
            dup
            ldc "found invoke to some method other than arraycopy: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 15 /* callee */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            iconst_0
            anewarray java.lang.Object
            invokestatic org.graalvm.compiler.hotspot.test.ArrayCopyIntrinsificationTest.fail:(Ljava/lang/String;[Ljava/lang/Object;)V
        end local 15 // jdk.vm.ci.meta.JavaMethod callee
        end local 14 // org.graalvm.compiler.nodes.LoweredCallTargetNode directCall
        end local 13 // org.graalvm.compiler.nodes.Invoke invoke
        end local 11 // org.graalvm.compiler.graph.Node node
        36: .line 78
      StackMap locals: org.graalvm.compiler.hotspot.test.ArrayCopyIntrinsificationTest jdk.vm.ci.meta.ResolvedJavaMethod org.graalvm.compiler.nodes.StructuredGraph int int org.graalvm.compiler.options.OptionValues org.graalvm.compiler.nodes.StructuredGraph int jdk.vm.ci.code.InstalledCode int int top java.util.Iterator
      StackMap stack:
            aload 12
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 27
        37: .line 90
            ldc "did not find invoke to arraycopy"
            iload 10 /* found */
            invokestatic org.junit.Assert.assertTrue:(Ljava/lang/String;Z)V
        end local 10 // boolean found
        38: .line 93
      StackMap locals: org.graalvm.compiler.hotspot.test.ArrayCopyIntrinsificationTest jdk.vm.ci.meta.ResolvedJavaMethod org.graalvm.compiler.nodes.StructuredGraph int int org.graalvm.compiler.options.OptionValues org.graalvm.compiler.nodes.StructuredGraph int jdk.vm.ci.code.InstalledCode int
      StackMap stack:
            aload 8 /* result */
            areturn
        end local 9 // boolean graphWasProcessed
        end local 8 // jdk.vm.ci.code.InstalledCode result
        end local 7 // int nodeCount
        end local 6 // org.graalvm.compiler.nodes.StructuredGraph graph
        end local 5 // org.graalvm.compiler.options.OptionValues options
        end local 4 // boolean installAsDefault
        end local 3 // boolean forceCompile
        end local 2 // org.graalvm.compiler.nodes.StructuredGraph g
        end local 1 // jdk.vm.ci.meta.ResolvedJavaMethod method
        end local 0 // org.graalvm.compiler.hotspot.test.ArrayCopyIntrinsificationTest this
      LocalVariableTable:
        Start  End  Slot               Name  Signature
            0   39     0               this  Lorg/graalvm/compiler/hotspot/test/ArrayCopyIntrinsificationTest;
            0   39     1             method  Ljdk/vm/ci/meta/ResolvedJavaMethod;
            0   39     2                  g  Lorg/graalvm/compiler/nodes/StructuredGraph;
            0   39     3       forceCompile  Z
            0   39     4   installAsDefault  Z
            0   39     5            options  Lorg/graalvm/compiler/options/OptionValues;
            3   39     6              graph  Lorg/graalvm/compiler/nodes/StructuredGraph;
            4   39     7          nodeCount  I
            5   39     8             result  Ljdk/vm/ci/code/InstalledCode;
            8   39     9  graphWasProcessed  Z
           12   23    10               node  Lorg/graalvm/compiler/graph/Node;
           14   23    12             invoke  Lorg/graalvm/compiler/nodes/Invoke;
           16   23    13         directCall  Lorg/graalvm/compiler/nodes/LoweredCallTargetNode;
           17   23    14             callee  Ljdk/vm/ci/meta/JavaMethod;
           26   38    10              found  Z
           28   36    11               node  Lorg/graalvm/compiler/graph/Node;
           30   36    13             invoke  Lorg/graalvm/compiler/nodes/Invoke;
           31   36    14         directCall  Lorg/graalvm/compiler/nodes/LoweredCallTargetNode;
           32   36    15             callee  Ljdk/vm/ci/meta/JavaMethod;
    MethodParameters:
                  Name  Flags
      method            
      g                 
      forceCompile      
      installAsDefault  
      options           

  public void test0();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=7, locals=1, args_size=1
        start local 0 // org.graalvm.compiler.hotspot.test.ArrayCopyIntrinsificationTest this
         0: .line 101
            aload 0 /* this */
            ldc "genericArraycopy"
            iconst_5
            anewarray java.lang.Object
            dup
            iconst_0
            new java.lang.Object
            dup
            invokespecial java.lang.Object.<init>:()V
            aastore
            dup
            iconst_1
            iconst_0
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            aastore
            dup
            iconst_2
            iconst_0
            anewarray java.lang.Object
            aastore
            dup
            iconst_3
            iconst_0
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            aastore
            dup
            iconst_4
            iconst_0
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            aastore
            invokevirtual org.graalvm.compiler.hotspot.test.ArrayCopyIntrinsificationTest.test:(Ljava/lang/String;[Ljava/lang/Object;)Lorg/graalvm/compiler/core/test/GraalCompilerTest$Result;
            pop
         1: .line 102
            aload 0 /* this */
            ldc "genericArraycopy"
            iconst_5
            anewarray java.lang.Object
            dup
            iconst_0
            iconst_0
            anewarray java.lang.Object
            aastore
            dup
            iconst_1
            iconst_0
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            aastore
            dup
            iconst_2
            new java.lang.Object
            dup
            invokespecial java.lang.Object.<init>:()V
            aastore
            dup
            iconst_3
            iconst_0
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            aastore
            dup
            iconst_4
            iconst_0
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            aastore
            invokevirtual org.graalvm.compiler.hotspot.test.ArrayCopyIntrinsificationTest.test:(Ljava/lang/String;[Ljava/lang/Object;)Lorg/graalvm/compiler/core/test/GraalCompilerTest$Result;
            pop
         2: .line 103
            return
        end local 0 // org.graalvm.compiler.hotspot.test.ArrayCopyIntrinsificationTest this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lorg/graalvm/compiler/hotspot/test/ArrayCopyIntrinsificationTest;
    RuntimeVisibleAnnotations: 
      org.junit.Test()

  public void test1();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=7, locals=3, args_size=1
        start local 0 // org.graalvm.compiler.hotspot.test.ArrayCopyIntrinsificationTest this
         0: .line 107
            ldc "intArraycopy"
            astore 1 /* name */
        start local 1 // java.lang.String name
         1: .line 108
            bipush 8
            newarray 10
            dup
            iconst_0
            sipush 234
            iastore
            dup
            iconst_1
            sipush 5345
            iastore
            dup
            iconst_2
            sipush 756
            iastore
            dup
            iconst_3
            bipush 23
            iastore
            dup
            iconst_4
            bipush 8
            iastore
            dup
            iconst_5
            sipush 345
            iastore
            dup
            bipush 6
            sipush 873
            iastore
            dup
            bipush 7
            sipush 440
            iastore
            astore 2 /* src */
        start local 2 // int[] src
         2: .line 110
            aload 0 /* this */
            aload 1 /* name */
            iconst_5
            anewarray java.lang.Object
            dup
            iconst_0
            aconst_null
            aastore
            dup
            iconst_1
            iconst_0
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            aastore
            dup
            iconst_2
            aload 2 /* src */
            aastore
            dup
            iconst_3
            iconst_0
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            aastore
            dup
            iconst_4
            iconst_0
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            aastore
            invokevirtual org.graalvm.compiler.hotspot.test.ArrayCopyIntrinsificationTest.test:(Ljava/lang/String;[Ljava/lang/Object;)Lorg/graalvm/compiler/core/test/GraalCompilerTest$Result;
            pop
         3: .line 111
            aload 0 /* this */
            aload 1 /* name */
            iconst_5
            anewarray java.lang.Object
            dup
            iconst_0
            aload 2 /* src */
            aastore
            dup
            iconst_1
            iconst_0
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            aastore
            dup
            iconst_2
            aconst_null
            aastore
            dup
            iconst_3
            iconst_0
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            aastore
            dup
            iconst_4
            iconst_0
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            aastore
            invokevirtual org.graalvm.compiler.hotspot.test.ArrayCopyIntrinsificationTest.test:(Ljava/lang/String;[Ljava/lang/Object;)Lorg/graalvm/compiler/core/test/GraalCompilerTest$Result;
            pop
         4: .line 113
            aload 0 /* this */
            aload 1 /* name */
            iconst_5
            anewarray java.lang.Object
            dup
            iconst_0
            aload 2 /* src */
            aastore
            dup
            iconst_1
            iconst_0
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            aastore
            dup
            iconst_2
            aload 2 /* src */
            aastore
            dup
            iconst_3
            iconst_0
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            aastore
            dup
            iconst_4
            iconst_m1
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            aastore
            invokevirtual org.graalvm.compiler.hotspot.test.ArrayCopyIntrinsificationTest.test:(Ljava/lang/String;[Ljava/lang/Object;)Lorg/graalvm/compiler/core/test/GraalCompilerTest$Result;
            pop
         5: .line 114
            aload 0 /* this */
            aload 1 /* name */
            iconst_5
            anewarray java.lang.Object
            dup
            iconst_0
            aload 2 /* src */
            aastore
            dup
            iconst_1
            iconst_0
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            aastore
            dup
            iconst_2
            aload 2 /* src */
            aastore
            dup
            iconst_3
            iconst_0
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            aastore
            dup
            iconst_4
            aload 2 /* src */
            arraylength
            iconst_1
            iadd
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            aastore
            invokevirtual org.graalvm.compiler.hotspot.test.ArrayCopyIntrinsificationTest.test:(Ljava/lang/String;[Ljava/lang/Object;)Lorg/graalvm/compiler/core/test/GraalCompilerTest$Result;
            pop
         6: .line 115
            return
        end local 2 // int[] src
        end local 1 // java.lang.String name
        end local 0 // org.graalvm.compiler.hotspot.test.ArrayCopyIntrinsificationTest this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    7     0  this  Lorg/graalvm/compiler/hotspot/test/ArrayCopyIntrinsificationTest;
            1    7     1  name  Ljava/lang/String;
            2    7     2   src  [I
    RuntimeVisibleAnnotations: 
      org.junit.Test()

  public void testByte();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=2, args_size=1
        start local 0 // org.graalvm.compiler.hotspot.test.ArrayCopyIntrinsificationTest this
         0: .line 119
            bipush 6
            newarray 8
            dup
            iconst_0
            iconst_m1
            bastore
            dup
            iconst_2
            iconst_1
            bastore
            dup
            iconst_3
            iconst_2
            bastore
            dup
            iconst_4
            iconst_3
            bastore
            dup
            iconst_5
            iconst_4
            bastore
            astore 1 /* src */
        start local 1 // byte[] src
         1: .line 120
            aload 0 /* this */
            ldc "byteArraycopy"
            aload 1 /* src */
            invokevirtual org.graalvm.compiler.hotspot.test.ArrayCopyIntrinsificationTest.testHelper:(Ljava/lang/String;Ljava/lang/Object;)V
         2: .line 121
            return
        end local 1 // byte[] src
        end local 0 // org.graalvm.compiler.hotspot.test.ArrayCopyIntrinsificationTest this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lorg/graalvm/compiler/hotspot/test/ArrayCopyIntrinsificationTest;
            1    3     1   src  [B
    RuntimeVisibleAnnotations: 
      org.junit.Test()

  public void testChar();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=1
        start local 0 // org.graalvm.compiler.hotspot.test.ArrayCopyIntrinsificationTest this
         0: .line 125
            ldc "some string of chars"
            invokevirtual java.lang.String.toCharArray:()[C
            astore 1 /* src */
        start local 1 // char[] src
         1: .line 126
            aload 0 /* this */
            ldc "charArraycopy"
            aload 1 /* src */
            invokevirtual org.graalvm.compiler.hotspot.test.ArrayCopyIntrinsificationTest.testHelper:(Ljava/lang/String;Ljava/lang/Object;)V
         2: .line 127
            return
        end local 1 // char[] src
        end local 0 // org.graalvm.compiler.hotspot.test.ArrayCopyIntrinsificationTest this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lorg/graalvm/compiler/hotspot/test/ArrayCopyIntrinsificationTest;
            1    3     1   src  [C
    RuntimeVisibleAnnotations: 
      org.junit.Test()

  public void testShort();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=2, args_size=1
        start local 0 // org.graalvm.compiler.hotspot.test.ArrayCopyIntrinsificationTest this
         0: .line 131
            bipush 8
            newarray 9
            dup
            iconst_0
            sipush 234
            sastore
            dup
            iconst_1
            sipush 5345
            sastore
            dup
            iconst_2
            sipush 756
            sastore
            dup
            iconst_3
            bipush 23
            sastore
            dup
            iconst_4
            bipush 8
            sastore
            dup
            iconst_5
            sipush 345
            sastore
            dup
            bipush 6
            sipush 873
            sastore
            dup
            bipush 7
            sipush 440
            sastore
            astore 1 /* src */
        start local 1 // short[] src
         1: .line 132
            aload 0 /* this */
            ldc "shortArraycopy"
            aload 1 /* src */
            invokevirtual org.graalvm.compiler.hotspot.test.ArrayCopyIntrinsificationTest.testHelper:(Ljava/lang/String;Ljava/lang/Object;)V
         2: .line 133
            return
        end local 1 // short[] src
        end local 0 // org.graalvm.compiler.hotspot.test.ArrayCopyIntrinsificationTest this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lorg/graalvm/compiler/hotspot/test/ArrayCopyIntrinsificationTest;
            1    3     1   src  [S
    RuntimeVisibleAnnotations: 
      org.junit.Test()

  public void testInt();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=2, args_size=1
        start local 0 // org.graalvm.compiler.hotspot.test.ArrayCopyIntrinsificationTest this
         0: .line 137
            bipush 8
            newarray 10
            dup
            iconst_0
            sipush 234
            iastore
            dup
            iconst_1
            sipush 5345
            iastore
            dup
            iconst_2
            sipush 756
            iastore
            dup
            iconst_3
            bipush 23
            iastore
            dup
            iconst_4
            bipush 8
            iastore
            dup
            iconst_5
            sipush 345
            iastore
            dup
            bipush 6
            sipush 873
            iastore
            dup
            bipush 7
            sipush 440
            iastore
            astore 1 /* src */
        start local 1 // int[] src
         1: .line 138
            aload 0 /* this */
            ldc "intArraycopy"
            aload 1 /* src */
            invokevirtual org.graalvm.compiler.hotspot.test.ArrayCopyIntrinsificationTest.testHelper:(Ljava/lang/String;Ljava/lang/Object;)V
         2: .line 139
            return
        end local 1 // int[] src
        end local 0 // org.graalvm.compiler.hotspot.test.ArrayCopyIntrinsificationTest this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lorg/graalvm/compiler/hotspot/test/ArrayCopyIntrinsificationTest;
            1    3     1   src  [I
    RuntimeVisibleAnnotations: 
      org.junit.Test()

  public void testFloat();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=2, args_size=1
        start local 0 // org.graalvm.compiler.hotspot.test.ArrayCopyIntrinsificationTest this
         0: .line 143
            bipush 8
            newarray 6
            dup
            iconst_0
            ldc 234.0
            fastore
            dup
            iconst_1
            ldc 5345.0
            fastore
            dup
            iconst_2
            ldc 756.0
            fastore
            dup
            iconst_3
            ldc 23.0
            fastore
            dup
            iconst_4
            ldc 8.0
            fastore
            dup
            iconst_5
            ldc 345.0
            fastore
            dup
            bipush 6
            ldc 873.0
            fastore
            dup
            bipush 7
            ldc 440.0
            fastore
            astore 1 /* src */
        start local 1 // float[] src
         1: .line 144
            aload 0 /* this */
            ldc "floatArraycopy"
            aload 1 /* src */
            invokevirtual org.graalvm.compiler.hotspot.test.ArrayCopyIntrinsificationTest.testHelper:(Ljava/lang/String;Ljava/lang/Object;)V
         2: .line 145
            return
        end local 1 // float[] src
        end local 0 // org.graalvm.compiler.hotspot.test.ArrayCopyIntrinsificationTest this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lorg/graalvm/compiler/hotspot/test/ArrayCopyIntrinsificationTest;
            1    3     1   src  [F
    RuntimeVisibleAnnotations: 
      org.junit.Test()

  public void testLong();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=2, args_size=1
        start local 0 // org.graalvm.compiler.hotspot.test.ArrayCopyIntrinsificationTest this
         0: .line 149
            bipush 8
            newarray 11
            dup
            iconst_0
            ldc 234
            lastore
            dup
            iconst_1
            ldc 5345
            lastore
            dup
            iconst_2
            ldc 756
            lastore
            dup
            iconst_3
            ldc 23
            lastore
            dup
            iconst_4
            ldc 8
            lastore
            dup
            iconst_5
            ldc 345
            lastore
            dup
            bipush 6
            ldc 873
            lastore
            dup
            bipush 7
            ldc 440
            lastore
            astore 1 /* src */
        start local 1 // long[] src
         1: .line 150
            aload 0 /* this */
            ldc "longArraycopy"
            aload 1 /* src */
            invokevirtual org.graalvm.compiler.hotspot.test.ArrayCopyIntrinsificationTest.testHelper:(Ljava/lang/String;Ljava/lang/Object;)V
         2: .line 151
            return
        end local 1 // long[] src
        end local 0 // org.graalvm.compiler.hotspot.test.ArrayCopyIntrinsificationTest this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lorg/graalvm/compiler/hotspot/test/ArrayCopyIntrinsificationTest;
            1    3     1   src  [J
    RuntimeVisibleAnnotations: 
      org.junit.Test()

  public void testDouble();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=2, args_size=1
        start local 0 // org.graalvm.compiler.hotspot.test.ArrayCopyIntrinsificationTest this
         0: .line 155
            bipush 8
            newarray 7
            dup
            iconst_0
            ldc 234.0
            dastore
            dup
            iconst_1
            ldc 5345.0
            dastore
            dup
            iconst_2
            ldc 756.0
            dastore
            dup
            iconst_3
            ldc 23.0
            dastore
            dup
            iconst_4
            ldc 8.0
            dastore
            dup
            iconst_5
            ldc 345.0
            dastore
            dup
            bipush 6
            ldc 873.0
            dastore
            dup
            bipush 7
            ldc 440.0
            dastore
            astore 1 /* src */
        start local 1 // double[] src
         1: .line 156
            aload 0 /* this */
            ldc "doubleArraycopy"
            aload 1 /* src */
            invokevirtual org.graalvm.compiler.hotspot.test.ArrayCopyIntrinsificationTest.testHelper:(Ljava/lang/String;Ljava/lang/Object;)V
         2: .line 157
            return
        end local 1 // double[] src
        end local 0 // org.graalvm.compiler.hotspot.test.ArrayCopyIntrinsificationTest this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lorg/graalvm/compiler/hotspot/test/ArrayCopyIntrinsificationTest;
            1    3     1   src  [D
    RuntimeVisibleAnnotations: 
      org.junit.Test()

  public void testObject();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=2, args_size=1
        start local 0 // org.graalvm.compiler.hotspot.test.ArrayCopyIntrinsificationTest this
         0: .line 161
            iconst_5
            anewarray java.lang.Object
            dup
            iconst_0
            ldc "one"
            aastore
            dup
            iconst_1
            ldc "two"
            aastore
            dup
            iconst_2
            ldc "three"
            aastore
            dup
            iconst_3
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            aastore
            dup
            iconst_4
            new java.util.HashMap
            dup
            invokespecial java.util.HashMap.<init>:()V
            aastore
            astore 1 /* src */
        start local 1 // java.lang.Object[] src
         1: .line 162
            aload 0 /* this */
            ldc "objectArraycopy"
            aload 1 /* src */
            invokevirtual org.graalvm.compiler.hotspot.test.ArrayCopyIntrinsificationTest.testHelper:(Ljava/lang/String;Ljava/lang/Object;)V
         2: .line 163
            return
        end local 1 // java.lang.Object[] src
        end local 0 // org.graalvm.compiler.hotspot.test.ArrayCopyIntrinsificationTest this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lorg/graalvm/compiler/hotspot/test/ArrayCopyIntrinsificationTest;
            1    3     1   src  [Ljava/lang/Object;
    RuntimeVisibleAnnotations: 
      org.junit.Test()

  public void testArrayStoreException();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=3, args_size=1
        start local 0 // org.graalvm.compiler.hotspot.test.ArrayCopyIntrinsificationTest this
         0: .line 170
            iconst_5
            anewarray java.lang.Object
            dup
            iconst_0
            ldc "one"
            aastore
            dup
            iconst_1
            ldc "two"
            aastore
            dup
            iconst_2
            ldc "three"
            aastore
            dup
            iconst_3
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            aastore
            dup
            iconst_4
            new java.util.HashMap
            dup
            invokespecial java.util.HashMap.<init>:()V
            aastore
            astore 1 /* src */
        start local 1 // java.lang.Object[] src
         1: .line 171
            aload 1 /* src */
            arraylength
            anewarray java.lang.CharSequence
            astore 2 /* dst */
        start local 2 // java.lang.Object[] dst
         2: .line 173
            aload 0 /* this */
            ldc "objectArraycopy"
            iconst_5
            anewarray java.lang.Object
            dup
            iconst_0
            aload 1 /* src */
            aastore
            dup
            iconst_1
            iconst_0
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            aastore
            dup
            iconst_2
            aload 2 /* dst */
            aastore
            dup
            iconst_3
            iconst_0
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            aastore
            dup
            iconst_4
            aload 1 /* src */
            arraylength
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            aastore
            invokevirtual org.graalvm.compiler.hotspot.test.ArrayCopyIntrinsificationTest.test:(Ljava/lang/String;[Ljava/lang/Object;)Lorg/graalvm/compiler/core/test/GraalCompilerTest$Result;
            pop
         3: .line 174
            return
        end local 2 // java.lang.Object[] dst
        end local 1 // java.lang.Object[] src
        end local 0 // org.graalvm.compiler.hotspot.test.ArrayCopyIntrinsificationTest this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Lorg/graalvm/compiler/hotspot/test/ArrayCopyIntrinsificationTest;
            1    4     1   src  [Ljava/lang/Object;
            2    4     2   dst  [Ljava/lang/Object;
    RuntimeVisibleAnnotations: 
      org.junit.Test()

  public void testDisjointObject();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=7, locals=3, args_size=1
        start local 0 // org.graalvm.compiler.hotspot.test.ArrayCopyIntrinsificationTest this
         0: .line 178
            iconst_4
            anewarray java.lang.Integer
            dup
            iconst_0
            iconst_1
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            aastore
            dup
            iconst_1
            iconst_2
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            aastore
            dup
            iconst_2
            iconst_3
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            aastore
            dup
            iconst_3
            iconst_4
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            aastore
            astore 1 /* src1 */
        start local 1 // java.lang.Integer[] src1
         1: .line 179
            aload 0 /* this */
            ldc "objectArraycopy"
            iconst_5
            anewarray java.lang.Object
            dup
            iconst_0
            aload 1 /* src1 */
            aastore
            dup
            iconst_1
            iconst_0
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            aastore
            dup
            iconst_2
            aload 1 /* src1 */
            aastore
            dup
            iconst_3
            iconst_1
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            aastore
            dup
            iconst_4
            aload 1 /* src1 */
            arraylength
            iconst_1
            isub
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            aastore
            invokevirtual org.graalvm.compiler.hotspot.test.ArrayCopyIntrinsificationTest.test:(Ljava/lang/String;[Ljava/lang/Object;)Lorg/graalvm/compiler/core/test/GraalCompilerTest$Result;
            pop
         2: .line 181
            iconst_4
            anewarray java.lang.Integer
            dup
            iconst_0
            iconst_1
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            aastore
            dup
            iconst_1
            iconst_2
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            aastore
            dup
            iconst_2
            iconst_3
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            aastore
            dup
            iconst_3
            iconst_4
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            aastore
            astore 2 /* src2 */
        start local 2 // java.lang.Integer[] src2
         3: .line 182
            aload 0 /* this */
            ldc "objectArraycopy"
            iconst_5
            anewarray java.lang.Object
            dup
            iconst_0
            aload 2 /* src2 */
            aastore
            dup
            iconst_1
            iconst_1
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            aastore
            dup
            iconst_2
            aload 2 /* src2 */
            aastore
            dup
            iconst_3
            iconst_0
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            aastore
            dup
            iconst_4
            aload 2 /* src2 */
            arraylength
            iconst_1
            isub
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            aastore
            invokevirtual org.graalvm.compiler.hotspot.test.ArrayCopyIntrinsificationTest.test:(Ljava/lang/String;[Ljava/lang/Object;)Lorg/graalvm/compiler/core/test/GraalCompilerTest$Result;
            pop
         4: .line 183
            return
        end local 2 // java.lang.Integer[] src2
        end local 1 // java.lang.Integer[] src1
        end local 0 // org.graalvm.compiler.hotspot.test.ArrayCopyIntrinsificationTest this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     0  this  Lorg/graalvm/compiler/hotspot/test/ArrayCopyIntrinsificationTest;
            1    5     1  src1  [Ljava/lang/Integer;
            3    5     2  src2  [Ljava/lang/Integer;
    RuntimeVisibleAnnotations: 
      org.junit.Test()

  public void testObjectExact();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=2, args_size=1
        start local 0 // org.graalvm.compiler.hotspot.test.ArrayCopyIntrinsificationTest this
         0: .line 187
            iconst_4
            anewarray java.lang.Integer
            dup
            iconst_0
            iconst_1
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            aastore
            dup
            iconst_1
            iconst_2
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            aastore
            dup
            iconst_2
            iconst_3
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            aastore
            dup
            iconst_3
            iconst_4
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            aastore
            astore 1 /* src */
        start local 1 // java.lang.Integer[] src
         1: .line 188
            aload 0 /* this */
            ldc "objectArraycopyExact"
            aload 1 /* src */
            invokevirtual org.graalvm.compiler.hotspot.test.ArrayCopyIntrinsificationTest.testHelper:(Ljava/lang/String;Ljava/lang/Object;)V
         2: .line 189
            return
        end local 1 // java.lang.Integer[] src
        end local 0 // org.graalvm.compiler.hotspot.test.ArrayCopyIntrinsificationTest this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lorg/graalvm/compiler/hotspot/test/ArrayCopyIntrinsificationTest;
            1    3     1   src  [Ljava/lang/Integer;
    RuntimeVisibleAnnotations: 
      org.junit.Test()

  private static java.lang.Object newArray(java.lang.Object, int);
    descriptor: (Ljava/lang/Object;I)Ljava/lang/Object;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // java.lang.Object proto
        start local 1 // int length
         0: .line 192
            getstatic org.graalvm.compiler.hotspot.test.ArrayCopyIntrinsificationTest.$assertionsDisabled:Z
            ifne 1
            aload 0 /* proto */
            ifnonnull 1
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         1: .line 193
      StackMap locals:
      StackMap stack:
            getstatic org.graalvm.compiler.hotspot.test.ArrayCopyIntrinsificationTest.$assertionsDisabled:Z
            ifne 2
            aload 0 /* proto */
            invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
            invokevirtual java.lang.Class.isArray:()Z
            ifne 2
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         2: .line 194
      StackMap locals:
      StackMap stack:
            aload 0 /* proto */
            invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
            invokevirtual java.lang.Class.getComponentType:()Ljava/lang/Class;
            iload 1 /* length */
            invokestatic java.lang.reflect.Array.newInstance:(Ljava/lang/Class;I)Ljava/lang/Object;
            areturn
        end local 1 // int length
        end local 0 // java.lang.Object proto
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    3     0   proto  Ljava/lang/Object;
            0    3     1  length  I
    MethodParameters:
        Name  Flags
      proto   
      length  

  private void testHelper(java.lang.String, java.lang.Object);
    descriptor: (Ljava/lang/String;Ljava/lang/Object;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=7, locals=8, args_size=3
        start local 0 // org.graalvm.compiler.hotspot.test.ArrayCopyIntrinsificationTest this
        start local 1 // java.lang.String name
        start local 2 // java.lang.Object src
         0: .line 198
            aload 2 /* src */
            invokestatic java.lang.reflect.Array.getLength:(Ljava/lang/Object;)I
            istore 3 /* srcLength */
        start local 3 // int srcLength
         1: .line 201
            aload 0 /* this */
            aload 1 /* name */
            iconst_5
            anewarray java.lang.Object
            dup
            iconst_0
            aload 2 /* src */
            aastore
            dup
            iconst_1
            iconst_0
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            aastore
            dup
            iconst_2
            aload 2 /* src */
            iload 3 /* srcLength */
            invokestatic org.graalvm.compiler.hotspot.test.ArrayCopyIntrinsificationTest.newArray:(Ljava/lang/Object;I)Ljava/lang/Object;
            aastore
            dup
            iconst_3
            iconst_0
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            aastore
            dup
            iconst_4
            iload 3 /* srcLength */
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            aastore
            invokevirtual org.graalvm.compiler.hotspot.test.ArrayCopyIntrinsificationTest.test:(Ljava/lang/String;[Ljava/lang/Object;)Lorg/graalvm/compiler/core/test/GraalCompilerTest$Result;
            pop
         2: .line 203
            iconst_4
            newarray 10
            dup
            iconst_1
            iconst_1
            iastore
            dup
            iconst_2
            iload 3 /* srcLength */
            iconst_1
            isub
            iastore
            dup
            iconst_3
            iload 3 /* srcLength */
            iastore
            dup
            astore 7
            arraylength
            istore 6
            iconst_0
            istore 5
            goto 8
      StackMap locals: org.graalvm.compiler.hotspot.test.ArrayCopyIntrinsificationTest java.lang.String java.lang.Object int top int int int[]
      StackMap stack:
         3: aload 7
            iload 5
            iaload
            istore 4 /* length */
        start local 4 // int length
         4: .line 205
            aload 0 /* this */
            aload 1 /* name */
            iconst_5
            anewarray java.lang.Object
            dup
            iconst_0
            aload 2 /* src */
            aastore
            dup
            iconst_1
            iconst_0
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            aastore
            dup
            iconst_2
            aload 2 /* src */
            iload 4 /* length */
            invokestatic org.graalvm.compiler.hotspot.test.ArrayCopyIntrinsificationTest.newArray:(Ljava/lang/Object;I)Ljava/lang/Object;
            aastore
            dup
            iconst_3
            iconst_0
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            aastore
            dup
            iconst_4
            iload 4 /* length */
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            aastore
            invokevirtual org.graalvm.compiler.hotspot.test.ArrayCopyIntrinsificationTest.test:(Ljava/lang/String;[Ljava/lang/Object;)Lorg/graalvm/compiler/core/test/GraalCompilerTest$Result;
            pop
         5: .line 206
            aload 0 /* this */
            aload 1 /* name */
            iconst_5
            anewarray java.lang.Object
            dup
            iconst_0
            aload 2 /* src */
            aastore
            dup
            iconst_1
            iload 3 /* srcLength */
            iload 4 /* length */
            isub
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            aastore
            dup
            iconst_2
            aload 2 /* src */
            iload 4 /* length */
            invokestatic org.graalvm.compiler.hotspot.test.ArrayCopyIntrinsificationTest.newArray:(Ljava/lang/Object;I)Ljava/lang/Object;
            aastore
            dup
            iconst_3
            iconst_0
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            aastore
            dup
            iconst_4
            iload 4 /* length */
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            aastore
            invokevirtual org.graalvm.compiler.hotspot.test.ArrayCopyIntrinsificationTest.test:(Ljava/lang/String;[Ljava/lang/Object;)Lorg/graalvm/compiler/core/test/GraalCompilerTest$Result;
            pop
         6: .line 207
            aload 0 /* this */
            aload 1 /* name */
            iconst_5
            anewarray java.lang.Object
            dup
            iconst_0
            aload 2 /* src */
            aastore
            dup
            iconst_1
            iconst_0
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            aastore
            dup
            iconst_2
            aload 2 /* src */
            iload 3 /* srcLength */
            invokestatic org.graalvm.compiler.hotspot.test.ArrayCopyIntrinsificationTest.newArray:(Ljava/lang/Object;I)Ljava/lang/Object;
            aastore
            dup
            iconst_3
            iconst_0
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            aastore
            dup
            iconst_4
            iload 4 /* length */
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            aastore
            invokevirtual org.graalvm.compiler.hotspot.test.ArrayCopyIntrinsificationTest.test:(Ljava/lang/String;[Ljava/lang/Object;)Lorg/graalvm/compiler/core/test/GraalCompilerTest$Result;
            pop
        end local 4 // int length
         7: .line 203
            iinc 5 1
      StackMap locals:
      StackMap stack:
         8: iload 5
            iload 6
            if_icmplt 3
         9: .line 210
            iload 3 /* srcLength */
            iconst_1
            if_icmple 11
        10: .line 211
            aload 0 /* this */
            aload 1 /* name */
            iconst_5
            anewarray java.lang.Object
            dup
            iconst_0
            aload 2 /* src */
            aastore
            dup
            iconst_1
            iconst_0
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            aastore
            dup
            iconst_2
            aload 2 /* src */
            aastore
            dup
            iconst_3
            iconst_1
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            aastore
            dup
            iconst_4
            iload 3 /* srcLength */
            iconst_1
            isub
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            aastore
            invokevirtual org.graalvm.compiler.hotspot.test.ArrayCopyIntrinsificationTest.test:(Ljava/lang/String;[Ljava/lang/Object;)Lorg/graalvm/compiler/core/test/GraalCompilerTest$Result;
            pop
        11: .line 213
      StackMap locals: org.graalvm.compiler.hotspot.test.ArrayCopyIntrinsificationTest java.lang.String java.lang.Object int
      StackMap stack:
            return
        end local 3 // int srcLength
        end local 2 // java.lang.Object src
        end local 1 // java.lang.String name
        end local 0 // org.graalvm.compiler.hotspot.test.ArrayCopyIntrinsificationTest this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   12     0       this  Lorg/graalvm/compiler/hotspot/test/ArrayCopyIntrinsificationTest;
            0   12     1       name  Ljava/lang/String;
            0   12     2        src  Ljava/lang/Object;
            1   12     3  srcLength  I
            4    7     4     length  I
    MethodParameters:
      Name  Flags
      name  
      src   

  public static java.lang.Object genericArraycopy(java.lang.Object, int, java.lang.Object, int, int);
    descriptor: (Ljava/lang/Object;ILjava/lang/Object;II)Ljava/lang/Object;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=5, locals=5, args_size=5
        start local 0 // java.lang.Object src
        start local 1 // int srcPos
        start local 2 // java.lang.Object dst
        start local 3 // int dstPos
        start local 4 // int length
         0: .line 216
            aload 0 /* src */
            iload 1 /* srcPos */
            aload 2 /* dst */
            iload 3 /* dstPos */
            iload 4 /* length */
            invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
         1: .line 217
            aload 2 /* dst */
            areturn
        end local 4 // int length
        end local 3 // int dstPos
        end local 2 // java.lang.Object dst
        end local 1 // int srcPos
        end local 0 // java.lang.Object src
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    2     0     src  Ljava/lang/Object;
            0    2     1  srcPos  I
            0    2     2     dst  Ljava/lang/Object;
            0    2     3  dstPos  I
            0    2     4  length  I
    MethodParameters:
        Name  Flags
      src     
      srcPos  
      dst     
      dstPos  
      length  

  public static java.lang.Object genericArraycopyCatchNullException(java.lang.Object, int, java.lang.Object, int, int);
    descriptor: (Ljava/lang/Object;ILjava/lang/Object;II)Ljava/lang/Object;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=5, locals=6, args_size=5
        start local 0 // java.lang.Object src
        start local 1 // int srcPos
        start local 2 // java.lang.Object dst
        start local 3 // int dstPos
        start local 4 // int length
         0: .line 221
            iconst_0
            istore 5 /* caught */
        start local 5 // boolean caught
         1: .line 223
            aload 0 /* src */
            iload 1 /* srcPos */
            aload 2 /* dst */
            iload 3 /* dstPos */
            iload 4 /* length */
            invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
         2: .line 224
            goto 5
      StackMap locals: java.lang.Object int java.lang.Object int int int
      StackMap stack: java.lang.NullPointerException
         3: pop
         4: .line 225
            iconst_1
            istore 5 /* caught */
         5: .line 227
      StackMap locals:
      StackMap stack:
            iload 5 /* caught */
            invokestatic java.lang.Boolean.valueOf:(Z)Ljava/lang/Boolean;
            areturn
        end local 5 // boolean caught
        end local 4 // int length
        end local 3 // int dstPos
        end local 2 // java.lang.Object dst
        end local 1 // int srcPos
        end local 0 // java.lang.Object src
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    6     0     src  Ljava/lang/Object;
            0    6     1  srcPos  I
            0    6     2     dst  Ljava/lang/Object;
            0    6     3  dstPos  I
            0    6     4  length  I
            1    6     5  caught  Z
      Exception table:
        from    to  target  type
           1     2       3  Class java.lang.NullPointerException
    MethodParameters:
        Name  Flags
      src     
      srcPos  
      dst     
      dstPos  
      length  

  public static java.lang.Object genericArraycopyCatchArrayStoreException(java.lang.Object, int, java.lang.Object, int, int);
    descriptor: (Ljava/lang/Object;ILjava/lang/Object;II)Ljava/lang/Object;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=5, locals=6, args_size=5
        start local 0 // java.lang.Object src
        start local 1 // int srcPos
        start local 2 // java.lang.Object dst
        start local 3 // int dstPos
        start local 4 // int length
         0: .line 231
            iconst_0
            istore 5 /* caught */
        start local 5 // boolean caught
         1: .line 233
            aload 0 /* src */
            iload 1 /* srcPos */
            aload 2 /* dst */
            iload 3 /* dstPos */
            iload 4 /* length */
            invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
         2: .line 234
            goto 5
      StackMap locals: java.lang.Object int java.lang.Object int int int
      StackMap stack: java.lang.ArrayStoreException
         3: pop
         4: .line 235
            iconst_1
            istore 5 /* caught */
         5: .line 237
      StackMap locals:
      StackMap stack:
            iload 5 /* caught */
            invokestatic java.lang.Boolean.valueOf:(Z)Ljava/lang/Boolean;
            areturn
        end local 5 // boolean caught
        end local 4 // int length
        end local 3 // int dstPos
        end local 2 // java.lang.Object dst
        end local 1 // int srcPos
        end local 0 // java.lang.Object src
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    6     0     src  Ljava/lang/Object;
            0    6     1  srcPos  I
            0    6     2     dst  Ljava/lang/Object;
            0    6     3  dstPos  I
            0    6     4  length  I
            1    6     5  caught  Z
      Exception table:
        from    to  target  type
           1     2       3  Class java.lang.ArrayStoreException
    MethodParameters:
        Name  Flags
      src     
      srcPos  
      dst     
      dstPos  
      length  

  public static java.lang.Object genericArraycopyCatchArrayIndexException(java.lang.Object, int, java.lang.Object, int, int);
    descriptor: (Ljava/lang/Object;ILjava/lang/Object;II)Ljava/lang/Object;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=5, locals=6, args_size=5
        start local 0 // java.lang.Object src
        start local 1 // int srcPos
        start local 2 // java.lang.Object dst
        start local 3 // int dstPos
        start local 4 // int length
         0: .line 241
            iconst_0
            istore 5 /* caught */
        start local 5 // boolean caught
         1: .line 243
            aload 0 /* src */
            iload 1 /* srcPos */
            aload 2 /* dst */
            iload 3 /* dstPos */
            iload 4 /* length */
            invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
         2: .line 244
            goto 5
      StackMap locals: java.lang.Object int java.lang.Object int int int
      StackMap stack: java.lang.ArrayIndexOutOfBoundsException
         3: pop
         4: .line 245
            iconst_1
            istore 5 /* caught */
         5: .line 247
      StackMap locals:
      StackMap stack:
            iload 5 /* caught */
            invokestatic java.lang.Boolean.valueOf:(Z)Ljava/lang/Boolean;
            areturn
        end local 5 // boolean caught
        end local 4 // int length
        end local 3 // int dstPos
        end local 2 // java.lang.Object dst
        end local 1 // int srcPos
        end local 0 // java.lang.Object src
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    6     0     src  Ljava/lang/Object;
            0    6     1  srcPos  I
            0    6     2     dst  Ljava/lang/Object;
            0    6     3  dstPos  I
            0    6     4  length  I
            1    6     5  caught  Z
      Exception table:
        from    to  target  type
           1     2       3  Class java.lang.ArrayIndexOutOfBoundsException
    MethodParameters:
        Name  Flags
      src     
      srcPos  
      dst     
      dstPos  
      length  

  public static java.lang.Object[] objectArraycopy(java.lang.Object[], int, java.lang.Object[], int, int);
    descriptor: ([Ljava/lang/Object;I[Ljava/lang/Object;II)[Ljava/lang/Object;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=5, locals=5, args_size=5
        start local 0 // java.lang.Object[] src
        start local 1 // int srcPos
        start local 2 // java.lang.Object[] dst
        start local 3 // int dstPos
        start local 4 // int length
         0: .line 251
            aload 0 /* src */
            iload 1 /* srcPos */
            aload 2 /* dst */
            iload 3 /* dstPos */
            iload 4 /* length */
            invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
         1: .line 252
            aload 2 /* dst */
            areturn
        end local 4 // int length
        end local 3 // int dstPos
        end local 2 // java.lang.Object[] dst
        end local 1 // int srcPos
        end local 0 // java.lang.Object[] src
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    2     0     src  [Ljava/lang/Object;
            0    2     1  srcPos  I
            0    2     2     dst  [Ljava/lang/Object;
            0    2     3  dstPos  I
            0    2     4  length  I
    MethodParameters:
        Name  Flags
      src     
      srcPos  
      dst     
      dstPos  
      length  

  public static java.lang.Object objectArraycopyCatchNullException(java.lang.Object[], int, java.lang.Object[], int, int);
    descriptor: ([Ljava/lang/Object;I[Ljava/lang/Object;II)Ljava/lang/Object;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=5, locals=6, args_size=5
        start local 0 // java.lang.Object[] src
        start local 1 // int srcPos
        start local 2 // java.lang.Object[] dst
        start local 3 // int dstPos
        start local 4 // int length
         0: .line 256
            iconst_0
            istore 5 /* caught */
        start local 5 // boolean caught
         1: .line 258
            aload 0 /* src */
            iload 1 /* srcPos */
            aload 2 /* dst */
            iload 3 /* dstPos */
            iload 4 /* length */
            invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
         2: .line 259
            goto 5
      StackMap locals: java.lang.Object[] int java.lang.Object[] int int int
      StackMap stack: java.lang.NullPointerException
         3: pop
         4: .line 260
            iconst_1
            istore 5 /* caught */
         5: .line 262
      StackMap locals:
      StackMap stack:
            iload 5 /* caught */
            invokestatic java.lang.Boolean.valueOf:(Z)Ljava/lang/Boolean;
            areturn
        end local 5 // boolean caught
        end local 4 // int length
        end local 3 // int dstPos
        end local 2 // java.lang.Object[] dst
        end local 1 // int srcPos
        end local 0 // java.lang.Object[] src
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    6     0     src  [Ljava/lang/Object;
            0    6     1  srcPos  I
            0    6     2     dst  [Ljava/lang/Object;
            0    6     3  dstPos  I
            0    6     4  length  I
            1    6     5  caught  Z
      Exception table:
        from    to  target  type
           1     2       3  Class java.lang.NullPointerException
    MethodParameters:
        Name  Flags
      src     
      srcPos  
      dst     
      dstPos  
      length  

  public static java.lang.Object objectArraycopyCatchArrayStoreException(java.lang.Object[], int, java.lang.Object[], int, int);
    descriptor: ([Ljava/lang/Object;I[Ljava/lang/Object;II)Ljava/lang/Object;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=5, locals=6, args_size=5
        start local 0 // java.lang.Object[] src
        start local 1 // int srcPos
        start local 2 // java.lang.Object[] dst
        start local 3 // int dstPos
        start local 4 // int length
         0: .line 266
            iconst_0
            istore 5 /* caught */
        start local 5 // boolean caught
         1: .line 268
            aload 0 /* src */
            iload 1 /* srcPos */
            aload 2 /* dst */
            iload 3 /* dstPos */
            iload 4 /* length */
            invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
         2: .line 269
            goto 5
      StackMap locals: java.lang.Object[] int java.lang.Object[] int int int
      StackMap stack: java.lang.ArrayStoreException
         3: pop
         4: .line 270
            iconst_1
            istore 5 /* caught */
         5: .line 272
      StackMap locals:
      StackMap stack:
            iload 5 /* caught */
            invokestatic java.lang.Boolean.valueOf:(Z)Ljava/lang/Boolean;
            areturn
        end local 5 // boolean caught
        end local 4 // int length
        end local 3 // int dstPos
        end local 2 // java.lang.Object[] dst
        end local 1 // int srcPos
        end local 0 // java.lang.Object[] src
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    6     0     src  [Ljava/lang/Object;
            0    6     1  srcPos  I
            0    6     2     dst  [Ljava/lang/Object;
            0    6     3  dstPos  I
            0    6     4  length  I
            1    6     5  caught  Z
      Exception table:
        from    to  target  type
           1     2       3  Class java.lang.ArrayStoreException
    MethodParameters:
        Name  Flags
      src     
      srcPos  
      dst     
      dstPos  
      length  

  public static java.lang.Object objectArraycopyCatchArrayIndexException(java.lang.Object[], int, java.lang.Object[], int, int);
    descriptor: ([Ljava/lang/Object;I[Ljava/lang/Object;II)Ljava/lang/Object;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=5, locals=6, args_size=5
        start local 0 // java.lang.Object[] src
        start local 1 // int srcPos
        start local 2 // java.lang.Object[] dst
        start local 3 // int dstPos
        start local 4 // int length
         0: .line 276
            iconst_0
            istore 5 /* caught */
        start local 5 // boolean caught
         1: .line 278
            aload 0 /* src */
            iload 1 /* srcPos */
            aload 2 /* dst */
            iload 3 /* dstPos */
            iload 4 /* length */
            invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
         2: .line 279
            goto 5
      StackMap locals: java.lang.Object[] int java.lang.Object[] int int int
      StackMap stack: java.lang.ArrayIndexOutOfBoundsException
         3: pop
         4: .line 280
            iconst_1
            istore 5 /* caught */
         5: .line 282
      StackMap locals:
      StackMap stack:
            iload 5 /* caught */
            invokestatic java.lang.Boolean.valueOf:(Z)Ljava/lang/Boolean;
            areturn
        end local 5 // boolean caught
        end local 4 // int length
        end local 3 // int dstPos
        end local 2 // java.lang.Object[] dst
        end local 1 // int srcPos
        end local 0 // java.lang.Object[] src
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    6     0     src  [Ljava/lang/Object;
            0    6     1  srcPos  I
            0    6     2     dst  [Ljava/lang/Object;
            0    6     3  dstPos  I
            0    6     4  length  I
            1    6     5  caught  Z
      Exception table:
        from    to  target  type
           1     2       3  Class java.lang.ArrayIndexOutOfBoundsException
    MethodParameters:
        Name  Flags
      src     
      srcPos  
      dst     
      dstPos  
      length  

  public static java.lang.Object[] objectArraycopyExact(java.lang.Integer[], int, java.lang.Integer[], int, int);
    descriptor: ([Ljava/lang/Integer;I[Ljava/lang/Integer;II)[Ljava/lang/Object;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=5, locals=5, args_size=5
        start local 0 // java.lang.Integer[] src
        start local 1 // int srcPos
        start local 2 // java.lang.Integer[] dst
        start local 3 // int dstPos
        start local 4 // int length
         0: .line 286
            aload 0 /* src */
            iload 1 /* srcPos */
            aload 2 /* dst */
            iload 3 /* dstPos */
            iload 4 /* length */
            invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
         1: .line 287
            aload 2 /* dst */
            areturn
        end local 4 // int length
        end local 3 // int dstPos
        end local 2 // java.lang.Integer[] dst
        end local 1 // int srcPos
        end local 0 // java.lang.Integer[] src
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    2     0     src  [Ljava/lang/Integer;
            0    2     1  srcPos  I
            0    2     2     dst  [Ljava/lang/Integer;
            0    2     3  dstPos  I
            0    2     4  length  I
    MethodParameters:
        Name  Flags
      src     
      srcPos  
      dst     
      dstPos  
      length  

  public static boolean[] booleanArraycopy(boolean[], int, boolean[], int, int);
    descriptor: ([ZI[ZII)[Z
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=5, locals=5, args_size=5
        start local 0 // boolean[] src
        start local 1 // int srcPos
        start local 2 // boolean[] dst
        start local 3 // int dstPos
        start local 4 // int length
         0: .line 291
            aload 0 /* src */
            iload 1 /* srcPos */
            aload 2 /* dst */
            iload 3 /* dstPos */
            iload 4 /* length */
            invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
         1: .line 292
            aload 2 /* dst */
            areturn
        end local 4 // int length
        end local 3 // int dstPos
        end local 2 // boolean[] dst
        end local 1 // int srcPos
        end local 0 // boolean[] src
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    2     0     src  [Z
            0    2     1  srcPos  I
            0    2     2     dst  [Z
            0    2     3  dstPos  I
            0    2     4  length  I
    MethodParameters:
        Name  Flags
      src     
      srcPos  
      dst     
      dstPos  
      length  

  public static byte[] byteArraycopy(byte[], int, byte[], int, int);
    descriptor: ([BI[BII)[B
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=5, locals=5, args_size=5
        start local 0 // byte[] src
        start local 1 // int srcPos
        start local 2 // byte[] dst
        start local 3 // int dstPos
        start local 4 // int length
         0: .line 296
            aload 0 /* src */
            iload 1 /* srcPos */
            aload 2 /* dst */
            iload 3 /* dstPos */
            iload 4 /* length */
            invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
         1: .line 297
            aload 2 /* dst */
            areturn
        end local 4 // int length
        end local 3 // int dstPos
        end local 2 // byte[] dst
        end local 1 // int srcPos
        end local 0 // byte[] src
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    2     0     src  [B
            0    2     1  srcPos  I
            0    2     2     dst  [B
            0    2     3  dstPos  I
            0    2     4  length  I
    MethodParameters:
        Name  Flags
      src     
      srcPos  
      dst     
      dstPos  
      length  

  public static char[] charArraycopy(char[], int, char[], int, int);
    descriptor: ([CI[CII)[C
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=5, locals=5, args_size=5
        start local 0 // char[] src
        start local 1 // int srcPos
        start local 2 // char[] dst
        start local 3 // int dstPos
        start local 4 // int length
         0: .line 301
            aload 0 /* src */
            iload 1 /* srcPos */
            aload 2 /* dst */
            iload 3 /* dstPos */
            iload 4 /* length */
            invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
         1: .line 302
            aload 2 /* dst */
            areturn
        end local 4 // int length
        end local 3 // int dstPos
        end local 2 // char[] dst
        end local 1 // int srcPos
        end local 0 // char[] src
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    2     0     src  [C
            0    2     1  srcPos  I
            0    2     2     dst  [C
            0    2     3  dstPos  I
            0    2     4  length  I
    MethodParameters:
        Name  Flags
      src     
      srcPos  
      dst     
      dstPos  
      length  

  public static short[] shortArraycopy(short[], int, short[], int, int);
    descriptor: ([SI[SII)[S
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=5, locals=5, args_size=5
        start local 0 // short[] src
        start local 1 // int srcPos
        start local 2 // short[] dst
        start local 3 // int dstPos
        start local 4 // int length
         0: .line 306
            aload 0 /* src */
            iload 1 /* srcPos */
            aload 2 /* dst */
            iload 3 /* dstPos */
            iload 4 /* length */
            invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
         1: .line 307
            aload 2 /* dst */
            areturn
        end local 4 // int length
        end local 3 // int dstPos
        end local 2 // short[] dst
        end local 1 // int srcPos
        end local 0 // short[] src
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    2     0     src  [S
            0    2     1  srcPos  I
            0    2     2     dst  [S
            0    2     3  dstPos  I
            0    2     4  length  I
    MethodParameters:
        Name  Flags
      src     
      srcPos  
      dst     
      dstPos  
      length  

  public static int[] intArraycopy(int[], int, int[], int, int);
    descriptor: ([II[III)[I
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=5, locals=5, args_size=5
        start local 0 // int[] src
        start local 1 // int srcPos
        start local 2 // int[] dst
        start local 3 // int dstPos
        start local 4 // int length
         0: .line 311
            aload 0 /* src */
            iload 1 /* srcPos */
            aload 2 /* dst */
            iload 3 /* dstPos */
            iload 4 /* length */
            invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
         1: .line 312
            aload 2 /* dst */
            areturn
        end local 4 // int length
        end local 3 // int dstPos
        end local 2 // int[] dst
        end local 1 // int srcPos
        end local 0 // int[] src
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    2     0     src  [I
            0    2     1  srcPos  I
            0    2     2     dst  [I
            0    2     3  dstPos  I
            0    2     4  length  I
    MethodParameters:
        Name  Flags
      src     
      srcPos  
      dst     
      dstPos  
      length  

  public static float[] floatArraycopy(float[], int, float[], int, int);
    descriptor: ([FI[FII)[F
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=5, locals=5, args_size=5
        start local 0 // float[] src
        start local 1 // int srcPos
        start local 2 // float[] dst
        start local 3 // int dstPos
        start local 4 // int length
         0: .line 316
            aload 0 /* src */
            iload 1 /* srcPos */
            aload 2 /* dst */
            iload 3 /* dstPos */
            iload 4 /* length */
            invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
         1: .line 317
            aload 2 /* dst */
            areturn
        end local 4 // int length
        end local 3 // int dstPos
        end local 2 // float[] dst
        end local 1 // int srcPos
        end local 0 // float[] src
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    2     0     src  [F
            0    2     1  srcPos  I
            0    2     2     dst  [F
            0    2     3  dstPos  I
            0    2     4  length  I
    MethodParameters:
        Name  Flags
      src     
      srcPos  
      dst     
      dstPos  
      length  

  public static long[] longArraycopy(long[], int, long[], int, int);
    descriptor: ([JI[JII)[J
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=5, locals=5, args_size=5
        start local 0 // long[] src
        start local 1 // int srcPos
        start local 2 // long[] dst
        start local 3 // int dstPos
        start local 4 // int length
         0: .line 321
            aload 0 /* src */
            iload 1 /* srcPos */
            aload 2 /* dst */
            iload 3 /* dstPos */
            iload 4 /* length */
            invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
         1: .line 322
            aload 2 /* dst */
            areturn
        end local 4 // int length
        end local 3 // int dstPos
        end local 2 // long[] dst
        end local 1 // int srcPos
        end local 0 // long[] src
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    2     0     src  [J
            0    2     1  srcPos  I
            0    2     2     dst  [J
            0    2     3  dstPos  I
            0    2     4  length  I
    MethodParameters:
        Name  Flags
      src     
      srcPos  
      dst     
      dstPos  
      length  

  public static double[] doubleArraycopy(double[], int, double[], int, int);
    descriptor: ([DI[DII)[D
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=5, locals=5, args_size=5
        start local 0 // double[] src
        start local 1 // int srcPos
        start local 2 // double[] dst
        start local 3 // int dstPos
        start local 4 // int length
         0: .line 326
            aload 0 /* src */
            iload 1 /* srcPos */
            aload 2 /* dst */
            iload 3 /* dstPos */
            iload 4 /* length */
            invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
         1: .line 327
            aload 2 /* dst */
            areturn
        end local 4 // int length
        end local 3 // int dstPos
        end local 2 // double[] dst
        end local 1 // int srcPos
        end local 0 // double[] src
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    2     0     src  [D
            0    2     1  srcPos  I
            0    2     2     dst  [D
            0    2     3  dstPos  I
            0    2     4  length  I
    MethodParameters:
        Name  Flags
      src     
      srcPos  
      dst     
      dstPos  
      length  

  public void testCopyRows();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=7, locals=2, args_size=1
        start local 0 // org.graalvm.compiler.hotspot.test.ArrayCopyIntrinsificationTest this
         0: .line 337
            iconst_3
            anewarray java.lang.Object[]
            dup
            iconst_0
            iconst_4
            anewarray java.lang.Object
            dup
            iconst_0
            ldc "a1"
            aastore
            dup
            iconst_1
            ldc "a2"
            aastore
            dup
            iconst_2
            ldc "a3"
            aastore
            dup
            iconst_3
            ldc "a4"
            aastore
            aastore
            dup
            iconst_1
            iconst_4
            anewarray java.lang.Object
            dup
            iconst_0
            ldc "b1"
            aastore
            dup
            iconst_1
            ldc "b2"
            aastore
            dup
            iconst_2
            ldc "b3"
            aastore
            dup
            iconst_3
            ldc "b4"
            aastore
            aastore
            dup
            iconst_2
            iconst_4
            anewarray java.lang.Object
            dup
            iconst_0
            ldc "c1"
            aastore
            dup
            iconst_1
            ldc "c2"
            aastore
            dup
            iconst_2
            ldc "c3"
            aastore
            dup
            iconst_3
            ldc "c4"
            aastore
            aastore
            astore 1 /* rows */
        start local 1 // java.lang.Object[][] rows
         1: .line 338
            aload 0 /* this */
            ldc "copyRows"
            iconst_3
            anewarray java.lang.Object
            dup
            iconst_0
            aload 1 /* rows */
            aastore
            dup
            iconst_1
            iconst_4
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            aastore
            dup
            iconst_2
            aload 1 /* rows */
            arraylength
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            aastore
            invokevirtual org.graalvm.compiler.hotspot.test.ArrayCopyIntrinsificationTest.test:(Ljava/lang/String;[Ljava/lang/Object;)Lorg/graalvm/compiler/core/test/GraalCompilerTest$Result;
            pop
         2: .line 339
            return
        end local 1 // java.lang.Object[][] rows
        end local 0 // org.graalvm.compiler.hotspot.test.ArrayCopyIntrinsificationTest this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lorg/graalvm/compiler/hotspot/test/ArrayCopyIntrinsificationTest;
            1    3     1  rows  [[Ljava/lang/Object;
    RuntimeVisibleAnnotations: 
      org.junit.Test()

  public static java.lang.Object[][] copyRows(java.lang.Object[][], int, java.lang.Integer);
    descriptor: ([[Ljava/lang/Object;ILjava/lang/Integer;)[[Ljava/lang/Object;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=6, locals=5, args_size=3
        start local 0 // java.lang.Object[][] rows
        start local 1 // int rowSize
        start local 2 // java.lang.Integer rowCount
         0: .line 342
            aload 0 /* rows */
            arraylength
            iload 1 /* rowSize */
            multianewarray [[Ljava/lang/Object; 2
            astore 3 /* copy */
        start local 3 // java.lang.Object[][] copy
         1: .line 343
            iconst_0
            istore 4 /* i */
        start local 4 // int i
         2: goto 5
         3: .line 344
      StackMap locals: java.lang.Object[][] int
      StackMap stack:
            aload 0 /* rows */
            iload 4 /* i */
            aaload
            iconst_0
            aload 3 /* copy */
            iload 4 /* i */
            aaload
            iconst_0
            aload 0 /* rows */
            iload 4 /* i */
            aaload
            arraylength
            invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
         4: .line 343
            iinc 4 /* i */ 1
      StackMap locals:
      StackMap stack:
         5: iload 4 /* i */
            aload 2 /* rowCount */
            invokevirtual java.lang.Integer.intValue:()I
            if_icmplt 3
        end local 4 // int i
         6: .line 346
            aload 3 /* copy */
            areturn
        end local 3 // java.lang.Object[][] copy
        end local 2 // java.lang.Integer rowCount
        end local 1 // int rowSize
        end local 0 // java.lang.Object[][] rows
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    7     0      rows  [[Ljava/lang/Object;
            0    7     1   rowSize  I
            0    7     2  rowCount  Ljava/lang/Integer;
            1    7     3      copy  [[Ljava/lang/Object;
            2    6     4         i  I
    MethodParameters:
          Name  Flags
      rows      
      rowSize   
      rowCount  

  public void testGenericExceptions();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=4, args_size=1
        start local 0 // org.graalvm.compiler.hotspot.test.ArrayCopyIntrinsificationTest this
         0: .line 351
            aload 0 /* this */
            ldc "genericArraycopyCatchNullException"
            iconst_5
            anewarray java.lang.Object
            dup
            iconst_0
            aconst_null
            aastore
            dup
            iconst_1
            iconst_4
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            aastore
            dup
            iconst_2
            sipush 128
            newarray 8
            aastore
            dup
            iconst_3
            iconst_2
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            aastore
            dup
            iconst_4
            iconst_3
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            aastore
            invokevirtual org.graalvm.compiler.hotspot.test.ArrayCopyIntrinsificationTest.test:(Ljava/lang/String;[Ljava/lang/Object;)Lorg/graalvm/compiler/core/test/GraalCompilerTest$Result;
            pop
         1: .line 352
            aload 0 /* this */
            ldc "genericArraycopyCatchNullException"
            iconst_5
            anewarray java.lang.Object
            dup
            iconst_0
            sipush 128
            newarray 8
            aastore
            dup
            iconst_1
            iconst_4
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            aastore
            dup
            iconst_2
            aconst_null
            aastore
            dup
            iconst_3
            iconst_2
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            aastore
            dup
            iconst_4
            iconst_3
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            aastore
            invokevirtual org.graalvm.compiler.hotspot.test.ArrayCopyIntrinsificationTest.test:(Ljava/lang/String;[Ljava/lang/Object;)Lorg/graalvm/compiler/core/test/GraalCompilerTest$Result;
            pop
         2: .line 353
            sipush 128
            anewarray java.lang.Integer
            astore 1 /* integerDest */
        start local 1 // java.lang.Object[] integerDest
         3: .line 354
            sipush 128
            anewarray java.lang.Object
            astore 2 /* longSource */
        start local 2 // java.lang.Object[] longSource
         4: .line 355
            iconst_0
            istore 3 /* i */
        start local 3 // int i
         5: goto 8
         6: .line 356
      StackMap locals: java.lang.Object[] java.lang.Object[] int
      StackMap stack:
            aload 2 /* longSource */
            iload 3 /* i */
            iload 3 /* i */
            i2l
            invokestatic java.lang.Long.valueOf:(J)Ljava/lang/Long;
            aastore
         7: .line 355
            iinc 3 /* i */ 1
      StackMap locals:
      StackMap stack:
         8: iload 3 /* i */
            aload 2 /* longSource */
            arraylength
            if_icmplt 6
        end local 3 // int i
         9: .line 358
            aload 0 /* this */
            ldc "genericArraycopyCatchArrayStoreException"
            iconst_5
            anewarray java.lang.Object
            dup
            iconst_0
            aload 2 /* longSource */
            aastore
            dup
            iconst_1
            iconst_4
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            aastore
            dup
            iconst_2
            aload 1 /* integerDest */
            aastore
            dup
            iconst_3
            iconst_2
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            aastore
            dup
            iconst_4
            iconst_3
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            aastore
            invokevirtual org.graalvm.compiler.hotspot.test.ArrayCopyIntrinsificationTest.test:(Ljava/lang/String;[Ljava/lang/Object;)Lorg/graalvm/compiler/core/test/GraalCompilerTest$Result;
            pop
        10: .line 359
            aload 0 /* this */
            ldc "genericArraycopyCatchArrayIndexException"
            iconst_5
            anewarray java.lang.Object
            dup
            iconst_0
            sipush 128
            newarray 10
            aastore
            dup
            iconst_1
            iconst_0
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            aastore
            dup
            iconst_2
            sipush 128
            newarray 10
            aastore
            dup
            iconst_3
            ldc 2147483647
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            aastore
            dup
            iconst_4
            iconst_1
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            aastore
            invokevirtual org.graalvm.compiler.hotspot.test.ArrayCopyIntrinsificationTest.test:(Ljava/lang/String;[Ljava/lang/Object;)Lorg/graalvm/compiler/core/test/GraalCompilerTest$Result;
            pop
        11: .line 360
            return
        end local 2 // java.lang.Object[] longSource
        end local 1 // java.lang.Object[] integerDest
        end local 0 // org.graalvm.compiler.hotspot.test.ArrayCopyIntrinsificationTest this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0   12     0         this  Lorg/graalvm/compiler/hotspot/test/ArrayCopyIntrinsificationTest;
            3   12     1  integerDest  [Ljava/lang/Object;
            4   12     2   longSource  [Ljava/lang/Object;
            5    9     3            i  I
    RuntimeVisibleAnnotations: 
      org.junit.Test()

  public void testObjectArrayExceptions();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=4, args_size=1
        start local 0 // org.graalvm.compiler.hotspot.test.ArrayCopyIntrinsificationTest this
         0: .line 364
            aload 0 /* this */
            ldc "objectArraycopyCatchNullException"
            iconst_5
            anewarray java.lang.Object
            dup
            iconst_0
            aconst_null
            aastore
            dup
            iconst_1
            iconst_4
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            aastore
            dup
            iconst_2
            sipush 128
            anewarray java.lang.Byte
            aastore
            dup
            iconst_3
            iconst_2
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            aastore
            dup
            iconst_4
            iconst_3
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            aastore
            invokevirtual org.graalvm.compiler.hotspot.test.ArrayCopyIntrinsificationTest.test:(Ljava/lang/String;[Ljava/lang/Object;)Lorg/graalvm/compiler/core/test/GraalCompilerTest$Result;
            pop
         1: .line 365
            aload 0 /* this */
            ldc "objectArraycopyCatchNullException"
            iconst_5
            anewarray java.lang.Object
            dup
            iconst_0
            sipush 128
            anewarray java.lang.Byte
            aastore
            dup
            iconst_1
            iconst_4
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            aastore
            dup
            iconst_2
            aconst_null
            aastore
            dup
            iconst_3
            iconst_2
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            aastore
            dup
            iconst_4
            iconst_3
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            aastore
            invokevirtual org.graalvm.compiler.hotspot.test.ArrayCopyIntrinsificationTest.test:(Ljava/lang/String;[Ljava/lang/Object;)Lorg/graalvm/compiler/core/test/GraalCompilerTest$Result;
            pop
         2: .line 366
            sipush 128
            anewarray java.lang.Integer
            astore 1 /* integerDest */
        start local 1 // java.lang.Object[] integerDest
         3: .line 367
            sipush 128
            anewarray java.lang.Object
            astore 2 /* longSource */
        start local 2 // java.lang.Object[] longSource
         4: .line 368
            iconst_0
            istore 3 /* i */
        start local 3 // int i
         5: goto 8
         6: .line 369
      StackMap locals: java.lang.Object[] java.lang.Object[] int
      StackMap stack:
            aload 2 /* longSource */
            iload 3 /* i */
            iload 3 /* i */
            i2l
            invokestatic java.lang.Long.valueOf:(J)Ljava/lang/Long;
            aastore
         7: .line 368
            iinc 3 /* i */ 1
      StackMap locals:
      StackMap stack:
         8: iload 3 /* i */
            aload 2 /* longSource */
            arraylength
            if_icmplt 6
        end local 3 // int i
         9: .line 371
            aload 0 /* this */
            ldc "objectArraycopyCatchArrayStoreException"
            iconst_5
            anewarray java.lang.Object
            dup
            iconst_0
            aload 2 /* longSource */
            aastore
            dup
            iconst_1
            iconst_4
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            aastore
            dup
            iconst_2
            aload 1 /* integerDest */
            aastore
            dup
            iconst_3
            iconst_2
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            aastore
            dup
            iconst_4
            iconst_3
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            aastore
            invokevirtual org.graalvm.compiler.hotspot.test.ArrayCopyIntrinsificationTest.test:(Ljava/lang/String;[Ljava/lang/Object;)Lorg/graalvm/compiler/core/test/GraalCompilerTest$Result;
            pop
        10: .line 372
            aload 0 /* this */
            ldc "objectArraycopyCatchArrayIndexException"
            iconst_5
            anewarray java.lang.Object
            dup
            iconst_0
            sipush 128
            anewarray java.lang.Integer
            aastore
            dup
            iconst_1
            iconst_0
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            aastore
            dup
            iconst_2
            sipush 128
            anewarray java.lang.Integer
            aastore
            dup
            iconst_3
            ldc 2147483647
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            aastore
            dup
            iconst_4
            iconst_1
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            aastore
            invokevirtual org.graalvm.compiler.hotspot.test.ArrayCopyIntrinsificationTest.test:(Ljava/lang/String;[Ljava/lang/Object;)Lorg/graalvm/compiler/core/test/GraalCompilerTest$Result;
            pop
        11: .line 373
            return
        end local 2 // java.lang.Object[] longSource
        end local 1 // java.lang.Object[] integerDest
        end local 0 // org.graalvm.compiler.hotspot.test.ArrayCopyIntrinsificationTest this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0   12     0         this  Lorg/graalvm/compiler/hotspot/test/ArrayCopyIntrinsificationTest;
            3   12     1  integerDest  [Ljava/lang/Object;
            4   12     2   longSource  [Ljava/lang/Object;
            5    9     3            i  I
    RuntimeVisibleAnnotations: 
      org.junit.Test()

  public void testArraycopyDeoptWithSideEffect();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=4, args_size=1
        start local 0 // org.graalvm.compiler.hotspot.test.ArrayCopyIntrinsificationTest this
         0: .line 377
            invokedynamic get()Lorg/graalvm/compiler/core/test/GraalCompilerTest$ArgSupplier;
              Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
                Method arguments:
                  ()Ljava/lang/Object;
                  org/graalvm/compiler/hotspot/test/ArrayCopyIntrinsificationTest.lambda$0()Ljava/lang/Object; (6)
                  ()Ljava/lang/Object;
            astore 1 /* s */
        start local 1 // org.graalvm.compiler.core.test.GraalCompilerTest$ArgSupplier s
         1: .line 378
            iconst_4
            newarray 10
            dup
            iconst_0
            iconst_1
            iastore
            dup
            iconst_1
            iconst_1
            iastore
            dup
            iconst_2
            iconst_1
            iastore
            dup
            iconst_3
            iconst_1
            iastore
            astore 2 /* b */
        start local 2 // int[] b
         2: .line 379
            iconst_4
            newarray 10
            dup
            iconst_0
            iconst_2
            iastore
            dup
            iconst_1
            iconst_2
            iastore
            dup
            iconst_2
            iconst_2
            iastore
            dup
            iconst_3
            iconst_2
            iastore
            astore 3 /* c */
        start local 3 // int[] c
         3: .line 380
            aload 0 /* this */
            ldc "arraycopyAndDeopt"
            iconst_3
            anewarray java.lang.Object
            dup
            iconst_0
            aload 1 /* s */
            aastore
            dup
            iconst_1
            aload 2 /* b */
            aastore
            dup
            iconst_2
            aload 3 /* c */
            aastore
            invokevirtual org.graalvm.compiler.hotspot.test.ArrayCopyIntrinsificationTest.test:(Ljava/lang/String;[Ljava/lang/Object;)Lorg/graalvm/compiler/core/test/GraalCompilerTest$Result;
            pop
         4: .line 381
            return
        end local 3 // int[] c
        end local 2 // int[] b
        end local 1 // org.graalvm.compiler.core.test.GraalCompilerTest$ArgSupplier s
        end local 0 // org.graalvm.compiler.hotspot.test.ArrayCopyIntrinsificationTest this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     0  this  Lorg/graalvm/compiler/hotspot/test/ArrayCopyIntrinsificationTest;
            1    5     1     s  Lorg/graalvm/compiler/core/test/GraalCompilerTest$ArgSupplier;
            2    5     2     b  [I
            3    5     3     c  [I
    RuntimeVisibleAnnotations: 
      org.junit.Test()

  public static int[] arraycopyAndDeopt(int[], int[], int[]);
    descriptor: ([I[I[I)[I
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=5, locals=3, args_size=3
        start local 0 // int[] a
        start local 1 // int[] b
        start local 2 // int[] c
         0: .line 384
            aload 0 /* a */
            iconst_0
            iaload
            ifne 4
         1: .line 385
            aload 1 /* b */
            iconst_0
            aload 0 /* a */
            iconst_0
            aload 1 /* b */
            arraylength
            invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
         2: .line 386
            invokestatic org.graalvm.compiler.api.directives.GraalDirectives.deoptimize:()V
         3: .line 387
            goto 5
         4: .line 388
      StackMap locals:
      StackMap stack:
            aload 2 /* c */
            iconst_0
            aload 0 /* a */
            iconst_0
            aload 1 /* b */
            arraylength
            invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
         5: .line 390
      StackMap locals:
      StackMap stack:
            aload 0 /* a */
            areturn
        end local 2 // int[] c
        end local 1 // int[] b
        end local 0 // int[] a
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    6     0     a  [I
            0    6     1     b  [I
            0    6     2     c  [I
    MethodParameters:
      Name  Flags
      a     
      b     
      c     

  private static java.lang.Object lambda$0();
    descriptor: ()Ljava/lang/Object;
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=1, locals=0, args_size=0
         0: .line 377
            iconst_4
            newarray 10
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature
}
SourceFile: "ArrayCopyIntrinsificationTest.java"
InnerClasses:
  public final Lookup = java.lang.invoke.MethodHandles$Lookup of java.lang.invoke.MethodHandles
  public Result = org.graalvm.compiler.core.test.GraalCompilerTest$Result of org.graalvm.compiler.core.test.GraalCompilerTest