public class org.graalvm.compiler.replacements.test.NestedExceptionHandlerTest 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.replacements.test.NestedExceptionHandlerTest
super_class: org.graalvm.compiler.core.test.GraalCompilerTest
{
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/replacements/test/NestedExceptionHandlerTest;
public static void foo();
descriptor: ()V
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=0, locals=0, args_size=0
0: return
LocalVariableTable:
Start End Slot Name Signature
RuntimeVisibleAnnotations:
org.graalvm.compiler.core.test.GraalCompilerTest$BytecodeParserNeverInline(invokeWithException = true)
public static void bar();
descriptor: ()V
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=2, locals=0, args_size=0
0: new java.lang.NegativeArraySizeException
dup
invokespecial java.lang.NegativeArraySizeException.<init>:()V
athrow
LocalVariableTable:
Start End Slot Name Signature
RuntimeVisibleAnnotations:
org.graalvm.compiler.core.test.GraalCompilerTest$BytecodeParserNeverInline(invokeWithException = true)
public static int nestedExceptionHandler();
descriptor: ()I
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=1, locals=1, args_size=0
0: iconst_0
istore 0
start local 0 1: invokestatic org.graalvm.compiler.replacements.test.NestedExceptionHandlerTest.foo:()V
2: goto 5
StackMap locals: int
StackMap stack: java.lang.NegativeArraySizeException
3: pop
4: iconst_m1
istore 0
5: StackMap locals:
StackMap stack:
invokestatic org.graalvm.compiler.replacements.test.NestedExceptionHandlerTest.bar:()V
6: goto 12
StackMap locals:
StackMap stack: java.lang.NullPointerException
7: pop
8: bipush -2
istore 0
9: goto 12
StackMap locals:
StackMap stack: java.lang.Throwable
10: pop
11: invokestatic org.graalvm.compiler.api.directives.GraalDirectives.deoptimize:()V
12: StackMap locals:
StackMap stack:
iload 0
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
1 13 0 flag I
Exception table:
from to target type
1 2 3 Class java.lang.NegativeArraySizeException
1 6 7 Class java.lang.NullPointerException
1 9 10 Class java.lang.Throwable
public void testNestedExceptionHandler();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=1, args_size=1
start local 0 0: new java.lang.Error
dup
ldc "Unresolved compilation problem: \n\tTest cannot be resolved to a type\n"
invokespecial java.lang.Error.<init>:(Ljava/lang/String;)V
athrow
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/graalvm/compiler/replacements/test/NestedExceptionHandlerTest;
RuntimeInvisibleAnnotations:
Test()
public static java.lang.String snippet1();
descriptor: ()Ljava/lang/String;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=2, locals=6, args_size=0
0: ldc Ljava/lang/String;
dup
astore 0
monitorenter
1: aconst_null
astore 1
aconst_null
astore 2
2: aconst_null
astore 3
start local 3 3: aload 3
ifnull 4
aload 3
invokeinterface java.lang.AutoCloseable.close:()V
StackMap locals: java.lang.Class java.lang.Throwable java.lang.Throwable java.lang.AutoCloseable
StackMap stack:
4: aload 0
monitorexit
5: invokestatic org.graalvm.compiler.replacements.test.NestedExceptionHandlerTest.raise:()V
6: ldc "RETURN"
areturn
StackMap locals:
StackMap stack: java.lang.Throwable
7: astore 1
8: aload 3
ifnull 9
aload 3
invokeinterface java.lang.AutoCloseable.close:()V
end local 3 StackMap locals:
StackMap stack:
9: aload 1
athrow
StackMap locals:
StackMap stack: java.lang.Throwable
10: astore 2
aload 1
ifnonnull 11
aload 2
astore 1
goto 12
StackMap locals:
StackMap stack:
11: aload 1
aload 2
if_acmpeq 12
aload 1
aload 2
invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
StackMap locals:
StackMap stack:
12: aload 1
athrow
StackMap locals: java.lang.Class
StackMap stack: java.lang.Throwable
13: astore 1
start local 1 14: aload 1
invokevirtual java.lang.Throwable.toString:()Ljava/lang/String;
astore 5
aload 0
monitorexit
15: invokestatic org.graalvm.compiler.replacements.test.NestedExceptionHandlerTest.raise:()V
16: aload 5
areturn
end local 1 17: StackMap locals:
StackMap stack: java.lang.Throwable
aload 0
monitorexit
18: athrow
19: StackMap locals:
StackMap stack: java.lang.Throwable
astore 4
20: invokestatic org.graalvm.compiler.replacements.test.NestedExceptionHandlerTest.raise:()V
21: aload 4
athrow
LocalVariableTable:
Start End Slot Name Signature
3 9 3 scope Ljava/lang/AutoCloseable;
14 17 1 t Ljava/lang/Throwable;
Exception table:
from to target type
2 4 10 any
7 10 10 any
1 4 13 Class java.lang.Throwable
7 13 13 Class java.lang.Throwable
1 5 17 any
7 15 17 any
17 18 17 any
0 5 19 any
7 15 19 any
17 19 19 any
public static void raise();
descriptor: ()V
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=2, locals=0, args_size=0
0: new java.lang.RuntimeException
dup
invokespecial java.lang.RuntimeException.<init>:()V
athrow
LocalVariableTable:
Start End Slot Name Signature
public static java.lang.String snippet2();
descriptor: ()Ljava/lang/String;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=2, locals=7, args_size=0
0: ldc Ljava/lang/String;
dup
astore 0
monitorenter
1: aconst_null
astore 1
aconst_null
astore 2
2: aconst_null
astore 3
start local 3 3: invokestatic org.graalvm.compiler.replacements.test.NestedExceptionHandlerTest.performCompilation:()Ljava/lang/String;
astore 5
4: aload 3
ifnull 5
aload 3
invokeinterface java.lang.AutoCloseable.close:()V
StackMap locals: java.lang.Class java.lang.Throwable java.lang.Throwable java.lang.AutoCloseable top java.lang.String
StackMap stack:
5: aload 0
monitorexit
6: ldc Ljava/lang/String;
dup
astore 6
monitorenter
7: ldc Ljava/lang/String;
invokevirtual java.lang.Class.toString:()Ljava/lang/String;
pop
8: aload 6
monitorexit
9: goto 12
StackMap locals: java.lang.Class java.lang.Throwable java.lang.Throwable java.lang.AutoCloseable top java.lang.String java.lang.Class
StackMap stack: java.lang.Throwable
10: aload 6
monitorexit
11: athrow
12: StackMap locals:
StackMap stack:
aload 5
areturn
StackMap locals: java.lang.Class java.lang.Throwable java.lang.Throwable java.lang.AutoCloseable
StackMap stack: java.lang.Throwable
13: astore 1
14: aload 3
ifnull 15
aload 3
invokeinterface java.lang.AutoCloseable.close:()V
end local 3 StackMap locals:
StackMap stack:
15: aload 1
athrow
StackMap locals:
StackMap stack: java.lang.Throwable
16: astore 2
aload 1
ifnonnull 17
aload 2
astore 1
goto 18
StackMap locals:
StackMap stack:
17: aload 1
aload 2
if_acmpeq 18
aload 1
aload 2
invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
StackMap locals:
StackMap stack:
18: aload 1
athrow
StackMap locals: java.lang.Class
StackMap stack: java.lang.Throwable
19: astore 1
start local 1 20: aload 1
invokevirtual java.lang.Throwable.toString:()Ljava/lang/String;
astore 5
aload 0
monitorexit
21: ldc Ljava/lang/String;
dup
astore 6
monitorenter
22: ldc Ljava/lang/String;
invokevirtual java.lang.Class.toString:()Ljava/lang/String;
pop
23: aload 6
monitorexit
24: goto 27
StackMap locals: java.lang.Class java.lang.Throwable top top top java.lang.String java.lang.Class
StackMap stack: java.lang.Throwable
25: aload 6
monitorexit
26: athrow
27: StackMap locals:
StackMap stack:
aload 5
areturn
end local 1 28: StackMap locals: java.lang.Class
StackMap stack: java.lang.Throwable
aload 0
monitorexit
29: athrow
30: StackMap locals:
StackMap stack: java.lang.Throwable
astore 4
31: ldc Ljava/lang/String;
dup
astore 6
monitorenter
32: ldc Ljava/lang/String;
invokevirtual java.lang.Class.toString:()Ljava/lang/String;
pop
33: aload 6
monitorexit
34: goto 37
StackMap locals: top top top top java.lang.Throwable top java.lang.Class
StackMap stack: java.lang.Throwable
35: aload 6
monitorexit
36: athrow
37: StackMap locals: top top top top java.lang.Throwable
StackMap stack:
aload 4
athrow
LocalVariableTable:
Start End Slot Name Signature
3 15 3 scope Ljava/lang/AutoCloseable;
20 28 1 t Ljava/lang/Throwable;
Exception table:
from to target type
7 9 10 any
10 11 10 any
3 4 13 any
2 5 16 any
13 16 16 any
1 5 19 Class java.lang.Throwable
13 19 19 Class java.lang.Throwable
22 24 25 any
25 26 25 any
1 6 28 any
13 21 28 any
28 29 28 any
0 6 30 any
13 21 30 any
28 30 30 any
32 34 35 any
35 36 35 any
private static java.lang.String performCompilation();
descriptor: ()Ljava/lang/String;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=1, locals=0, args_size=0
0: ldc "passed"
areturn
LocalVariableTable:
Start End Slot Name Signature
public void testSnippet1();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=1, args_size=1
start local 0 0: new java.lang.Error
dup
ldc "Unresolved compilation problems: \n\tIgnore cannot be resolved to a type\n\tTest cannot be resolved to a type\n"
invokespecial java.lang.Error.<init>:(Ljava/lang/String;)V
athrow
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/graalvm/compiler/replacements/test/NestedExceptionHandlerTest;
RuntimeInvisibleAnnotations:
Test()
public void testSnippet2();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=1, args_size=1
start local 0 0: new java.lang.Error
dup
ldc "Unresolved compilation problems: \n\tIgnore cannot be resolved to a type\n\tTest cannot be resolved to a type\n"
invokespecial java.lang.Error.<init>:(Ljava/lang/String;)V
athrow
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/graalvm/compiler/replacements/test/NestedExceptionHandlerTest;
RuntimeInvisibleAnnotations:
Test()
private static org.graalvm.compiler.options.OptionValues parseAllCodeWithoutInlining();
descriptor: ()Lorg/graalvm/compiler/options/OptionValues;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=9, locals=1, args_size=0
0: new org.graalvm.compiler.options.OptionValues
dup
invokestatic org.graalvm.compiler.replacements.test.NestedExceptionHandlerTest.getInitialOptions:()Lorg/graalvm/compiler/options/OptionValues;
1: getstatic org.graalvm.compiler.core.common.GraalOptions.UseTypeCheckHints:Lorg/graalvm/compiler/options/OptionKey;
iconst_0
invokestatic java.lang.Boolean.valueOf:(Z)Ljava/lang/Boolean;
iconst_4
anewarray java.lang.Object
dup
iconst_0
2: getstatic org.graalvm.compiler.core.common.GraalOptions.UseExceptionProbability:Lorg/graalvm/compiler/options/OptionKey;
aastore
dup
iconst_1
iconst_0
invokestatic java.lang.Boolean.valueOf:(Z)Ljava/lang/Boolean;
aastore
dup
iconst_2
3: getstatic org.graalvm.compiler.core.common.GraalOptions.RemoveNeverExecutedCode:Lorg/graalvm/compiler/options/OptionKey;
aastore
dup
iconst_3
iconst_0
invokestatic java.lang.Boolean.valueOf:(Z)Ljava/lang/Boolean;
4: aastore
invokespecial org.graalvm.compiler.options.OptionValues.<init>:(Lorg/graalvm/compiler/options/OptionValues;Lorg/graalvm/compiler/options/OptionKey;Ljava/lang/Object;[Ljava/lang/Object;)V
astore 0
start local 0 5: aload 0
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
5 6 0 options Lorg/graalvm/compiler/options/OptionValues;
}
SourceFile: "NestedExceptionHandlerTest.java"
InnerClasses:
public abstract BytecodeParserNeverInline = org.graalvm.compiler.core.test.GraalCompilerTest$BytecodeParserNeverInline of org.graalvm.compiler.core.test.GraalCompilerTest