public class org.graalvm.compiler.hotspot.test.ExplicitExceptionTest 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.ExplicitExceptionTest
super_class: org.graalvm.compiler.core.test.GraalCompilerTest
{
private int expectedForeignCallCount;
descriptor: I
flags: (0x0002) ACC_PRIVATE
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.core.test.GraalCompilerTest.<init>:()V
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/graalvm/compiler/hotspot/test/ExplicitExceptionTest;
private static boolean exceptionWasSeen(jdk.vm.ci.meta.ResolvedJavaMethod);
descriptor: (Ljdk/vm/ci/meta/ResolvedJavaMethod;)Z
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=2, locals=3, args_size=1
start local 0 0: aload 0
invokeinterface jdk.vm.ci.meta.ResolvedJavaMethod.getProfilingInfo:()Ljdk/vm/ci/meta/ProfilingInfo;
astore 1
start local 1 1: aload 1
ifnull 8
2: iconst_0
istore 2
start local 2 3: goto 7
4: StackMap locals: jdk.vm.ci.meta.ProfilingInfo int
StackMap stack:
aload 1
iload 2
invokeinterface jdk.vm.ci.meta.ProfilingInfo.getExceptionSeen:(I)Ljdk/vm/ci/meta/TriState;
getstatic jdk.vm.ci.meta.TriState.TRUE:Ljdk/vm/ci/meta/TriState;
if_acmpne 6
5: iconst_1
ireturn
6: StackMap locals:
StackMap stack:
iinc 2 1
StackMap locals:
StackMap stack:
7: iload 2
aload 1
invokeinterface jdk.vm.ci.meta.ProfilingInfo.getCodeSize:()I
if_icmplt 4
end local 2 8: StackMap locals:
StackMap stack:
iconst_0
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 method Ljdk/vm/ci/meta/ResolvedJavaMethod;
1 9 1 profilingInfo Ljdk/vm/ci/meta/ProfilingInfo;
3 8 2 i I
MethodParameters:
Name Flags
method
protected jdk.vm.ci.code.InstalledCode getCode(jdk.vm.ci.meta.ResolvedJavaMethod, org.graalvm.compiler.nodes.StructuredGraph, boolean, boolean, org.graalvm.compiler.options.OptionValues);
descriptor: (Ljdk/vm/ci/meta/ResolvedJavaMethod;Lorg/graalvm/compiler/nodes/StructuredGraph;ZZLorg/graalvm/compiler/options/OptionValues;)Ljdk/vm/ci/code/InstalledCode;
flags: (0x0004) ACC_PROTECTED
Code:
stack=6, locals=7, args_size=6
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 0: aload 0
aload 1
aload 2
iload 3
iload 4
aload 5
invokespecial org.graalvm.compiler.core.test.GraalCompilerTest.getCode:(Ljdk/vm/ci/meta/ResolvedJavaMethod;Lorg/graalvm/compiler/nodes/StructuredGraph;ZZLorg/graalvm/compiler/options/OptionValues;)Ljdk/vm/ci/code/InstalledCode;
astore 6
start local 6 1: aload 1
invokestatic org.graalvm.compiler.hotspot.test.ExplicitExceptionTest.exceptionWasSeen:(Ljdk/vm/ci/meta/ResolvedJavaMethod;)Z
invokestatic org.junit.Assume.assumeTrue:(Z)V
2: aload 0
aload 0
getfield org.graalvm.compiler.hotspot.test.ExplicitExceptionTest.expectedForeignCallCount:I
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
aload 0
getfield org.graalvm.compiler.hotspot.test.ExplicitExceptionTest.lastCompiledGraph:Lorg/graalvm/compiler/nodes/StructuredGraph;
invokevirtual org.graalvm.compiler.nodes.StructuredGraph.getNodes:()Lorg/graalvm/compiler/graph/iterators/NodeIterable;
ldc Lorg/graalvm/compiler/nodes/extended/ForeignCallNode;
invokeinterface org.graalvm.compiler.graph.iterators.NodeIterable.filter:(Ljava/lang/Class;)Lorg/graalvm/compiler/graph/iterators/NodeIterable;
invokeinterface org.graalvm.compiler.graph.iterators.NodeIterable.count:()I
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
invokevirtual org.graalvm.compiler.hotspot.test.ExplicitExceptionTest.assertDeepEquals:(Ljava/lang/Object;Ljava/lang/Object;)V
3: aload 6
areturn
end local 6 end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lorg/graalvm/compiler/hotspot/test/ExplicitExceptionTest;
0 4 1 method Ljdk/vm/ci/meta/ResolvedJavaMethod;
0 4 2 graph Lorg/graalvm/compiler/nodes/StructuredGraph;
0 4 3 forceCompile Z
0 4 4 installAsDefault Z
0 4 5 options Lorg/graalvm/compiler/options/OptionValues;
1 4 6 installedCode Ljdk/vm/ci/code/InstalledCode;
MethodParameters:
Name Flags
method
graph
forceCompile
installAsDefault
options
public static int testAIOOBESnippet(int[]);
descriptor: ([I)I
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
bipush 10
iaload
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 array [I
MethodParameters:
Name Flags
array
public void testAIOOBE();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=6, locals=3, args_size=1
start local 0 0: iconst_4
newarray 10
astore 1
start local 1 1: iconst_0
istore 2
start local 2 2: goto 7
3: StackMap locals: int[] int
StackMap stack:
aload 1
invokestatic org.graalvm.compiler.hotspot.test.ExplicitExceptionTest.testAIOOBESnippet:([I)I
pop
4: goto 6
StackMap locals:
StackMap stack: java.lang.ArrayIndexOutOfBoundsException
5: pop
6: StackMap locals:
StackMap stack:
iinc 2 1
StackMap locals:
StackMap stack:
7: iload 2
sipush 10000
if_icmplt 3
end local 2 8: aload 0
iconst_2
putfield org.graalvm.compiler.hotspot.test.ExplicitExceptionTest.expectedForeignCallCount:I
9: aload 0
ldc "testAIOOBESnippet"
iconst_1
anewarray java.lang.Object
dup
iconst_0
aload 1
aastore
invokevirtual org.graalvm.compiler.hotspot.test.ExplicitExceptionTest.test:(Ljava/lang/String;[Ljava/lang/Object;)Lorg/graalvm/compiler/core/test/GraalCompilerTest$Result;
pop
10: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 11 0 this Lorg/graalvm/compiler/hotspot/test/ExplicitExceptionTest;
1 11 1 array [I
2 8 2 i I
Exception table:
from to target type
3 4 5 Class java.lang.ArrayIndexOutOfBoundsException
RuntimeVisibleAnnotations:
org.junit.Test()
public static int testNPEArraySnippet(int[]);
descriptor: ([I)I
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
bipush 10
iaload
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 array [I
MethodParameters:
Name Flags
array
public void testNPEArray();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=6, locals=3, args_size=1
start local 0 0: aconst_null
astore 1
start local 1 1: iconst_0
istore 2
start local 2 2: goto 7
3: StackMap locals: int[] int
StackMap stack:
aload 1
invokestatic org.graalvm.compiler.hotspot.test.ExplicitExceptionTest.testNPEArraySnippet:([I)I
pop
4: goto 6
StackMap locals:
StackMap stack: java.lang.NullPointerException
5: pop
6: StackMap locals:
StackMap stack:
iinc 2 1
StackMap locals:
StackMap stack:
7: iload 2
sipush 10000
if_icmplt 3
end local 2 8: aload 0
iconst_2
putfield org.graalvm.compiler.hotspot.test.ExplicitExceptionTest.expectedForeignCallCount:I
9: aload 0
ldc "testNPEArraySnippet"
iconst_1
anewarray java.lang.Object
dup
iconst_0
aload 1
aastore
invokevirtual org.graalvm.compiler.hotspot.test.ExplicitExceptionTest.test:(Ljava/lang/String;[Ljava/lang/Object;)Lorg/graalvm/compiler/core/test/GraalCompilerTest$Result;
pop
10: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 11 0 this Lorg/graalvm/compiler/hotspot/test/ExplicitExceptionTest;
1 11 1 array [I
2 8 2 i I
Exception table:
from to target type
3 4 5 Class java.lang.NullPointerException
RuntimeVisibleAnnotations:
org.junit.Test()
public static int testNPESnippet(org.graalvm.compiler.hotspot.test.ExplicitExceptionTest$TestClass);
descriptor: (Lorg/graalvm/compiler/hotspot/test/ExplicitExceptionTest$TestClass;)I
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.graalvm.compiler.hotspot.test.ExplicitExceptionTest$TestClass.field:I
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 obj Lorg/graalvm/compiler/hotspot/test/ExplicitExceptionTest$TestClass;
MethodParameters:
Name Flags
obj
public void testNPE();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=6, locals=3, args_size=1
start local 0 0: new org.graalvm.compiler.hotspot.test.ExplicitExceptionTest$TestClass
invokespecial org.graalvm.compiler.hotspot.test.ExplicitExceptionTest$TestClass.<init>:()V
1: aconst_null
astore 1
start local 1 2: iconst_0
istore 2
start local 2 3: goto 8
4: StackMap locals: org.graalvm.compiler.hotspot.test.ExplicitExceptionTest$TestClass int
StackMap stack:
aload 1
invokestatic org.graalvm.compiler.hotspot.test.ExplicitExceptionTest.testNPESnippet:(Lorg/graalvm/compiler/hotspot/test/ExplicitExceptionTest$TestClass;)I
pop
5: goto 7
StackMap locals:
StackMap stack: java.lang.NullPointerException
6: pop
7: StackMap locals:
StackMap stack:
iinc 2 1
StackMap locals:
StackMap stack:
8: iload 2
sipush 10000
if_icmplt 4
end local 2 9: aload 0
iconst_1
putfield org.graalvm.compiler.hotspot.test.ExplicitExceptionTest.expectedForeignCallCount:I
10: aload 0
ldc "testNPESnippet"
iconst_1
anewarray java.lang.Object
dup
iconst_0
aload 1
aastore
invokevirtual org.graalvm.compiler.hotspot.test.ExplicitExceptionTest.test:(Ljava/lang/String;[Ljava/lang/Object;)Lorg/graalvm/compiler/core/test/GraalCompilerTest$Result;
pop
11: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 12 0 this Lorg/graalvm/compiler/hotspot/test/ExplicitExceptionTest;
2 12 1 obj Lorg/graalvm/compiler/hotspot/test/ExplicitExceptionTest$TestClass;
3 9 2 i I
Exception table:
from to target type
4 5 6 Class java.lang.NullPointerException
RuntimeVisibleAnnotations:
org.junit.Test()
}
SourceFile: "ExplicitExceptionTest.java"
NestMembers:
org.graalvm.compiler.hotspot.test.ExplicitExceptionTest$TestClass
InnerClasses:
public Result = org.graalvm.compiler.core.test.GraalCompilerTest$Result of org.graalvm.compiler.core.test.GraalCompilerTest
private TestClass = org.graalvm.compiler.hotspot.test.ExplicitExceptionTest$TestClass of org.graalvm.compiler.hotspot.test.ExplicitExceptionTest