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: 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: 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: bipush 16
putstatic org.graalvm.compiler.replacements.jdk9.test.CheckIndexTest.arrayLength:I
3: iconst_m1
putstatic org.graalvm.compiler.replacements.jdk9.test.CheckIndexTest.negativeLength:I
4: iconst_4
putstatic org.graalvm.compiler.replacements.jdk9.test.CheckIndexTest.someIndex:I
5: 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: 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: 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 0: aload 0
invokespecial org.graalvm.compiler.replacements.test.MethodSubstitutionTest.<init>:()V
return
end local 0 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: 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: 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: 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: iconst_0
istore 0
start local 0 1: iconst_0
istore 1
start local 1 2: goto 5
3: StackMap locals: int int
StackMap stack:
iload 0
getstatic org.graalvm.compiler.replacements.jdk9.test.CheckIndexTest.array:[B
iload 1
getstatic org.graalvm.compiler.replacements.jdk9.test.CheckIndexTest.array:[B
arraylength
invokestatic java.util.Objects.checkIndex:(II)I
baload
iadd
istore 0
4: iinc 1 1
StackMap locals:
StackMap stack:
5: iload 1
getstatic org.graalvm.compiler.replacements.jdk9.test.CheckIndexTest.arrayLength:I
if_icmplt 3
end local 1 6: iload 0
ireturn
end local 0 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: iconst_0
istore 0
start local 0 1: iconst_0
istore 1
start local 1 2: goto 5
3: StackMap locals: int int
StackMap stack:
iload 0
getstatic org.graalvm.compiler.replacements.jdk9.test.CheckIndexTest.array:[B
iload 1
getstatic org.graalvm.compiler.replacements.jdk9.test.CheckIndexTest.array:[B
arraylength
invokestatic java.util.Objects.checkIndex:(II)I
baload
iadd
istore 0
4: iinc 1 1
StackMap locals:
StackMap stack:
5: iload 1
getstatic org.graalvm.compiler.replacements.jdk9.test.CheckIndexTest.array:[B
arraylength
if_icmplt 3
end local 1 6: iload 0
ireturn
end local 0 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: 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
start local 0 1: iload 0
iflt 3
iload 0
getstatic org.graalvm.compiler.replacements.jdk9.test.CheckIndexTest.arrayLength:I
if_icmpge 3
2: iload 0
ireturn
3: StackMap locals: int
StackMap stack:
iconst_m1
ireturn
end local 0 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: iconst_1
getstatic org.graalvm.compiler.replacements.jdk9.test.CheckIndexTest.arrayLength:I
invokestatic java.util.Objects.checkIndex:(II)I
istore 0
start local 0 1: iload 0
iflt 3
iload 0
getstatic org.graalvm.compiler.replacements.jdk9.test.CheckIndexTest.arrayLength:I
if_icmpge 3
2: iload 0
ireturn
3: StackMap locals: int
StackMap stack:
iconst_m1
ireturn
end local 0 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: 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: 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: 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: 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: 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: 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 0: aload 0
ldc "objectsCheckIndex"
invokevirtual org.graalvm.compiler.replacements.jdk9.test.CheckIndexTest.testGraph:(Ljava/lang/String;)Lorg/graalvm/compiler/nodes/StructuredGraph;
pop
1: aload 0
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: aload 0
ldc "objectsCheckIndex0"
invokevirtual org.graalvm.compiler.replacements.jdk9.test.CheckIndexTest.testGraph:(Ljava/lang/String;)Lorg/graalvm/compiler/nodes/StructuredGraph;
pop
3: aload 0
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: aload 0
ldc "objectsCheckIndex1"
invokevirtual org.graalvm.compiler.replacements.jdk9.test.CheckIndexTest.testGraph:(Ljava/lang/String;)Lorg/graalvm/compiler/nodes/StructuredGraph;
pop
5: aload 0
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: aload 0
ldc "objectsCheckIndexLoop"
invokevirtual org.graalvm.compiler.replacements.jdk9.test.CheckIndexTest.testGraph:(Ljava/lang/String;)Lorg/graalvm/compiler/nodes/StructuredGraph;
pop
7: aload 0
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: aload 0
ldc "objectsCheckIndexLoopOverLength"
invokevirtual org.graalvm.compiler.replacements.jdk9.test.CheckIndexTest.testGraph:(Ljava/lang/String;)Lorg/graalvm/compiler/nodes/StructuredGraph;
pop
9: aload 0
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: aload 0
ldc "objectsCheckIndexNonArrayLength"
invokevirtual org.graalvm.compiler.replacements.jdk9.test.CheckIndexTest.testGraph:(Ljava/lang/String;)Lorg/graalvm/compiler/nodes/StructuredGraph;
pop
11: aload 0
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: aload 0
ldc "objectsCheckIndexNonArrayLength1"
invokevirtual org.graalvm.compiler.replacements.jdk9.test.CheckIndexTest.testGraph:(Ljava/lang/String;)Lorg/graalvm/compiler/nodes/StructuredGraph;
pop
13: aload 0
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: aload 0
ldc "objectsCheckIndexConstant"
invokevirtual org.graalvm.compiler.replacements.jdk9.test.CheckIndexTest.testGraph:(Ljava/lang/String;)Lorg/graalvm/compiler/nodes/StructuredGraph;
pop
15: aload 0
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: return
end local 0 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 0: aload 0
ldc "byteArrayViewVarHandleGetInt"
invokevirtual org.graalvm.compiler.replacements.jdk9.test.CheckIndexTest.testGraph:(Ljava/lang/String;)Lorg/graalvm/compiler/nodes/StructuredGraph;
pop
1: aload 0
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: aload 0
ldc "byteArrayViewVarHandleGetIntConstIndex"
invokevirtual org.graalvm.compiler.replacements.jdk9.test.CheckIndexTest.testGraph:(Ljava/lang/String;)Lorg/graalvm/compiler/nodes/StructuredGraph;
pop
3: aload 0
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: return
end local 0 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 0: 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: aload 0
ldc "byteBufferViewVarHandleGetInt"
invokevirtual org.graalvm.compiler.replacements.jdk9.test.CheckIndexTest.testGraph:(Ljava/lang/String;)Lorg/graalvm/compiler/nodes/StructuredGraph;
pop
4: aload 0
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: aload 0
ldc "byteBufferViewVarHandleGetIntConstIndex"
invokevirtual org.graalvm.compiler.replacements.jdk9.test.CheckIndexTest.testGraph:(Ljava/lang/String;)Lorg/graalvm/compiler/nodes/StructuredGraph;
pop
6: aload 0
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: return
end local 0 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 0: aload 0
ldc "byteArrayViewVarHandleGetByte"
invokevirtual org.graalvm.compiler.replacements.jdk9.test.CheckIndexTest.testGraph:(Ljava/lang/String;)Lorg/graalvm/compiler/nodes/StructuredGraph;
pop
1: aload 0
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: return
end local 0 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: 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: 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 0: aload 0
ldc "checkIndexOOB"
iconst_0
invokevirtual org.graalvm.compiler.replacements.jdk9.test.CheckIndexTest.testGraph:(Ljava/lang/String;Z)Lorg/graalvm/compiler/nodes/StructuredGraph;
pop
1: aload 0
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: aload 0
iconst_1
putfield org.graalvm.compiler.replacements.jdk9.test.CheckIndexTest.withExceptions:Z
3: aload 0
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: aload 0
ldc "checkIndexOOB"
iconst_1
invokevirtual org.graalvm.compiler.replacements.jdk9.test.CheckIndexTest.testGraph:(Ljava/lang/String;Z)Lorg/graalvm/compiler/nodes/StructuredGraph;
pop
5: return
end local 0 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 0: aload 0
ldc "checkIndexNegativeLength"
iconst_0
invokevirtual org.graalvm.compiler.replacements.jdk9.test.CheckIndexTest.testGraph:(Ljava/lang/String;Z)Lorg/graalvm/compiler/nodes/StructuredGraph;
pop
1: aload 0
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: aload 0
iconst_1
putfield org.graalvm.compiler.replacements.jdk9.test.CheckIndexTest.withExceptions:Z
3: aload 0
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: aload 0
ldc "checkIndexNegativeLength"
iconst_1
invokevirtual org.graalvm.compiler.replacements.jdk9.test.CheckIndexTest.testGraph:(Ljava/lang/String;Z)Lorg/graalvm/compiler/nodes/StructuredGraph;
pop
5: return
end local 0 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 start local 1 0: aload 0
aload 1
invokespecial org.graalvm.compiler.replacements.test.MethodSubstitutionTest.editGraphBuilderConfiguration:(Lorg/graalvm/compiler/nodes/graphbuilderconf/GraphBuilderConfiguration;)Lorg/graalvm/compiler/nodes/graphbuilderconf/GraphBuilderConfiguration;
aload 0
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 end local 0 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 0: getstatic org.graalvm.compiler.phases.OptimisticOptimizations.NONE:Lorg/graalvm/compiler/phases/OptimisticOptimizations;
areturn
end local 0 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 start local 1 0: aload 0
aload 1
invokespecial org.graalvm.compiler.replacements.test.MethodSubstitutionTest.registerInvocationPlugins:(Lorg/graalvm/compiler/nodes/graphbuilderconf/InvocationPlugins;)V
1: new org.graalvm.compiler.replacements.jdk9.test.CheckIndexTest$1
dup
aload 0
invokespecial org.graalvm.compiler.replacements.jdk9.test.CheckIndexTest$1.<init>:(Lorg/graalvm/compiler/replacements/jdk9/test/CheckIndexTest;)V
astore 2
start local 2 2: new org.graalvm.compiler.nodes.graphbuilderconf.InvocationPlugins$Registration
dup
aload 1
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
start local 3 3: aload 3
ldc "requireNonNull"
ldc Ljava/lang/Object;
aload 2
invokevirtual org.graalvm.compiler.nodes.graphbuilderconf.InvocationPlugins$Registration.register1:(Ljava/lang/String;Ljava/lang/reflect/Type;Lorg/graalvm/compiler/nodes/graphbuilderconf/InvocationPlugin;)V
4: return
end local 3 end local 2 end local 1 end local 0 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 start local 1 start local 2 start local 3 0: aload 2
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: aload 2
invokestatic org.graalvm.compiler.nodes.graphbuilderconf.InlineInvokePlugin$InlineInfo.createStandardInlineInfo:(Ljdk/vm/ci/meta/ResolvedJavaMethod;)Lorg/graalvm/compiler/nodes/graphbuilderconf/InlineInvokePlugin$InlineInfo;
areturn
2: StackMap locals:
StackMap stack:
aload 0
aload 1
aload 2
aload 3
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 end local 2 end local 1 end local 0 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