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 47
            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 47
            aload 0 /* this */
            invokespecial org.graalvm.compiler.core.test.GraalCompilerTest.<init>:()V
         1: .line 93
            aload 0 /* this */
            iconst_1
            putfield org.graalvm.compiler.hotspot.test.ArrayCopyIntrinsificationTest.mustIntrinsify:Z
         2: .line 47
            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);
    descriptor: (Ljdk/vm/ci/meta/ResolvedJavaMethod;Lorg/graalvm/compiler/nodes/StructuredGraph;)Ljdk/vm/ci/code/InstalledCode;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // org.graalvm.compiler.hotspot.test.ArrayCopyIntrinsificationTest this
         0: .line 60
            new java.lang.Error
            dup
            ldc "Unresolved compilation problems: \n\tAssert cannot be resolved\n\tAssert cannot be resolved\n\tAssert cannot be resolved\n\tAssert cannot be resolved\n"
            invokespecial java.lang.Error.<init>:(Ljava/lang/String;)V
            athrow
        end local 0 // org.graalvm.compiler.hotspot.test.ArrayCopyIntrinsificationTest this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/graalvm/compiler/hotspot/test/ArrayCopyIntrinsificationTest;
    MethodParameters:
        Name  Flags
      method  
      g       

  public void test0();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // org.graalvm.compiler.hotspot.test.ArrayCopyIntrinsificationTest this
         0: .line 95
            new java.lang.Error
            dup
            ldc "Unresolved compilation problem: \n\tTest cannot be resolved to a type\n"
            invokespecial java.lang.Error.<init>:(Ljava/lang/String;)V
            athrow
        end local 0 // org.graalvm.compiler.hotspot.test.ArrayCopyIntrinsificationTest this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/graalvm/compiler/hotspot/test/ArrayCopyIntrinsificationTest;
    RuntimeInvisibleAnnotations: 
      Test()

  public void test1();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // org.graalvm.compiler.hotspot.test.ArrayCopyIntrinsificationTest this
         0: .line 102
            new java.lang.Error
            dup
            ldc "Unresolved compilation problem: \n\tTest cannot be resolved to a type\n"
            invokespecial java.lang.Error.<init>:(Ljava/lang/String;)V
            athrow
        end local 0 // org.graalvm.compiler.hotspot.test.ArrayCopyIntrinsificationTest this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/graalvm/compiler/hotspot/test/ArrayCopyIntrinsificationTest;
    RuntimeInvisibleAnnotations: 
      Test()

  public void testByte();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // org.graalvm.compiler.hotspot.test.ArrayCopyIntrinsificationTest this
         0: .line 114
            new java.lang.Error
            dup
            ldc "Unresolved compilation problem: \n\tTest cannot be resolved to a type\n"
            invokespecial java.lang.Error.<init>:(Ljava/lang/String;)V
            athrow
        end local 0 // org.graalvm.compiler.hotspot.test.ArrayCopyIntrinsificationTest this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/graalvm/compiler/hotspot/test/ArrayCopyIntrinsificationTest;
    RuntimeInvisibleAnnotations: 
      Test()

  public void testChar();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // org.graalvm.compiler.hotspot.test.ArrayCopyIntrinsificationTest this
         0: .line 120
            new java.lang.Error
            dup
            ldc "Unresolved compilation problem: \n\tTest cannot be resolved to a type\n"
            invokespecial java.lang.Error.<init>:(Ljava/lang/String;)V
            athrow
        end local 0 // org.graalvm.compiler.hotspot.test.ArrayCopyIntrinsificationTest this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/graalvm/compiler/hotspot/test/ArrayCopyIntrinsificationTest;
    RuntimeInvisibleAnnotations: 
      Test()

  public void testShort();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // org.graalvm.compiler.hotspot.test.ArrayCopyIntrinsificationTest this
         0: .line 126
            new java.lang.Error
            dup
            ldc "Unresolved compilation problem: \n\tTest cannot be resolved to a type\n"
            invokespecial java.lang.Error.<init>:(Ljava/lang/String;)V
            athrow
        end local 0 // org.graalvm.compiler.hotspot.test.ArrayCopyIntrinsificationTest this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/graalvm/compiler/hotspot/test/ArrayCopyIntrinsificationTest;
    RuntimeInvisibleAnnotations: 
      Test()

  public void testInt();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // org.graalvm.compiler.hotspot.test.ArrayCopyIntrinsificationTest this
         0: .line 132
            new java.lang.Error
            dup
            ldc "Unresolved compilation problem: \n\tTest cannot be resolved to a type\n"
            invokespecial java.lang.Error.<init>:(Ljava/lang/String;)V
            athrow
        end local 0 // org.graalvm.compiler.hotspot.test.ArrayCopyIntrinsificationTest this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/graalvm/compiler/hotspot/test/ArrayCopyIntrinsificationTest;
    RuntimeInvisibleAnnotations: 
      Test()

  public void testFloat();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // org.graalvm.compiler.hotspot.test.ArrayCopyIntrinsificationTest this
         0: .line 138
            new java.lang.Error
            dup
            ldc "Unresolved compilation problem: \n\tTest cannot be resolved to a type\n"
            invokespecial java.lang.Error.<init>:(Ljava/lang/String;)V
            athrow
        end local 0 // org.graalvm.compiler.hotspot.test.ArrayCopyIntrinsificationTest this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/graalvm/compiler/hotspot/test/ArrayCopyIntrinsificationTest;
    RuntimeInvisibleAnnotations: 
      Test()

  public void testLong();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // org.graalvm.compiler.hotspot.test.ArrayCopyIntrinsificationTest this
         0: .line 144
            new java.lang.Error
            dup
            ldc "Unresolved compilation problem: \n\tTest cannot be resolved to a type\n"
            invokespecial java.lang.Error.<init>:(Ljava/lang/String;)V
            athrow
        end local 0 // org.graalvm.compiler.hotspot.test.ArrayCopyIntrinsificationTest this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/graalvm/compiler/hotspot/test/ArrayCopyIntrinsificationTest;
    RuntimeInvisibleAnnotations: 
      Test()

  public void testDouble();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // org.graalvm.compiler.hotspot.test.ArrayCopyIntrinsificationTest this
         0: .line 150
            new java.lang.Error
            dup
            ldc "Unresolved compilation problem: \n\tTest cannot be resolved to a type\n"
            invokespecial java.lang.Error.<init>:(Ljava/lang/String;)V
            athrow
        end local 0 // org.graalvm.compiler.hotspot.test.ArrayCopyIntrinsificationTest this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/graalvm/compiler/hotspot/test/ArrayCopyIntrinsificationTest;
    RuntimeInvisibleAnnotations: 
      Test()

  public void testObject();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // org.graalvm.compiler.hotspot.test.ArrayCopyIntrinsificationTest this
         0: .line 156
            new java.lang.Error
            dup
            ldc "Unresolved compilation problem: \n\tTest cannot be resolved to a type\n"
            invokespecial java.lang.Error.<init>:(Ljava/lang/String;)V
            athrow
        end local 0 // org.graalvm.compiler.hotspot.test.ArrayCopyIntrinsificationTest this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/graalvm/compiler/hotspot/test/ArrayCopyIntrinsificationTest;
    RuntimeInvisibleAnnotations: 
      Test()

  public void testArrayStoreException();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // org.graalvm.compiler.hotspot.test.ArrayCopyIntrinsificationTest this
         0: .line 165
            new java.lang.Error
            dup
            ldc "Unresolved compilation problem: \n\tTest cannot be resolved to a type\n"
            invokespecial java.lang.Error.<init>:(Ljava/lang/String;)V
            athrow
        end local 0 // org.graalvm.compiler.hotspot.test.ArrayCopyIntrinsificationTest this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/graalvm/compiler/hotspot/test/ArrayCopyIntrinsificationTest;
    RuntimeInvisibleAnnotations: 
      Test()

  public void testDisjointObject();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // org.graalvm.compiler.hotspot.test.ArrayCopyIntrinsificationTest this
         0: .line 173
            new java.lang.Error
            dup
            ldc "Unresolved compilation problem: \n\tTest cannot be resolved to a type\n"
            invokespecial java.lang.Error.<init>:(Ljava/lang/String;)V
            athrow
        end local 0 // org.graalvm.compiler.hotspot.test.ArrayCopyIntrinsificationTest this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/graalvm/compiler/hotspot/test/ArrayCopyIntrinsificationTest;
    RuntimeInvisibleAnnotations: 
      Test()

  public void testObjectExact();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // org.graalvm.compiler.hotspot.test.ArrayCopyIntrinsificationTest this
         0: .line 182
            new java.lang.Error
            dup
            ldc "Unresolved compilation problem: \n\tTest cannot be resolved to a type\n"
            invokespecial java.lang.Error.<init>:(Ljava/lang/String;)V
            athrow
        end local 0 // org.graalvm.compiler.hotspot.test.ArrayCopyIntrinsificationTest this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/graalvm/compiler/hotspot/test/ArrayCopyIntrinsificationTest;
    RuntimeInvisibleAnnotations: 
      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 189
            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 190
      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 191
      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 195
            aload 2 /* src */
            invokestatic java.lang.reflect.Array.getLength:(Ljava/lang/Object;)I
            istore 3 /* srcLength */
        start local 3 // int srcLength
         1: .line 198
            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;)V
         2: .line 200
            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 202
            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;)V
         5: .line 203
            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;)V
         6: .line 204
            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;)V
        end local 4 // int length
         7: .line 200
            iinc 5 1
      StackMap locals:
      StackMap stack:
         8: iload 5
            iload 6
            if_icmplt 3
         9: .line 207
            iload 3 /* srcLength */
            iconst_1
            if_icmple 11
        10: .line 208
            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;)V
        11: .line 210
      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 213
            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 214
            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[] 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 218
            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 219
            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[] 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 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
         1: .line 224
            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 228
            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 229
            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 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
         1: .line 234
            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 238
            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 239
            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 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
         1: .line 244
            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 248
            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 249
            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 253
            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 254
            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 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
         1: .line 259
            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 263
            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 264
            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=3, locals=1, args_size=1
        start local 0 // org.graalvm.compiler.hotspot.test.ArrayCopyIntrinsificationTest this
         0: .line 272
            new java.lang.Error
            dup
            ldc "Unresolved compilation problem: \n\tTest cannot be resolved to a type\n"
            invokespecial java.lang.Error.<init>:(Ljava/lang/String;)V
            athrow
        end local 0 // org.graalvm.compiler.hotspot.test.ArrayCopyIntrinsificationTest this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/graalvm/compiler/hotspot/test/ArrayCopyIntrinsificationTest;
    RuntimeInvisibleAnnotations: 
      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 279
            aload 0 /* rows */
            arraylength
            iload 1 /* rowSize */
            multianewarray [[Ljava/lang/Object; 2
            astore 3 /* copy */
        start local 3 // java.lang.Object[][] copy
         1: .line 280
            iconst_0
            istore 4 /* i */
        start local 4 // int i
         2: goto 5
         3: .line 281
      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 280
            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 283
            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  
}
SourceFile: "ArrayCopyIntrinsificationTest.java"