public class com.oracle.truffle.api.benchmark.ByteArrayAccessOutOfBoundsBenchmark extends com.oracle.truffle.api.benchmark.TruffleBenchmark
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: com.oracle.truffle.api.benchmark.ByteArrayAccessOutOfBoundsBenchmark
  super_class: com.oracle.truffle.api.benchmark.TruffleBenchmark
{
  static final int N;
    descriptor: I
    flags: (0x0018) ACC_STATIC, ACC_FINAL
    ConstantValue: 100000

  final byte[] bytes;
    descriptor: [B
    flags: (0x0010) ACC_FINAL

  final int[] ints;
    descriptor: [I
    flags: (0x0010) ACC_FINAL

  final int[] indices;
    descriptor: [I
    flags: (0x0010) ACC_FINAL

  public void <init>();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // com.oracle.truffle.api.benchmark.ByteArrayAccessOutOfBoundsBenchmark this
         0: .line 63
            aload 0 /* this */
            invokespecial com.oracle.truffle.api.benchmark.TruffleBenchmark.<init>:()V
         1: .line 65
            aload 0 /* this */
            ldc 400000
            newarray 8
            putfield com.oracle.truffle.api.benchmark.ByteArrayAccessOutOfBoundsBenchmark.bytes:[B
         2: .line 66
            aload 0 /* this */
            ldc 100000
            newarray 10
            putfield com.oracle.truffle.api.benchmark.ByteArrayAccessOutOfBoundsBenchmark.ints:[I
         3: .line 67
            aload 0 /* this */
            ldc 100000
            newarray 10
            putfield com.oracle.truffle.api.benchmark.ByteArrayAccessOutOfBoundsBenchmark.indices:[I
         4: .line 63
            return
        end local 0 // com.oracle.truffle.api.benchmark.ByteArrayAccessOutOfBoundsBenchmark this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     0  this  Lcom/oracle/truffle/api/benchmark/ByteArrayAccessOutOfBoundsBenchmark;

  public void setup();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=4, args_size=1
        start local 0 // com.oracle.truffle.api.benchmark.ByteArrayAccessOutOfBoundsBenchmark this
         0: .line 71
            new java.util.Random
            dup
            invokespecial java.util.Random.<init>:()V
            astore 1 /* r */
        start local 1 // java.util.Random r
         1: .line 72
            aload 1 /* r */
            lconst_0
            invokevirtual java.util.Random.setSeed:(J)V
         2: .line 73
            iconst_0
            istore 2 /* i */
        start local 2 // int i
         3: goto 8
         4: .line 74
      StackMap locals: java.util.Random int
      StackMap stack:
            aload 1 /* r */
            invokevirtual java.util.Random.nextInt:()I
            istore 3 /* value */
        start local 3 // int value
         5: .line 75
            invokestatic com.oracle.truffle.api.memory.ByteArraySupport.bigEndian:()Lcom/oracle/truffle/api/memory/ByteArraySupport;
            aload 0 /* this */
            getfield com.oracle.truffle.api.benchmark.ByteArrayAccessOutOfBoundsBenchmark.bytes:[B
            iload 2 /* i */
            iconst_4
            imul
            iload 3 /* value */
            invokevirtual com.oracle.truffle.api.memory.ByteArraySupport.putInt:([BII)V
         6: .line 76
            aload 0 /* this */
            getfield com.oracle.truffle.api.benchmark.ByteArrayAccessOutOfBoundsBenchmark.ints:[I
            iload 2 /* i */
            iload 3 /* value */
            iastore
        end local 3 // int value
         7: .line 73
            iinc 2 /* i */ 1
      StackMap locals:
      StackMap stack:
         8: iload 2 /* i */
            ldc 100000
            if_icmplt 4
        end local 2 // int i
         9: .line 79
            iconst_0
            istore 2 /* i */
        start local 2 // int i
        10: goto 13
        11: .line 80
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.oracle.truffle.api.benchmark.ByteArrayAccessOutOfBoundsBenchmark.indices:[I
            iload 2 /* i */
            aload 1 /* r */
            ldc 200000
            invokevirtual java.util.Random.nextInt:(I)I
            iastore
        12: .line 79
            iinc 2 /* i */ 1
      StackMap locals:
      StackMap stack:
        13: iload 2 /* i */
            ldc 100000
            if_icmplt 11
        end local 2 // int i
        14: .line 82
            return
        end local 1 // java.util.Random r
        end local 0 // com.oracle.truffle.api.benchmark.ByteArrayAccessOutOfBoundsBenchmark this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0   15     0   this  Lcom/oracle/truffle/api/benchmark/ByteArrayAccessOutOfBoundsBenchmark;
            1   15     1      r  Ljava/util/Random;
            3    9     2      i  I
            5    7     3  value  I
           10   14     2      i  I
    RuntimeVisibleAnnotations: 
      org.openjdk.jmh.annotations.Setup(value = org.openjdk.jmh.annotations.Level.Trial:Lorg/openjdk/jmh/annotations/Level;)

  public long intsArrayException();
    descriptor: ()J
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=4, args_size=1
        start local 0 // com.oracle.truffle.api.benchmark.ByteArrayAccessOutOfBoundsBenchmark this
         0: .line 86
            lconst_0
            lstore 1 /* sum */
        start local 1 // long sum
         1: .line 87
            iconst_0
            istore 3 /* i */
        start local 3 // int i
         2: goto 8
         3: .line 89
      StackMap locals: long int
      StackMap stack:
            lload 1 /* sum */
            aload 0 /* this */
            getfield com.oracle.truffle.api.benchmark.ByteArrayAccessOutOfBoundsBenchmark.ints:[I
            aload 0 /* this */
            getfield com.oracle.truffle.api.benchmark.ByteArrayAccessOutOfBoundsBenchmark.indices:[I
            iload 3 /* i */
            iaload
            iaload
            i2l
            ladd
            lstore 1 /* sum */
         4: .line 90
            goto 7
      StackMap locals:
      StackMap stack: java.lang.ArrayIndexOutOfBoundsException
         5: pop
         6: .line 91
            lload 1 /* sum */
            lconst_1
            ladd
            lstore 1 /* sum */
         7: .line 87
      StackMap locals:
      StackMap stack:
            iinc 3 /* i */ 1
      StackMap locals:
      StackMap stack:
         8: iload 3 /* i */
            ldc 100000
            if_icmplt 3
        end local 3 // int i
         9: .line 94
            lload 1 /* sum */
            lreturn
        end local 1 // long sum
        end local 0 // com.oracle.truffle.api.benchmark.ByteArrayAccessOutOfBoundsBenchmark this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   10     0  this  Lcom/oracle/truffle/api/benchmark/ByteArrayAccessOutOfBoundsBenchmark;
            1   10     1   sum  J
            2    9     3     i  I
      Exception table:
        from    to  target  type
           3     4       5  Class java.lang.ArrayIndexOutOfBoundsException
    RuntimeVisibleAnnotations: 
      org.openjdk.jmh.annotations.Benchmark()

  public long intsArrayCondition();
    descriptor: ()J
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=5, args_size=1
        start local 0 // com.oracle.truffle.api.benchmark.ByteArrayAccessOutOfBoundsBenchmark this
         0: .line 99
            lconst_0
            lstore 1 /* sum */
        start local 1 // long sum
         1: .line 100
            iconst_0
            istore 3 /* i */
        start local 3 // int i
         2: goto 9
         3: .line 101
      StackMap locals: long int
      StackMap stack:
            aload 0 /* this */
            getfield com.oracle.truffle.api.benchmark.ByteArrayAccessOutOfBoundsBenchmark.indices:[I
            iload 3 /* i */
            iaload
            istore 4 /* index */
        start local 4 // int index
         4: .line 102
            iload 4 /* index */
            aload 0 /* this */
            getfield com.oracle.truffle.api.benchmark.ByteArrayAccessOutOfBoundsBenchmark.ints:[I
            arraylength
            invokestatic java.lang.Integer.compareUnsigned:(II)I
            ifge 7
         5: .line 103
            lload 1 /* sum */
            aload 0 /* this */
            getfield com.oracle.truffle.api.benchmark.ByteArrayAccessOutOfBoundsBenchmark.ints:[I
            iload 4 /* index */
            iaload
            i2l
            ladd
            lstore 1 /* sum */
         6: .line 104
            goto 8
         7: .line 105
      StackMap locals: int
      StackMap stack:
            lload 1 /* sum */
            lconst_1
            ladd
            lstore 1 /* sum */
        end local 4 // int index
         8: .line 100
      StackMap locals:
      StackMap stack:
            iinc 3 /* i */ 1
      StackMap locals:
      StackMap stack:
         9: iload 3 /* i */
            ldc 100000
            if_icmplt 3
        end local 3 // int i
        10: .line 108
            lload 1 /* sum */
            lreturn
        end local 1 // long sum
        end local 0 // com.oracle.truffle.api.benchmark.ByteArrayAccessOutOfBoundsBenchmark this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0   11     0   this  Lcom/oracle/truffle/api/benchmark/ByteArrayAccessOutOfBoundsBenchmark;
            1   11     1    sum  J
            2   10     3      i  I
            4    8     4  index  I
    RuntimeVisibleAnnotations: 
      org.openjdk.jmh.annotations.Benchmark()

  public long bytesArrayException();
    descriptor: ()J
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=4, args_size=1
        start local 0 // com.oracle.truffle.api.benchmark.ByteArrayAccessOutOfBoundsBenchmark this
         0: .line 113
            lconst_0
            lstore 1 /* sum */
        start local 1 // long sum
         1: .line 114
            iconst_0
            istore 3 /* i */
        start local 3 // int i
         2: goto 8
         3: .line 116
      StackMap locals: long int
      StackMap stack:
            lload 1 /* sum */
            invokestatic com.oracle.truffle.api.memory.ByteArraySupport.bigEndian:()Lcom/oracle/truffle/api/memory/ByteArraySupport;
            aload 0 /* this */
            getfield com.oracle.truffle.api.benchmark.ByteArrayAccessOutOfBoundsBenchmark.bytes:[B
            aload 0 /* this */
            getfield com.oracle.truffle.api.benchmark.ByteArrayAccessOutOfBoundsBenchmark.indices:[I
            iload 3 /* i */
            iaload
            iconst_4
            imul
            invokevirtual com.oracle.truffle.api.memory.ByteArraySupport.getInt:([BI)I
            i2l
            ladd
            lstore 1 /* sum */
         4: .line 117
            goto 7
      StackMap locals:
      StackMap stack: java.lang.IndexOutOfBoundsException
         5: pop
         6: .line 118
            lload 1 /* sum */
            lconst_1
            ladd
            lstore 1 /* sum */
         7: .line 114
      StackMap locals:
      StackMap stack:
            iinc 3 /* i */ 1
      StackMap locals:
      StackMap stack:
         8: iload 3 /* i */
            ldc 100000
            if_icmplt 3
        end local 3 // int i
         9: .line 121
            lload 1 /* sum */
            lreturn
        end local 1 // long sum
        end local 0 // com.oracle.truffle.api.benchmark.ByteArrayAccessOutOfBoundsBenchmark this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   10     0  this  Lcom/oracle/truffle/api/benchmark/ByteArrayAccessOutOfBoundsBenchmark;
            1   10     1   sum  J
            2    9     3     i  I
      Exception table:
        from    to  target  type
           3     4       5  Class java.lang.IndexOutOfBoundsException
    RuntimeVisibleAnnotations: 
      org.openjdk.jmh.annotations.Benchmark()

  public long bytesArrayCondition();
    descriptor: ()J
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=5, args_size=1
        start local 0 // com.oracle.truffle.api.benchmark.ByteArrayAccessOutOfBoundsBenchmark this
         0: .line 126
            lconst_0
            lstore 1 /* sum */
        start local 1 // long sum
         1: .line 127
            iconst_0
            istore 3 /* i */
        start local 3 // int i
         2: goto 9
         3: .line 128
      StackMap locals: long int
      StackMap stack:
            aload 0 /* this */
            getfield com.oracle.truffle.api.benchmark.ByteArrayAccessOutOfBoundsBenchmark.indices:[I
            iload 3 /* i */
            iaload
            iconst_4
            imul
            istore 4 /* index */
        start local 4 // int index
         4: .line 129
            invokestatic com.oracle.truffle.api.memory.ByteArraySupport.bigEndian:()Lcom/oracle/truffle/api/memory/ByteArraySupport;
            aload 0 /* this */
            getfield com.oracle.truffle.api.benchmark.ByteArrayAccessOutOfBoundsBenchmark.bytes:[B
            iload 4 /* index */
            iconst_4
            invokevirtual com.oracle.truffle.api.memory.ByteArraySupport.inBounds:([BII)Z
            ifeq 7
         5: .line 130
            lload 1 /* sum */
            invokestatic com.oracle.truffle.api.memory.ByteArraySupport.bigEndian:()Lcom/oracle/truffle/api/memory/ByteArraySupport;
            aload 0 /* this */
            getfield com.oracle.truffle.api.benchmark.ByteArrayAccessOutOfBoundsBenchmark.bytes:[B
            iload 4 /* index */
            invokevirtual com.oracle.truffle.api.memory.ByteArraySupport.getInt:([BI)I
            i2l
            ladd
            lstore 1 /* sum */
         6: .line 131
            goto 8
         7: .line 132
      StackMap locals: int
      StackMap stack:
            lload 1 /* sum */
            lconst_1
            ladd
            lstore 1 /* sum */
        end local 4 // int index
         8: .line 127
      StackMap locals:
      StackMap stack:
            iinc 3 /* i */ 1
      StackMap locals:
      StackMap stack:
         9: iload 3 /* i */
            ldc 100000
            if_icmplt 3
        end local 3 // int i
        10: .line 135
            lload 1 /* sum */
            lreturn
        end local 1 // long sum
        end local 0 // com.oracle.truffle.api.benchmark.ByteArrayAccessOutOfBoundsBenchmark this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0   11     0   this  Lcom/oracle/truffle/api/benchmark/ByteArrayAccessOutOfBoundsBenchmark;
            1   11     1    sum  J
            2   10     3      i  I
            4    8     4  index  I
    RuntimeVisibleAnnotations: 
      org.openjdk.jmh.annotations.Benchmark()
}
SourceFile: "ByteArrayAccessOutOfBoundsBenchmark.java"
    RuntimeVisibleAnnotations: 
      org.openjdk.jmh.annotations.State(value = org.openjdk.jmh.annotations.Scope.Benchmark:Lorg/openjdk/jmh/annotations/Scope;)