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 footprint;
    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: .line 183
            new java.lang.Object
            dup
            invokespecial java.lang.Object.<init>:()V
            putstatic org.graalvm.compiler.replacements.test.DeoptimizeOnExceptionTest.m:Ljava/lang/Object;
         1: .line 184
            ldc 9223372036854775807
            putstatic org.graalvm.compiler.replacements.test.DeoptimizeOnExceptionTest.ct:J
         2: .line 194
            ldc "t/TestJSR"
            putstatic org.graalvm.compiler.replacements.test.DeoptimizeOnExceptionTest.name:Ljava/lang/String;
         3: .line 196
            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 // org.graalvm.compiler.replacements.test.DeoptimizeOnExceptionTest this
         0: .line 55
            aload 0 /* this */
            invokespecial org.graalvm.compiler.core.test.GraalCompilerTest.<init>:()V
         1: .line 56
            aload 0 /* this */
            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: .line 57
            return
        end local 0 // org.graalvm.compiler.replacements.test.DeoptimizeOnExceptionTest this
      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 // java.lang.String m1
        start local 1 // java.lang.String m2
        start local 2 // java.lang.String m3
        start local 3 // java.lang.String m4
        start local 4 // java.lang.String m5
         0: .line 60
            new java.lang.RuntimeException
            dup
            new java.lang.StringBuilder
            dup
            aload 0 /* m1 */
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 1 /* m2 */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 2 /* m3 */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 3 /* m4 */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 4 /* m5 */
            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 // java.lang.String m5
        end local 3 // java.lang.String m4
        end local 2 // java.lang.String m3
        end local 1 // java.lang.String m2
        end local 0 // java.lang.String m1
      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 // org.graalvm.compiler.replacements.test.DeoptimizeOnExceptionTest this
         0: .line 63
            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 // org.graalvm.compiler.replacements.test.DeoptimizeOnExceptionTest this
      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 // java.lang.String m1
        start local 1 // java.lang.String m2
        start local 2 // java.lang.String m3
        start local 3 // java.lang.String m4
        start local 4 // java.lang.String m5
         0: .line 70
            aload 0 /* m1 */
            ifnull 2
         1: .line 71
            aload 0 /* m1 */
            aload 1 /* m2 */
            aload 2 /* m3 */
            aload 3 /* m4 */
            aload 4 /* m5 */
            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: .line 73
      StackMap locals:
      StackMap stack:
            new java.lang.StringBuilder
            dup
            aload 0 /* m1 */
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 1 /* m2 */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 2 /* m3 */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 3 /* m4 */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 4 /* m5 */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            areturn
        end local 4 // java.lang.String m5
        end local 3 // java.lang.String m4
        end local 2 // java.lang.String m3
        end local 1 // java.lang.String m2
        end local 0 // java.lang.String m1
      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 // org.graalvm.compiler.replacements.test.DeoptimizeOnExceptionTest this
         0: .line 76
            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 // org.graalvm.compiler.replacements.test.DeoptimizeOnExceptionTest this
      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 // org.graalvm.compiler.replacements.test.DeoptimizeOnExceptionTest this
         0: .line 99
            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 // org.graalvm.compiler.replacements.test.DeoptimizeOnExceptionTest this
      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 // org.graalvm.compiler.replacements.test.DeoptimizeOnExceptionTest this
         0: .line 104
            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 // org.graalvm.compiler.replacements.test.DeoptimizeOnExceptionTest this
      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 // org.graalvm.compiler.replacements.test.DeoptimizeOnExceptionTest this
        start local 1 // org.graalvm.compiler.nodes.graphbuilderconf.GraphBuilderContext b
        start local 2 // jdk.vm.ci.meta.ResolvedJavaMethod method
        start local 3 // org.graalvm.compiler.nodes.ValueNode[] args
         0: .line 129
            aload 2 /* method */
            invokeinterface jdk.vm.ci.meta.ResolvedJavaMethod.getName:()Ljava/lang/String;
            ldc "throwException"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 4
         1: .line 130
            aload 1 /* b */
            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: .line 131
            getstatic org.graalvm.compiler.nodes.graphbuilderconf.InlineInvokePlugin$InlineInfo.DO_NOT_INLINE_WITH_EXCEPTION:Lorg/graalvm/compiler/nodes/graphbuilderconf/InlineInvokePlugin$InlineInfo;
            areturn
         3: .line 133
      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: .line 136
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* b */
            aload 2 /* method */
            aload 3 /* args */
            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 // org.graalvm.compiler.nodes.ValueNode[] args
        end local 2 // jdk.vm.ci.meta.ResolvedJavaMethod method
        end local 1 // org.graalvm.compiler.nodes.graphbuilderconf.GraphBuilderContext b
        end local 0 // org.graalvm.compiler.replacements.test.DeoptimizeOnExceptionTest this
      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: .line 140
            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 // boolean rethrowException
         0: .line 147
            iconst_1
            putstatic org.graalvm.compiler.replacements.test.DeoptimizeOnExceptionTest.footprint:I
         1: .line 148
            invokestatic org.graalvm.compiler.replacements.test.DeoptimizeOnExceptionTest.throwException:()V
         2: .line 149
            goto 7
      StackMap locals:
      StackMap stack: java.lang.Exception
         3: astore 1 /* e */
        start local 1 // java.lang.Exception e
         4: .line 150
            iconst_2
            putstatic org.graalvm.compiler.replacements.test.DeoptimizeOnExceptionTest.footprint:I
         5: .line 151
            iload 0 /* rethrowException */
            ifeq 7
         6: .line 152
            aload 1 /* e */
            athrow
        end local 1 // java.lang.Exception e
         7: .line 156
      StackMap locals:
      StackMap stack:
            invokestatic org.graalvm.compiler.api.directives.GraalDirectives.inCompiledCode:()Z
            ireturn
        end local 0 // boolean rethrowException
      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: .line 167
            new java.util.Random
            dup
            invokestatic java.lang.System.currentTimeMillis:()J
            invokespecial java.util.Random.<init>:(J)V
            astore 0 /* r */
        start local 0 // java.util.Random r
         1: .line 168
      StackMap locals: java.util.Random
      StackMap stack:
            aload 0 /* r */
            invokevirtual java.util.Random.nextFloat:()F
            ldc 0.03
            fcmpl
            ifgt 1
         2: .line 172
            return
        end local 0 // java.util.Random r
      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: .line 176
            new java.util.Random
            dup
            invokestatic java.lang.System.currentTimeMillis:()J
            invokespecial java.util.Random.<init>:(J)V
            astore 0 /* r */
        start local 0 // java.util.Random r
         1: .line 177
      StackMap locals: java.util.Random
      StackMap stack:
            aload 0 /* r */
            invokevirtual java.util.Random.nextDouble:()D
            ldc 0.05
            dcmpl
            ifgt 1
         2: .line 180
            return
        end local 0 // java.util.Random r
      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: .line 187
            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: .line 188
            getstatic org.graalvm.compiler.replacements.test.DeoptimizeOnExceptionTest.m:Ljava/lang/Object;
            areturn
         2: .line 190
      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: .line 201
            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