public class org.graalvm.compiler.replacements.test.DeoptimizeOnExceptionTest 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.DeoptimizeOnExceptionTest
super_class: org.graalvm.compiler.core.test.GraalCompilerTest
{
static int ;
descriptor: I
flags: (0x0008) ACC_STATIC
private static java.lang.Object m;
descriptor: Ljava/lang/Object;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
static long ct;
descriptor: J
flags: (0x0008) ACC_STATIC
private static java.lang.String name;
descriptor: Ljava/lang/String;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
private static final byte[] clazz;
descriptor: [B
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=2, locals=0, args_size=0
0: new java.lang.Object
dup
invokespecial java.lang.Object.<init>:()V
putstatic org.graalvm.compiler.replacements.test.DeoptimizeOnExceptionTest.m:Ljava/lang/Object;
1: ldc 9223372036854775807
putstatic org.graalvm.compiler.replacements.test.DeoptimizeOnExceptionTest.ct:J
2: ldc "t/TestJSR"
putstatic org.graalvm.compiler.replacements.test.DeoptimizeOnExceptionTest.name:Ljava/lang/String;
3: invokestatic org.graalvm.compiler.replacements.test.DeoptimizeOnExceptionTest.makeClazz:()[B
putstatic org.graalvm.compiler.replacements.test.DeoptimizeOnExceptionTest.clazz:[B
return
LocalVariableTable:
Start End Slot Name Signature
public void <init>();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
invokespecial org.graalvm.compiler.core.test.GraalCompilerTest.<init>:()V
1: aload 0
invokestatic org.graalvm.compiler.replacements.test.DeoptimizeOnExceptionTest.getInitialOptions:()Lorg/graalvm/compiler/options/OptionValues;
invokevirtual org.graalvm.compiler.replacements.test.DeoptimizeOnExceptionTest.createSuites:(Lorg/graalvm/compiler/options/OptionValues;)Lorg/graalvm/compiler/phases/tiers/Suites;
invokevirtual org.graalvm.compiler.phases.tiers.Suites.getHighTier:()Lorg/graalvm/compiler/phases/PhaseSuite;
ldc Lorg/graalvm/compiler/phases/common/AbstractInliningPhase;
invokevirtual org.graalvm.compiler.phases.PhaseSuite.findPhase:(Ljava/lang/Class;)Ljava/util/ListIterator;
invokeinterface java.util.ListIterator.remove:()V
2: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lorg/graalvm/compiler/replacements/test/DeoptimizeOnExceptionTest;
private static void raiseException(java.lang.String, java.lang.String, java.lang.String, java.lang.String, java.lang.String);
descriptor: (Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=5, locals=5, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: new java.lang.RuntimeException
dup
new java.lang.StringBuilder
dup
aload 0
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 1
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 2
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 3
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 4
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial java.lang.RuntimeException.<init>:(Ljava/lang/String;)V
athrow
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 m1 Ljava/lang/String;
0 1 1 m2 Ljava/lang/String;
0 1 2 m3 Ljava/lang/String;
0 1 3 m4 Ljava/lang/String;
0 1 4 m5 Ljava/lang/String;
MethodParameters:
Name Flags
m1
m2
m3
m4
m5
public void test1();
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/DeoptimizeOnExceptionTest;
RuntimeInvisibleAnnotations:
Test()
public static java.lang.String test1Snippet(java.lang.String, java.lang.String, java.lang.String, java.lang.String, java.lang.String);
descriptor: (Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=5, locals=5, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: aload 0
ifnull 2
1: aload 0
aload 1
aload 2
aload 3
aload 4
invokestatic org.graalvm.compiler.replacements.test.DeoptimizeOnExceptionTest.raiseException:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
2: StackMap locals:
StackMap stack:
new java.lang.StringBuilder
dup
aload 0
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 1
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 2
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 3
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 4
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
areturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 m1 Ljava/lang/String;
0 3 1 m2 Ljava/lang/String;
0 3 2 m3 Ljava/lang/String;
0 3 3 m4 Ljava/lang/String;
0 3 4 m5 Ljava/lang/String;
MethodParameters:
Name Flags
m1
m2
m3
m4
m5
public void test2();
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/DeoptimizeOnExceptionTest;
RuntimeInvisibleAnnotations:
Test()
public java.lang.String test2Snippet();
descriptor: ()Ljava/lang/String;
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\tAssert cannot be resolved\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/DeoptimizeOnExceptionTest;
Exceptions:
throws java.lang.Exception
public void test3();
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\tTest cannot be resolved to a type\n\tAssume cannot be resolved\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/DeoptimizeOnExceptionTest;
RuntimeInvisibleAnnotations:
Test()
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.getName:()Ljava/lang/String;
ldc "throwException"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 4
1: aload 1
invokeinterface org.graalvm.compiler.nodes.graphbuilderconf.GraphBuilderContext.getMethod:()Ljdk/vm/ci/meta/ResolvedJavaMethod;
invokeinterface jdk.vm.ci.meta.ResolvedJavaMethod.getProfilingInfo:()Ljdk/vm/ci/meta/ProfilingInfo;
getstatic jdk.vm.ci.meta.DeoptimizationReason.NotCompiledExceptionHandler:Ljdk/vm/ci/meta/DeoptimizationReason;
invokeinterface jdk.vm.ci.meta.ProfilingInfo.getDeoptimizationCount:(Ljdk/vm/ci/meta/DeoptimizationReason;)I
ifeq 3
2: getstatic org.graalvm.compiler.nodes.graphbuilderconf.InlineInvokePlugin$InlineInfo.DO_NOT_INLINE_WITH_EXCEPTION:Lorg/graalvm/compiler/nodes/graphbuilderconf/InlineInvokePlugin$InlineInfo;
areturn
3: StackMap locals:
StackMap stack:
getstatic org.graalvm.compiler.nodes.graphbuilderconf.InlineInvokePlugin$InlineInfo.DO_NOT_INLINE_NO_EXCEPTION:Lorg/graalvm/compiler/nodes/graphbuilderconf/InlineInvokePlugin$InlineInfo;
areturn
4: StackMap locals:
StackMap stack:
aload 0
aload 1
aload 2
aload 3
invokespecial org.graalvm.compiler.core.test.GraalCompilerTest.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 5 0 this Lorg/graalvm/compiler/replacements/test/DeoptimizeOnExceptionTest;
0 5 1 b Lorg/graalvm/compiler/nodes/graphbuilderconf/GraphBuilderContext;
0 5 2 method Ljdk/vm/ci/meta/ResolvedJavaMethod;
0 5 3 args [Lorg/graalvm/compiler/nodes/ValueNode;
MethodParameters:
Name Flags
b
method
args
private static void throwException();
descriptor: ()V
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=2, locals=0, args_size=0
0: new java.lang.Exception
dup
invokespecial java.lang.Exception.<init>:()V
athrow
LocalVariableTable:
Start End Slot Name Signature
Exceptions:
throws java.lang.Exception
public static boolean test3Snippet(boolean);
descriptor: (Z)Z
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=1, locals=2, args_size=1
start local 0 0: iconst_1
putstatic org.graalvm.compiler.replacements.test.DeoptimizeOnExceptionTest.footprint:I
1: invokestatic org.graalvm.compiler.replacements.test.DeoptimizeOnExceptionTest.throwException:()V
2: goto 7
StackMap locals:
StackMap stack: java.lang.Exception
3: astore 1
start local 1 4: iconst_2
putstatic org.graalvm.compiler.replacements.test.DeoptimizeOnExceptionTest.footprint:I
5: iload 0
ifeq 7
6: aload 1
athrow
end local 1 7: StackMap locals:
StackMap stack:
invokestatic org.graalvm.compiler.api.directives.GraalDirectives.inCompiledCode:()Z
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 rethrowException Z
4 7 1 e Ljava/lang/Exception;
Exception table:
from to target type
0 2 3 Class java.lang.Exception
Exceptions:
throws java.lang.Exception
MethodParameters:
Name Flags
rethrowException
public static void methodB();
descriptor: ()V
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=4, locals=1, args_size=0
0: new java.util.Random
dup
invokestatic java.lang.System.currentTimeMillis:()J
invokespecial java.util.Random.<init>:(J)V
astore 0
start local 0 1: StackMap locals: java.util.Random
StackMap stack:
aload 0
invokevirtual java.util.Random.nextFloat:()F
ldc 0.03
fcmpl
ifgt 1
2: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
1 3 0 r Ljava/util/Random;
public static void methodA();
descriptor: ()V
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=4, locals=1, args_size=0
0: new java.util.Random
dup
invokestatic java.lang.System.currentTimeMillis:()J
invokespecial java.util.Random.<init>:(J)V
astore 0
start local 0 1: StackMap locals: java.util.Random
StackMap stack:
aload 0
invokevirtual java.util.Random.nextDouble:()D
ldc 0.05
dcmpl
ifgt 1
2: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
1 3 0 r Ljava/util/Random;
public static java.lang.Object getM();
descriptor: ()Ljava/lang/Object;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=6, locals=0, args_size=0
0: getstatic org.graalvm.compiler.replacements.test.DeoptimizeOnExceptionTest.ct:J
dup2
lconst_1
lsub
putstatic org.graalvm.compiler.replacements.test.DeoptimizeOnExceptionTest.ct:J
lconst_0
lcmp
ifle 2
1: getstatic org.graalvm.compiler.replacements.test.DeoptimizeOnExceptionTest.m:Ljava/lang/Object;
areturn
2: StackMap locals:
StackMap stack:
aconst_null
areturn
LocalVariableTable:
Start End Slot Name Signature
private static byte[] makeClazz();
descriptor: ()[B
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=3, locals=0, args_size=0
0: new java.lang.Error
dup
ldc "Unresolved compilation problems: \n\tClassWriter cannot be resolved to a type\n\tClassWriter cannot be resolved to a type\n\tOpcodes cannot be resolved to a variable\n\tOpcodes cannot be resolved to a variable\n\tMethodVisitor cannot be resolved to a type\n\tOpcodes cannot be resolved to a variable\n\tOpcodes cannot be resolved to a variable\n\tOpcodes cannot be resolved to a variable\n\tOpcodes cannot be resolved to a variable\n\tOpcodes cannot be resolved to a variable\n\tOpcodes cannot be resolved to a variable\n\tLabel cannot be resolved to a type\n\tLabel cannot be resolved to a type\n\tOpcodes cannot be resolved to a variable\n\tOpcodes cannot be resolved to a variable\n\tOpcodes cannot be resolved to a variable\n\tLabel cannot be resolved to a type\n\tLabel cannot be resolved to a type\n\tLabel cannot be resolved to a type\n\tLabel cannot be resolved to a type\n\tOpcodes cannot be resolved to a variable\n\tOpcodes cannot be resolved to a variable\n\tOpcodes cannot be resolved to a variable\n\tOpcodes cannot be resolved to a variable\n\tOpcodes cannot be resolved to a variable\n\tOpcodes cannot be resolved to a variable\n\tOpcodes cannot be resolved to a variable\n\tOpcodes cannot be resolved to a variable\n\tOpcodes cannot be resolved to a variable\n"
invokespecial java.lang.Error.<init>:(Ljava/lang/String;)V
athrow
LocalVariableTable:
Start End Slot Name Signature
}
SourceFile: "DeoptimizeOnExceptionTest.java"
NestMembers:
org.graalvm.compiler.replacements.test.DeoptimizeOnExceptionTest$MyClassLoader
InnerClasses:
public final InlineInfo = org.graalvm.compiler.nodes.graphbuilderconf.InlineInvokePlugin$InlineInfo of org.graalvm.compiler.nodes.graphbuilderconf.InlineInvokePlugin
public MyClassLoader = org.graalvm.compiler.replacements.test.DeoptimizeOnExceptionTest$MyClassLoader of org.graalvm.compiler.replacements.test.DeoptimizeOnExceptionTest