public class org.graalvm.compiler.replacements.jdk9.test.CheckIndexTest extends org.graalvm.compiler.replacements.test.MethodSubstitutionTest
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: org.graalvm.compiler.replacements.jdk9.test.CheckIndexTest
  super_class: org.graalvm.compiler.replacements.test.MethodSubstitutionTest
{
  static java.nio.ByteBuffer buffer;
    descriptor: Ljava/nio/ByteBuffer;
    flags: (0x0008) ACC_STATIC

  static byte[] array;
    descriptor: [B
    flags: (0x0008) ACC_STATIC

  static int arrayLength;
    descriptor: I
    flags: (0x0008) ACC_STATIC

  static int negativeLength;
    descriptor: I
    flags: (0x0008) ACC_STATIC

  static int someIndex;
    descriptor: I
    flags: (0x0008) ACC_STATIC

  static final java.lang.invoke.VarHandle byteArrayIntView;
    descriptor: Ljava/lang/invoke/VarHandle;
    flags: (0x0018) ACC_STATIC, ACC_FINAL

  static final java.lang.invoke.VarHandle byteBufferIntView;
    descriptor: Ljava/lang/invoke/VarHandle;
    flags: (0x0018) ACC_STATIC, ACC_FINAL

  static final java.lang.invoke.VarHandle byteArrayByteView;
    descriptor: Ljava/lang/invoke/VarHandle;
    flags: (0x0018) ACC_STATIC, ACC_FINAL

  private boolean withExceptions;
    descriptor: Z
    flags: (0x0002) ACC_PRIVATE

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=3, locals=0, args_size=0
         0: .line 52
            bipush 16
            invokestatic java.nio.ByteBuffer.allocate:(I)Ljava/nio/ByteBuffer;
            invokestatic java.nio.ByteOrder.nativeOrder:()Ljava/nio/ByteOrder;
            invokevirtual java.nio.ByteBuffer.order:(Ljava/nio/ByteOrder;)Ljava/nio/ByteBuffer;
            iconst_0
            bipush 42
            invokevirtual java.nio.ByteBuffer.putInt:(II)Ljava/nio/ByteBuffer;
            iconst_1
            bipush 43
            invokevirtual java.nio.ByteBuffer.putInt:(II)Ljava/nio/ByteBuffer;
            putstatic org.graalvm.compiler.replacements.jdk9.test.CheckIndexTest.buffer:Ljava/nio/ByteBuffer;
         1: .line 53
            getstatic org.graalvm.compiler.replacements.jdk9.test.CheckIndexTest.buffer:Ljava/nio/ByteBuffer;
            invokevirtual java.nio.ByteBuffer.array:()[B
            putstatic org.graalvm.compiler.replacements.jdk9.test.CheckIndexTest.array:[B
         2: .line 54
            bipush 16
            putstatic org.graalvm.compiler.replacements.jdk9.test.CheckIndexTest.arrayLength:I
         3: .line 55
            iconst_m1
            putstatic org.graalvm.compiler.replacements.jdk9.test.CheckIndexTest.negativeLength:I
         4: .line 56
            iconst_4
            putstatic org.graalvm.compiler.replacements.jdk9.test.CheckIndexTest.someIndex:I
         5: .line 58
            ldc [I
            invokestatic java.nio.ByteOrder.nativeOrder:()Ljava/nio/ByteOrder;
            invokestatic java.lang.invoke.MethodHandles.byteArrayViewVarHandle:(Ljava/lang/Class;Ljava/nio/ByteOrder;)Ljava/lang/invoke/VarHandle;
            putstatic org.graalvm.compiler.replacements.jdk9.test.CheckIndexTest.byteArrayIntView:Ljava/lang/invoke/VarHandle;
         6: .line 59
            ldc [I
            invokestatic java.nio.ByteOrder.nativeOrder:()Ljava/nio/ByteOrder;
            invokestatic java.lang.invoke.MethodHandles.byteBufferViewVarHandle:(Ljava/lang/Class;Ljava/nio/ByteOrder;)Ljava/lang/invoke/VarHandle;
            putstatic org.graalvm.compiler.replacements.jdk9.test.CheckIndexTest.byteBufferIntView:Ljava/lang/invoke/VarHandle;
         7: .line 60
            ldc [B
            invokestatic java.lang.invoke.MethodHandles.arrayElementVarHandle:(Ljava/lang/Class;)Ljava/lang/invoke/VarHandle;
            putstatic org.graalvm.compiler.replacements.jdk9.test.CheckIndexTest.byteArrayByteView:Ljava/lang/invoke/VarHandle;
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public void <init>();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.graalvm.compiler.replacements.jdk9.test.CheckIndexTest this
         0: .line 50
            aload 0 /* this */
            invokespecial org.graalvm.compiler.replacements.test.MethodSubstitutionTest.<init>:()V
            return
        end local 0 // org.graalvm.compiler.replacements.jdk9.test.CheckIndexTest this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/graalvm/compiler/replacements/jdk9/test/CheckIndexTest;

  public static int objectsCheckIndex();
    descriptor: ()I
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=0, args_size=0
         0: .line 65
            getstatic org.graalvm.compiler.replacements.jdk9.test.CheckIndexTest.array:[B
            getstatic org.graalvm.compiler.replacements.jdk9.test.CheckIndexTest.someIndex:I
            getstatic org.graalvm.compiler.replacements.jdk9.test.CheckIndexTest.array:[B
            arraylength
            invokestatic java.util.Objects.checkIndex:(II)I
            baload
            ireturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public static int objectsCheckIndex0();
    descriptor: ()I
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=0, args_size=0
         0: .line 69
            getstatic org.graalvm.compiler.replacements.jdk9.test.CheckIndexTest.array:[B
            iconst_0
            getstatic org.graalvm.compiler.replacements.jdk9.test.CheckIndexTest.array:[B
            arraylength
            invokestatic java.util.Objects.checkIndex:(II)I
            baload
            ireturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public static int objectsCheckIndex1();
    descriptor: ()I
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=0, args_size=0
         0: .line 73
            getstatic org.graalvm.compiler.replacements.jdk9.test.CheckIndexTest.array:[B
            iconst_1
            getstatic org.graalvm.compiler.replacements.jdk9.test.CheckIndexTest.array:[B
            arraylength
            invokestatic java.util.Objects.checkIndex:(II)I
            baload
            ireturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public static int objectsCheckIndexLoop();
    descriptor: ()I
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=2, args_size=0
         0: .line 77
            iconst_0
            istore 0 /* sum */
        start local 0 // int sum
         1: .line 78
            iconst_0
            istore 1 /* i */
        start local 1 // int i
         2: goto 5
         3: .line 79
      StackMap locals: int int
      StackMap stack:
            iload 0 /* sum */
            getstatic org.graalvm.compiler.replacements.jdk9.test.CheckIndexTest.array:[B
            iload 1 /* i */
            getstatic org.graalvm.compiler.replacements.jdk9.test.CheckIndexTest.array:[B
            arraylength
            invokestatic java.util.Objects.checkIndex:(II)I
            baload
            iadd
            istore 0 /* sum */
         4: .line 78
            iinc 1 /* i */ 1
      StackMap locals:
      StackMap stack:
         5: iload 1 /* i */
            getstatic org.graalvm.compiler.replacements.jdk9.test.CheckIndexTest.arrayLength:I
            if_icmplt 3
        end local 1 // int i
         6: .line 81
            iload 0 /* sum */
            ireturn
        end local 0 // int sum
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            1    7     0   sum  I
            2    6     1     i  I

  public static int objectsCheckIndexLoopOverLength();
    descriptor: ()I
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=2, args_size=0
         0: .line 85
            iconst_0
            istore 0 /* sum */
        start local 0 // int sum
         1: .line 86
            iconst_0
            istore 1 /* i */
        start local 1 // int i
         2: goto 5
         3: .line 87
      StackMap locals: int int
      StackMap stack:
            iload 0 /* sum */
            getstatic org.graalvm.compiler.replacements.jdk9.test.CheckIndexTest.array:[B
            iload 1 /* i */
            getstatic org.graalvm.compiler.replacements.jdk9.test.CheckIndexTest.array:[B
            arraylength
            invokestatic java.util.Objects.checkIndex:(II)I
            baload
            iadd
            istore 0 /* sum */
         4: .line 86
            iinc 1 /* i */ 1
      StackMap locals:
      StackMap stack:
         5: iload 1 /* i */
            getstatic org.graalvm.compiler.replacements.jdk9.test.CheckIndexTest.array:[B
            arraylength
            if_icmplt 3
        end local 1 // int i
         6: .line 89
            iload 0 /* sum */
            ireturn
        end local 0 // int sum
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            1    7     0   sum  I
            2    6     1     i  I

  public static int objectsCheckIndexNonArrayLength();
    descriptor: ()I
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=1, args_size=0
         0: .line 93
            getstatic org.graalvm.compiler.replacements.jdk9.test.CheckIndexTest.someIndex:I
            getstatic org.graalvm.compiler.replacements.jdk9.test.CheckIndexTest.arrayLength:I
            invokestatic java.util.Objects.checkIndex:(II)I
            istore 0 /* index */
        start local 0 // int index
         1: .line 94
            iload 0 /* index */
            iflt 3
            iload 0 /* index */
            getstatic org.graalvm.compiler.replacements.jdk9.test.CheckIndexTest.arrayLength:I
            if_icmpge 3
         2: .line 95
            iload 0 /* index */
            ireturn
         3: .line 97
      StackMap locals: int
      StackMap stack:
            iconst_m1
            ireturn
        end local 0 // int index
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            1    4     0  index  I

  public static int objectsCheckIndexNonArrayLength1();
    descriptor: ()I
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=1, args_size=0
         0: .line 102
            iconst_1
            getstatic org.graalvm.compiler.replacements.jdk9.test.CheckIndexTest.arrayLength:I
            invokestatic java.util.Objects.checkIndex:(II)I
            istore 0 /* index */
        start local 0 // int index
         1: .line 103
            iload 0 /* index */
            iflt 3
            iload 0 /* index */
            getstatic org.graalvm.compiler.replacements.jdk9.test.CheckIndexTest.arrayLength:I
            if_icmpge 3
         2: .line 104
            iload 0 /* index */
            ireturn
         3: .line 106
      StackMap locals: int
      StackMap stack:
            iconst_m1
            ireturn
        end local 0 // int index
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            1    4     0  index  I

  public static int objectsCheckIndexConstant();
    descriptor: ()I
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=0, args_size=0
         0: .line 111
            iconst_1
            iconst_2
            invokestatic java.util.Objects.checkIndex:(II)I
            ireturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public static int byteArrayViewVarHandleGetInt();
    descriptor: ()I
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=0, args_size=0
         0: .line 115
            getstatic org.graalvm.compiler.replacements.jdk9.test.CheckIndexTest.byteArrayIntView:Ljava/lang/invoke/VarHandle;
            getstatic org.graalvm.compiler.replacements.jdk9.test.CheckIndexTest.array:[B
            getstatic org.graalvm.compiler.replacements.jdk9.test.CheckIndexTest.someIndex:I
            invokevirtual java.lang.invoke.VarHandle.get:([BI)I
            ireturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public static int byteArrayViewVarHandleGetIntConstIndex();
    descriptor: ()I
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=0, args_size=0
         0: .line 119
            getstatic org.graalvm.compiler.replacements.jdk9.test.CheckIndexTest.byteArrayIntView:Ljava/lang/invoke/VarHandle;
            getstatic org.graalvm.compiler.replacements.jdk9.test.CheckIndexTest.array:[B
            iconst_4
            invokevirtual java.lang.invoke.VarHandle.get:([BI)I
            ireturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public static int byteBufferViewVarHandleGetInt();
    descriptor: ()I
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=0, args_size=0
         0: .line 123
            getstatic org.graalvm.compiler.replacements.jdk9.test.CheckIndexTest.byteBufferIntView:Ljava/lang/invoke/VarHandle;
            getstatic org.graalvm.compiler.replacements.jdk9.test.CheckIndexTest.buffer:Ljava/nio/ByteBuffer;
            getstatic org.graalvm.compiler.replacements.jdk9.test.CheckIndexTest.someIndex:I
            invokevirtual java.lang.invoke.VarHandle.get:(Ljava/nio/ByteBuffer;I)I
            ireturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public static int byteBufferViewVarHandleGetIntConstIndex();
    descriptor: ()I
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=0, args_size=0
         0: .line 127
            getstatic org.graalvm.compiler.replacements.jdk9.test.CheckIndexTest.byteBufferIntView:Ljava/lang/invoke/VarHandle;
            getstatic org.graalvm.compiler.replacements.jdk9.test.CheckIndexTest.buffer:Ljava/nio/ByteBuffer;
            iconst_4
            invokevirtual java.lang.invoke.VarHandle.get:(Ljava/nio/ByteBuffer;I)I
            ireturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public static byte byteArrayViewVarHandleGetByte();
    descriptor: ()B
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=0, args_size=0
         0: .line 131
            getstatic org.graalvm.compiler.replacements.jdk9.test.CheckIndexTest.byteArrayByteView:Ljava/lang/invoke/VarHandle;
            getstatic org.graalvm.compiler.replacements.jdk9.test.CheckIndexTest.array:[B
            getstatic org.graalvm.compiler.replacements.jdk9.test.CheckIndexTest.someIndex:I
            invokevirtual java.lang.invoke.VarHandle.get:([BI)B
            ireturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public void testObjectsCheckIndex();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // org.graalvm.compiler.replacements.jdk9.test.CheckIndexTest this
         0: .line 136
            aload 0 /* this */
            ldc "objectsCheckIndex"
            invokevirtual org.graalvm.compiler.replacements.jdk9.test.CheckIndexTest.testGraph:(Ljava/lang/String;)Lorg/graalvm/compiler/nodes/StructuredGraph;
            pop
         1: .line 137
            aload 0 /* this */
            ldc "objectsCheckIndex"
            iconst_0
            anewarray java.lang.Object
            invokevirtual org.graalvm.compiler.replacements.jdk9.test.CheckIndexTest.test:(Ljava/lang/String;[Ljava/lang/Object;)Lorg/graalvm/compiler/core/test/GraalCompilerTest$Result;
            pop
         2: .line 138
            aload 0 /* this */
            ldc "objectsCheckIndex0"
            invokevirtual org.graalvm.compiler.replacements.jdk9.test.CheckIndexTest.testGraph:(Ljava/lang/String;)Lorg/graalvm/compiler/nodes/StructuredGraph;
            pop
         3: .line 139
            aload 0 /* this */
            ldc "objectsCheckIndex0"
            iconst_0
            anewarray java.lang.Object
            invokevirtual org.graalvm.compiler.replacements.jdk9.test.CheckIndexTest.test:(Ljava/lang/String;[Ljava/lang/Object;)Lorg/graalvm/compiler/core/test/GraalCompilerTest$Result;
            pop
         4: .line 140
            aload 0 /* this */
            ldc "objectsCheckIndex1"
            invokevirtual org.graalvm.compiler.replacements.jdk9.test.CheckIndexTest.testGraph:(Ljava/lang/String;)Lorg/graalvm/compiler/nodes/StructuredGraph;
            pop
         5: .line 141
            aload 0 /* this */
            ldc "objectsCheckIndex1"
            iconst_0
            anewarray java.lang.Object
            invokevirtual org.graalvm.compiler.replacements.jdk9.test.CheckIndexTest.test:(Ljava/lang/String;[Ljava/lang/Object;)Lorg/graalvm/compiler/core/test/GraalCompilerTest$Result;
            pop
         6: .line 143
            aload 0 /* this */
            ldc "objectsCheckIndexLoop"
            invokevirtual org.graalvm.compiler.replacements.jdk9.test.CheckIndexTest.testGraph:(Ljava/lang/String;)Lorg/graalvm/compiler/nodes/StructuredGraph;
            pop
         7: .line 144
            aload 0 /* this */
            ldc "objectsCheckIndexLoop"
            iconst_0
            anewarray java.lang.Object
            invokevirtual org.graalvm.compiler.replacements.jdk9.test.CheckIndexTest.test:(Ljava/lang/String;[Ljava/lang/Object;)Lorg/graalvm/compiler/core/test/GraalCompilerTest$Result;
            pop
         8: .line 145
            aload 0 /* this */
            ldc "objectsCheckIndexLoopOverLength"
            invokevirtual org.graalvm.compiler.replacements.jdk9.test.CheckIndexTest.testGraph:(Ljava/lang/String;)Lorg/graalvm/compiler/nodes/StructuredGraph;
            pop
         9: .line 146
            aload 0 /* this */
            ldc "objectsCheckIndexLoopOverLength"
            iconst_0
            anewarray java.lang.Object
            invokevirtual org.graalvm.compiler.replacements.jdk9.test.CheckIndexTest.test:(Ljava/lang/String;[Ljava/lang/Object;)Lorg/graalvm/compiler/core/test/GraalCompilerTest$Result;
            pop
        10: .line 148
            aload 0 /* this */
            ldc "objectsCheckIndexNonArrayLength"
            invokevirtual org.graalvm.compiler.replacements.jdk9.test.CheckIndexTest.testGraph:(Ljava/lang/String;)Lorg/graalvm/compiler/nodes/StructuredGraph;
            pop
        11: .line 149
            aload 0 /* this */
            ldc "objectsCheckIndexNonArrayLength"
            iconst_0
            anewarray java.lang.Object
            invokevirtual org.graalvm.compiler.replacements.jdk9.test.CheckIndexTest.test:(Ljava/lang/String;[Ljava/lang/Object;)Lorg/graalvm/compiler/core/test/GraalCompilerTest$Result;
            pop
        12: .line 150
            aload 0 /* this */
            ldc "objectsCheckIndexNonArrayLength1"
            invokevirtual org.graalvm.compiler.replacements.jdk9.test.CheckIndexTest.testGraph:(Ljava/lang/String;)Lorg/graalvm/compiler/nodes/StructuredGraph;
            pop
        13: .line 151
            aload 0 /* this */
            ldc "objectsCheckIndexNonArrayLength1"
            iconst_0
            anewarray java.lang.Object
            invokevirtual org.graalvm.compiler.replacements.jdk9.test.CheckIndexTest.test:(Ljava/lang/String;[Ljava/lang/Object;)Lorg/graalvm/compiler/core/test/GraalCompilerTest$Result;
            pop
        14: .line 153
            aload 0 /* this */
            ldc "objectsCheckIndexConstant"
            invokevirtual org.graalvm.compiler.replacements.jdk9.test.CheckIndexTest.testGraph:(Ljava/lang/String;)Lorg/graalvm/compiler/nodes/StructuredGraph;
            pop
        15: .line 154
            aload 0 /* this */
            ldc "objectsCheckIndexConstant"
            iconst_0
            anewarray java.lang.Object
            invokevirtual org.graalvm.compiler.replacements.jdk9.test.CheckIndexTest.test:(Ljava/lang/String;[Ljava/lang/Object;)Lorg/graalvm/compiler/core/test/GraalCompilerTest$Result;
            pop
        16: .line 155
            return
        end local 0 // org.graalvm.compiler.replacements.jdk9.test.CheckIndexTest this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   17     0  this  Lorg/graalvm/compiler/replacements/jdk9/test/CheckIndexTest;
    RuntimeVisibleAnnotations: 
      org.junit.Test()

  public void testByteArrayViewVarHandleGetInt();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // org.graalvm.compiler.replacements.jdk9.test.CheckIndexTest this
         0: .line 159
            aload 0 /* this */
            ldc "byteArrayViewVarHandleGetInt"
            invokevirtual org.graalvm.compiler.replacements.jdk9.test.CheckIndexTest.testGraph:(Ljava/lang/String;)Lorg/graalvm/compiler/nodes/StructuredGraph;
            pop
         1: .line 160
            aload 0 /* this */
            ldc "byteArrayViewVarHandleGetInt"
            iconst_0
            anewarray java.lang.Object
            invokevirtual org.graalvm.compiler.replacements.jdk9.test.CheckIndexTest.test:(Ljava/lang/String;[Ljava/lang/Object;)Lorg/graalvm/compiler/core/test/GraalCompilerTest$Result;
            pop
         2: .line 161
            aload 0 /* this */
            ldc "byteArrayViewVarHandleGetIntConstIndex"
            invokevirtual org.graalvm.compiler.replacements.jdk9.test.CheckIndexTest.testGraph:(Ljava/lang/String;)Lorg/graalvm/compiler/nodes/StructuredGraph;
            pop
         3: .line 162
            aload 0 /* this */
            ldc "byteArrayViewVarHandleGetIntConstIndex"
            iconst_0
            anewarray java.lang.Object
            invokevirtual org.graalvm.compiler.replacements.jdk9.test.CheckIndexTest.test:(Ljava/lang/String;[Ljava/lang/Object;)Lorg/graalvm/compiler/core/test/GraalCompilerTest$Result;
            pop
         4: .line 163
            return
        end local 0 // org.graalvm.compiler.replacements.jdk9.test.CheckIndexTest this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     0  this  Lorg/graalvm/compiler/replacements/jdk9/test/CheckIndexTest;
    RuntimeVisibleAnnotations: 
      org.junit.Test()

  public void testByteBufferViewVarHandleGetInt();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // org.graalvm.compiler.replacements.jdk9.test.CheckIndexTest this
         0: .line 167
            ldc "GR-23778"
            getstatic org.graalvm.compiler.serviceprovider.JavaVersionUtil.JAVA_SPEC:I
            bipush 11
            if_icmpgt 1
            iconst_1
            goto 2
      StackMap locals:
      StackMap stack: java.lang.String
         1: iconst_0
      StackMap locals: org.graalvm.compiler.replacements.jdk9.test.CheckIndexTest
      StackMap stack: java.lang.String int
         2: invokestatic org.junit.Assume.assumeTrue:(Ljava/lang/String;Z)V
         3: .line 168
            aload 0 /* this */
            ldc "byteBufferViewVarHandleGetInt"
            invokevirtual org.graalvm.compiler.replacements.jdk9.test.CheckIndexTest.testGraph:(Ljava/lang/String;)Lorg/graalvm/compiler/nodes/StructuredGraph;
            pop
         4: .line 169
            aload 0 /* this */
            ldc "byteBufferViewVarHandleGetInt"
            iconst_0
            anewarray java.lang.Object
            invokevirtual org.graalvm.compiler.replacements.jdk9.test.CheckIndexTest.test:(Ljava/lang/String;[Ljava/lang/Object;)Lorg/graalvm/compiler/core/test/GraalCompilerTest$Result;
            pop
         5: .line 170
            aload 0 /* this */
            ldc "byteBufferViewVarHandleGetIntConstIndex"
            invokevirtual org.graalvm.compiler.replacements.jdk9.test.CheckIndexTest.testGraph:(Ljava/lang/String;)Lorg/graalvm/compiler/nodes/StructuredGraph;
            pop
         6: .line 171
            aload 0 /* this */
            ldc "byteBufferViewVarHandleGetIntConstIndex"
            iconst_0
            anewarray java.lang.Object
            invokevirtual org.graalvm.compiler.replacements.jdk9.test.CheckIndexTest.test:(Ljava/lang/String;[Ljava/lang/Object;)Lorg/graalvm/compiler/core/test/GraalCompilerTest$Result;
            pop
         7: .line 172
            return
        end local 0 // org.graalvm.compiler.replacements.jdk9.test.CheckIndexTest this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    8     0  this  Lorg/graalvm/compiler/replacements/jdk9/test/CheckIndexTest;
    RuntimeVisibleAnnotations: 
      org.junit.Test()

  public void testByteArrayViewVarHandleGetByte();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // org.graalvm.compiler.replacements.jdk9.test.CheckIndexTest this
         0: .line 176
            aload 0 /* this */
            ldc "byteArrayViewVarHandleGetByte"
            invokevirtual org.graalvm.compiler.replacements.jdk9.test.CheckIndexTest.testGraph:(Ljava/lang/String;)Lorg/graalvm/compiler/nodes/StructuredGraph;
            pop
         1: .line 177
            aload 0 /* this */
            ldc "byteArrayViewVarHandleGetByte"
            iconst_0
            anewarray java.lang.Object
            invokevirtual org.graalvm.compiler.replacements.jdk9.test.CheckIndexTest.test:(Ljava/lang/String;[Ljava/lang/Object;)Lorg/graalvm/compiler/core/test/GraalCompilerTest$Result;
            pop
         2: .line 178
            return
        end local 0 // org.graalvm.compiler.replacements.jdk9.test.CheckIndexTest this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lorg/graalvm/compiler/replacements/jdk9/test/CheckIndexTest;
    RuntimeVisibleAnnotations: 
      org.junit.Test()

  public static int checkIndexOOB();
    descriptor: ()I
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=0, args_size=0
         0: .line 181
            getstatic org.graalvm.compiler.replacements.jdk9.test.CheckIndexTest.array:[B
            bipush 16
            getstatic org.graalvm.compiler.replacements.jdk9.test.CheckIndexTest.array:[B
            arraylength
            invokestatic java.util.Objects.checkIndex:(II)I
            baload
            ireturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public static int checkIndexNegativeLength();
    descriptor: ()I
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=0, args_size=0
         0: .line 185
            getstatic org.graalvm.compiler.replacements.jdk9.test.CheckIndexTest.array:[B
            iconst_1
            getstatic org.graalvm.compiler.replacements.jdk9.test.CheckIndexTest.negativeLength:I
            invokestatic java.util.Objects.checkIndex:(II)I
            baload
            ireturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public void testCheckIndexOOB();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // org.graalvm.compiler.replacements.jdk9.test.CheckIndexTest this
         0: .line 190
            aload 0 /* this */
            ldc "checkIndexOOB"
            iconst_0
            invokevirtual org.graalvm.compiler.replacements.jdk9.test.CheckIndexTest.testGraph:(Ljava/lang/String;Z)Lorg/graalvm/compiler/nodes/StructuredGraph;
            pop
         1: .line 191
            aload 0 /* this */
            ldc "checkIndexOOB"
            iconst_0
            anewarray java.lang.Object
            invokevirtual org.graalvm.compiler.replacements.jdk9.test.CheckIndexTest.test:(Ljava/lang/String;[Ljava/lang/Object;)Lorg/graalvm/compiler/core/test/GraalCompilerTest$Result;
            pop
         2: .line 193
            aload 0 /* this */
            iconst_1
            putfield org.graalvm.compiler.replacements.jdk9.test.CheckIndexTest.withExceptions:Z
         3: .line 194
            aload 0 /* this */
            ldc "checkIndexOOB"
            iconst_0
            anewarray java.lang.Object
            invokevirtual org.graalvm.compiler.replacements.jdk9.test.CheckIndexTest.test:(Ljava/lang/String;[Ljava/lang/Object;)Lorg/graalvm/compiler/core/test/GraalCompilerTest$Result;
            pop
         4: .line 195
            aload 0 /* this */
            ldc "checkIndexOOB"
            iconst_1
            invokevirtual org.graalvm.compiler.replacements.jdk9.test.CheckIndexTest.testGraph:(Ljava/lang/String;Z)Lorg/graalvm/compiler/nodes/StructuredGraph;
            pop
         5: .line 196
            return
        end local 0 // org.graalvm.compiler.replacements.jdk9.test.CheckIndexTest this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    6     0  this  Lorg/graalvm/compiler/replacements/jdk9/test/CheckIndexTest;
    RuntimeVisibleAnnotations: 
      org.junit.Test()

  public void testCheckIndexNegativeLength();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // org.graalvm.compiler.replacements.jdk9.test.CheckIndexTest this
         0: .line 200
            aload 0 /* this */
            ldc "checkIndexNegativeLength"
            iconst_0
            invokevirtual org.graalvm.compiler.replacements.jdk9.test.CheckIndexTest.testGraph:(Ljava/lang/String;Z)Lorg/graalvm/compiler/nodes/StructuredGraph;
            pop
         1: .line 201
            aload 0 /* this */
            ldc "checkIndexNegativeLength"
            iconst_0
            anewarray java.lang.Object
            invokevirtual org.graalvm.compiler.replacements.jdk9.test.CheckIndexTest.test:(Ljava/lang/String;[Ljava/lang/Object;)Lorg/graalvm/compiler/core/test/GraalCompilerTest$Result;
            pop
         2: .line 203
            aload 0 /* this */
            iconst_1
            putfield org.graalvm.compiler.replacements.jdk9.test.CheckIndexTest.withExceptions:Z
         3: .line 204
            aload 0 /* this */
            ldc "checkIndexNegativeLength"
            iconst_0
            anewarray java.lang.Object
            invokevirtual org.graalvm.compiler.replacements.jdk9.test.CheckIndexTest.test:(Ljava/lang/String;[Ljava/lang/Object;)Lorg/graalvm/compiler/core/test/GraalCompilerTest$Result;
            pop
         4: .line 205
            aload 0 /* this */
            ldc "checkIndexNegativeLength"
            iconst_1
            invokevirtual org.graalvm.compiler.replacements.jdk9.test.CheckIndexTest.testGraph:(Ljava/lang/String;Z)Lorg/graalvm/compiler/nodes/StructuredGraph;
            pop
         5: .line 206
            return
        end local 0 // org.graalvm.compiler.replacements.jdk9.test.CheckIndexTest this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    6     0  this  Lorg/graalvm/compiler/replacements/jdk9/test/CheckIndexTest;
    RuntimeVisibleAnnotations: 
      org.junit.Test()

  protected org.graalvm.compiler.nodes.graphbuilderconf.GraphBuilderConfiguration editGraphBuilderConfiguration(org.graalvm.compiler.nodes.graphbuilderconf.GraphBuilderConfiguration);
    descriptor: (Lorg/graalvm/compiler/nodes/graphbuilderconf/GraphBuilderConfiguration;)Lorg/graalvm/compiler/nodes/graphbuilderconf/GraphBuilderConfiguration;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.graalvm.compiler.replacements.jdk9.test.CheckIndexTest this
        start local 1 // org.graalvm.compiler.nodes.graphbuilderconf.GraphBuilderConfiguration conf
         0: .line 210
            aload 0 /* this */
            aload 1 /* conf */
            invokespecial org.graalvm.compiler.replacements.test.MethodSubstitutionTest.editGraphBuilderConfiguration:(Lorg/graalvm/compiler/nodes/graphbuilderconf/GraphBuilderConfiguration;)Lorg/graalvm/compiler/nodes/graphbuilderconf/GraphBuilderConfiguration;
            aload 0 /* this */
            getfield org.graalvm.compiler.replacements.jdk9.test.CheckIndexTest.withExceptions:Z
            ifeq 1
            getstatic org.graalvm.compiler.nodes.graphbuilderconf.GraphBuilderConfiguration$BytecodeExceptionMode.CheckAll:Lorg/graalvm/compiler/nodes/graphbuilderconf/GraphBuilderConfiguration$BytecodeExceptionMode;
            goto 2
      StackMap locals:
      StackMap stack: org.graalvm.compiler.nodes.graphbuilderconf.GraphBuilderConfiguration
         1: getstatic org.graalvm.compiler.nodes.graphbuilderconf.GraphBuilderConfiguration$BytecodeExceptionMode.OmitAll:Lorg/graalvm/compiler/nodes/graphbuilderconf/GraphBuilderConfiguration$BytecodeExceptionMode;
      StackMap locals: org.graalvm.compiler.replacements.jdk9.test.CheckIndexTest org.graalvm.compiler.nodes.graphbuilderconf.GraphBuilderConfiguration
      StackMap stack: org.graalvm.compiler.nodes.graphbuilderconf.GraphBuilderConfiguration org.graalvm.compiler.nodes.graphbuilderconf.GraphBuilderConfiguration$BytecodeExceptionMode
         2: invokevirtual org.graalvm.compiler.nodes.graphbuilderconf.GraphBuilderConfiguration.withBytecodeExceptionMode:(Lorg/graalvm/compiler/nodes/graphbuilderconf/GraphBuilderConfiguration$BytecodeExceptionMode;)Lorg/graalvm/compiler/nodes/graphbuilderconf/GraphBuilderConfiguration;
            areturn
        end local 1 // org.graalvm.compiler.nodes.graphbuilderconf.GraphBuilderConfiguration conf
        end local 0 // org.graalvm.compiler.replacements.jdk9.test.CheckIndexTest this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lorg/graalvm/compiler/replacements/jdk9/test/CheckIndexTest;
            0    3     1  conf  Lorg/graalvm/compiler/nodes/graphbuilderconf/GraphBuilderConfiguration;
    MethodParameters:
      Name  Flags
      conf  

  protected org.graalvm.compiler.phases.OptimisticOptimizations getOptimisticOptimizations();
    descriptor: ()Lorg/graalvm/compiler/phases/OptimisticOptimizations;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.graalvm.compiler.replacements.jdk9.test.CheckIndexTest this
         0: .line 215
            getstatic org.graalvm.compiler.phases.OptimisticOptimizations.NONE:Lorg/graalvm/compiler/phases/OptimisticOptimizations;
            areturn
        end local 0 // org.graalvm.compiler.replacements.jdk9.test.CheckIndexTest this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/graalvm/compiler/replacements/jdk9/test/CheckIndexTest;

  protected void registerInvocationPlugins(org.graalvm.compiler.nodes.graphbuilderconf.InvocationPlugins);
    descriptor: (Lorg/graalvm/compiler/nodes/graphbuilderconf/InvocationPlugins;)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=4, locals=4, args_size=2
        start local 0 // org.graalvm.compiler.replacements.jdk9.test.CheckIndexTest this
        start local 1 // org.graalvm.compiler.nodes.graphbuilderconf.InvocationPlugins invocationPlugins
         0: .line 220
            aload 0 /* this */
            aload 1 /* invocationPlugins */
            invokespecial org.graalvm.compiler.replacements.test.MethodSubstitutionTest.registerInvocationPlugins:(Lorg/graalvm/compiler/nodes/graphbuilderconf/InvocationPlugins;)V
         1: .line 223
            new org.graalvm.compiler.replacements.jdk9.test.CheckIndexTest$1
            dup
            aload 0 /* this */
            invokespecial org.graalvm.compiler.replacements.jdk9.test.CheckIndexTest$1.<init>:(Lorg/graalvm/compiler/replacements/jdk9/test/CheckIndexTest;)V
            astore 2 /* requireNonNullPlugin */
        start local 2 // org.graalvm.compiler.nodes.graphbuilderconf.InvocationPlugin requireNonNullPlugin
         2: .line 230
            new org.graalvm.compiler.nodes.graphbuilderconf.InvocationPlugins$Registration
            dup
            aload 1 /* invocationPlugins */
            ldc Ljava/util/Objects;
            invokespecial org.graalvm.compiler.nodes.graphbuilderconf.InvocationPlugins$Registration.<init>:(Lorg/graalvm/compiler/nodes/graphbuilderconf/InvocationPlugins;Ljava/lang/reflect/Type;)V
            astore 3 /* objects */
        start local 3 // org.graalvm.compiler.nodes.graphbuilderconf.InvocationPlugins$Registration objects
         3: .line 231
            aload 3 /* objects */
            ldc "requireNonNull"
            ldc Ljava/lang/Object;
            aload 2 /* requireNonNullPlugin */
            invokevirtual org.graalvm.compiler.nodes.graphbuilderconf.InvocationPlugins$Registration.register1:(Ljava/lang/String;Ljava/lang/reflect/Type;Lorg/graalvm/compiler/nodes/graphbuilderconf/InvocationPlugin;)V
         4: .line 232
            return
        end local 3 // org.graalvm.compiler.nodes.graphbuilderconf.InvocationPlugins$Registration objects
        end local 2 // org.graalvm.compiler.nodes.graphbuilderconf.InvocationPlugin requireNonNullPlugin
        end local 1 // org.graalvm.compiler.nodes.graphbuilderconf.InvocationPlugins invocationPlugins
        end local 0 // org.graalvm.compiler.replacements.jdk9.test.CheckIndexTest this
      LocalVariableTable:
        Start  End  Slot                  Name  Signature
            0    5     0                  this  Lorg/graalvm/compiler/replacements/jdk9/test/CheckIndexTest;
            0    5     1     invocationPlugins  Lorg/graalvm/compiler/nodes/graphbuilderconf/InvocationPlugins;
            2    5     2  requireNonNullPlugin  Lorg/graalvm/compiler/nodes/graphbuilderconf/InvocationPlugin;
            3    5     3               objects  Lorg/graalvm/compiler/nodes/graphbuilderconf/InvocationPlugins$Registration;
    MethodParameters:
                   Name  Flags
      invocationPlugins  

  protected org.graalvm.compiler.nodes.graphbuilderconf.InlineInvokePlugin$InlineInfo bytecodeParserShouldInlineInvoke(org.graalvm.compiler.nodes.graphbuilderconf.GraphBuilderContext, jdk.vm.ci.meta.ResolvedJavaMethod, org.graalvm.compiler.nodes.ValueNode[]);
    descriptor: (Lorg/graalvm/compiler/nodes/graphbuilderconf/GraphBuilderContext;Ljdk/vm/ci/meta/ResolvedJavaMethod;[Lorg/graalvm/compiler/nodes/ValueNode;)Lorg/graalvm/compiler/nodes/graphbuilderconf/InlineInvokePlugin$InlineInfo;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=4, locals=4, args_size=4
        start local 0 // org.graalvm.compiler.replacements.jdk9.test.CheckIndexTest this
        start local 1 // org.graalvm.compiler.nodes.graphbuilderconf.GraphBuilderContext b
        start local 2 // jdk.vm.ci.meta.ResolvedJavaMethod method
        start local 3 // org.graalvm.compiler.nodes.ValueNode[] args
         0: .line 237
            aload 2 /* method */
            invokeinterface jdk.vm.ci.meta.ResolvedJavaMethod.getDeclaringClass:()Ljdk/vm/ci/meta/ResolvedJavaType;
            invokeinterface jdk.vm.ci.meta.ResolvedJavaType.getUnqualifiedName:()Ljava/lang/String;
            ldc "Unsafe"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 2
         1: .line 238
            aload 2 /* method */
            invokestatic org.graalvm.compiler.nodes.graphbuilderconf.InlineInvokePlugin$InlineInfo.createStandardInlineInfo:(Ljdk/vm/ci/meta/ResolvedJavaMethod;)Lorg/graalvm/compiler/nodes/graphbuilderconf/InlineInvokePlugin$InlineInfo;
            areturn
         2: .line 240
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* b */
            aload 2 /* method */
            aload 3 /* args */
            invokespecial org.graalvm.compiler.replacements.test.MethodSubstitutionTest.bytecodeParserShouldInlineInvoke:(Lorg/graalvm/compiler/nodes/graphbuilderconf/GraphBuilderContext;Ljdk/vm/ci/meta/ResolvedJavaMethod;[Lorg/graalvm/compiler/nodes/ValueNode;)Lorg/graalvm/compiler/nodes/graphbuilderconf/InlineInvokePlugin$InlineInfo;
            areturn
        end local 3 // org.graalvm.compiler.nodes.ValueNode[] args
        end local 2 // jdk.vm.ci.meta.ResolvedJavaMethod method
        end local 1 // org.graalvm.compiler.nodes.graphbuilderconf.GraphBuilderContext b
        end local 0 // org.graalvm.compiler.replacements.jdk9.test.CheckIndexTest this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    3     0    this  Lorg/graalvm/compiler/replacements/jdk9/test/CheckIndexTest;
            0    3     1       b  Lorg/graalvm/compiler/nodes/graphbuilderconf/GraphBuilderContext;
            0    3     2  method  Ljdk/vm/ci/meta/ResolvedJavaMethod;
            0    3     3    args  [Lorg/graalvm/compiler/nodes/ValueNode;
    MethodParameters:
        Name  Flags
      b       
      method  
      args    
}
SourceFile: "CheckIndexTest.java"
NestMembers:
  org.graalvm.compiler.replacements.jdk9.test.CheckIndexTest$1
InnerClasses:
  public Result = org.graalvm.compiler.core.test.GraalCompilerTest$Result of org.graalvm.compiler.core.test.GraalCompilerTest
  public final BytecodeExceptionMode = org.graalvm.compiler.nodes.graphbuilderconf.GraphBuilderConfiguration$BytecodeExceptionMode of org.graalvm.compiler.nodes.graphbuilderconf.GraphBuilderConfiguration
  public final InlineInfo = org.graalvm.compiler.nodes.graphbuilderconf.InlineInvokePlugin$InlineInfo of org.graalvm.compiler.nodes.graphbuilderconf.InlineInvokePlugin
  public Registration = org.graalvm.compiler.nodes.graphbuilderconf.InvocationPlugins$Registration of org.graalvm.compiler.nodes.graphbuilderconf.InvocationPlugins
  org.graalvm.compiler.replacements.jdk9.test.CheckIndexTest$1