public class org.graalvm.compiler.hotspot.test.HotSpotClassInitializationTest extends org.graalvm.compiler.hotspot.test.HotSpotGraalCompilerTest
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: org.graalvm.compiler.hotspot.test.HotSpotClassInitializationTest
  super_class: org.graalvm.compiler.hotspot.test.HotSpotGraalCompilerTest
{
  static org.graalvm.compiler.hotspot.test.HotSpotClassInitializationTest instance;
    descriptor: Lorg/graalvm/compiler/hotspot/test/HotSpotClassInitializationTest;
    flags: (0x0008) ACC_STATIC

  public void <init>();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.graalvm.compiler.hotspot.test.HotSpotClassInitializationTest this
         0: .line 46
            aload 0 /* this */
            invokespecial org.graalvm.compiler.hotspot.test.HotSpotGraalCompilerTest.<init>:()V
            return
        end local 0 // org.graalvm.compiler.hotspot.test.HotSpotClassInitializationTest this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/graalvm/compiler/hotspot/test/HotSpotClassInitializationTest;

  public void checkAssumptions();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // org.graalvm.compiler.hotspot.test.HotSpotClassInitializationTest this
         0: .line 108
            ldc "init_thread field must be visible"
            aload 0 /* this */
            invokevirtual org.graalvm.compiler.hotspot.test.HotSpotClassInitializationTest.runtime:()Lorg/graalvm/compiler/hotspot/HotSpotGraalRuntimeProvider;
            invokeinterface org.graalvm.compiler.hotspot.HotSpotGraalRuntimeProvider.getVMConfig:()Lorg/graalvm/compiler/hotspot/GraalHotSpotVMConfig;
            getfield org.graalvm.compiler.hotspot.GraalHotSpotVMConfig.instanceKlassInitThreadOffset:I
            iconst_m1
            if_icmpeq 1
            iconst_1
            goto 2
      StackMap locals:
      StackMap stack: java.lang.String
         1: iconst_0
      StackMap locals: org.graalvm.compiler.hotspot.test.HotSpotClassInitializationTest
      StackMap stack: java.lang.String int
         2: invokestatic org.junit.Assume.assumeTrue:(Ljava/lang/String;Z)V
         3: .line 109
            return
        end local 0 // org.graalvm.compiler.hotspot.test.HotSpotClassInitializationTest this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Lorg/graalvm/compiler/hotspot/test/HotSpotClassInitializationTest;
    RuntimeVisibleAnnotations: 
      org.junit.Before()

  final void test(java.lang.Class<?>, java.lang.String, java.lang.Class<? extends org.graalvm.compiler.graph.Node>[]);
    descriptor: (Ljava/lang/Class;Ljava/lang/String;[Ljava/lang/Class;)V
    flags: (0x0090) ACC_FINAL, ACC_VARARGS
    Code:
      stack=3, locals=10, args_size=4
        start local 0 // org.graalvm.compiler.hotspot.test.HotSpotClassInitializationTest this
        start local 1 // java.lang.Class testClass
        start local 2 // java.lang.String methodName
        start local 3 // java.lang.Class[] nodeTypes
         0: .line 113
            aload 0 /* this */
            aload 1 /* testClass */
            aload 2 /* methodName */
            invokevirtual org.graalvm.compiler.hotspot.test.HotSpotClassInitializationTest.getResolvedJavaMethod:(Ljava/lang/Class;Ljava/lang/String;)Ljdk/vm/ci/meta/ResolvedJavaMethod;
            astore 4 /* method */
        start local 4 // jdk.vm.ci.meta.ResolvedJavaMethod method
         1: .line 114
            aload 0 /* this */
            aload 4 /* method */
            getstatic org.graalvm.compiler.nodes.StructuredGraph$AllowAssumptions.NO:Lorg/graalvm/compiler/nodes/StructuredGraph$AllowAssumptions;
            invokevirtual org.graalvm.compiler.hotspot.test.HotSpotClassInitializationTest.parseProfiled:(Ljdk/vm/ci/meta/ResolvedJavaMethod;Lorg/graalvm/compiler/nodes/StructuredGraph$AllowAssumptions;)Lorg/graalvm/compiler/nodes/StructuredGraph;
            astore 5 /* graph */
        start local 5 // org.graalvm.compiler.nodes.StructuredGraph graph
         2: .line 115
            aload 5 /* graph */
            invokevirtual org.graalvm.compiler.nodes.StructuredGraph.getNodes:()Lorg/graalvm/compiler/graph/iterators/NodeIterable;
            ldc Lorg/graalvm/compiler/nodes/DeoptimizeNode;
            invokeinterface org.graalvm.compiler.graph.iterators.NodeIterable.filter:(Ljava/lang/Class;)Lorg/graalvm/compiler/graph/iterators/NodeIterable;
            invokeinterface org.graalvm.compiler.graph.iterators.NodeIterable.iterator:()Ljava/util/Iterator;
            astore 7
            goto 5
      StackMap locals: org.graalvm.compiler.hotspot.test.HotSpotClassInitializationTest java.lang.Class java.lang.String java.lang.Class[] jdk.vm.ci.meta.ResolvedJavaMethod org.graalvm.compiler.nodes.StructuredGraph top java.util.Iterator
      StackMap stack:
         3: aload 7
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.graalvm.compiler.nodes.DeoptimizeNode
            astore 6 /* d */
        start local 6 // org.graalvm.compiler.nodes.DeoptimizeNode d
         4: .line 116
            ldc "No unresolved deopts expected"
            aload 6 /* d */
            invokevirtual org.graalvm.compiler.nodes.DeoptimizeNode.getReason:()Ljdk/vm/ci/meta/DeoptimizationReason;
            getstatic jdk.vm.ci.meta.DeoptimizationReason.Unresolved:Ljdk/vm/ci/meta/DeoptimizationReason;
            invokestatic org.junit.Assert.assertNotEquals:(Ljava/lang/String;Ljava/lang/Object;Ljava/lang/Object;)V
        end local 6 // org.graalvm.compiler.nodes.DeoptimizeNode d
         5: .line 115
      StackMap locals:
      StackMap stack:
            aload 7
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 3
         6: .line 118
            ldc "A dynamic check should have been emitted"
            aload 5 /* graph */
            invokevirtual org.graalvm.compiler.nodes.StructuredGraph.getNodes:()Lorg/graalvm/compiler/graph/iterators/NodeIterable;
            ldc Lorg/graalvm/compiler/hotspot/nodes/KlassBeingInitializedCheckNode;
            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
            iconst_1
            if_icmpne 7
            iconst_1
            goto 8
      StackMap locals: org.graalvm.compiler.hotspot.test.HotSpotClassInitializationTest java.lang.Class java.lang.String java.lang.Class[] jdk.vm.ci.meta.ResolvedJavaMethod org.graalvm.compiler.nodes.StructuredGraph
      StackMap stack: java.lang.String
         7: iconst_0
      StackMap locals: org.graalvm.compiler.hotspot.test.HotSpotClassInitializationTest java.lang.Class java.lang.String java.lang.Class[] jdk.vm.ci.meta.ResolvedJavaMethod org.graalvm.compiler.nodes.StructuredGraph
      StackMap stack: java.lang.String int
         8: invokestatic org.graalvm.compiler.hotspot.test.HotSpotClassInitializationTest.assertTrue:(Ljava/lang/String;Z)V
         9: .line 121
            aload 3 /* nodeTypes */
            dup
            astore 9
            arraylength
            istore 8
            iconst_0
            istore 7
            goto 15
      StackMap locals: org.graalvm.compiler.hotspot.test.HotSpotClassInitializationTest java.lang.Class java.lang.String java.lang.Class[] jdk.vm.ci.meta.ResolvedJavaMethod org.graalvm.compiler.nodes.StructuredGraph top int int java.lang.Class[]
      StackMap stack:
        10: aload 9
            iload 7
            aaload
            astore 6 /* nodeType */
        start local 6 // java.lang.Class nodeType
        11: .line 122
            new java.lang.StringBuilder
            dup
            ldc "expected node of type "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 6 /* nodeType */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            aload 5 /* graph */
            invokevirtual org.graalvm.compiler.nodes.StructuredGraph.getNodes:()Lorg/graalvm/compiler/graph/iterators/NodeIterable;
            aload 6 /* nodeType */
            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
            iconst_1
            if_icmpne 12
            iconst_1
            goto 13
      StackMap locals: org.graalvm.compiler.hotspot.test.HotSpotClassInitializationTest java.lang.Class java.lang.String java.lang.Class[] jdk.vm.ci.meta.ResolvedJavaMethod org.graalvm.compiler.nodes.StructuredGraph java.lang.Class int int java.lang.Class[]
      StackMap stack: java.lang.String
        12: iconst_0
      StackMap locals: org.graalvm.compiler.hotspot.test.HotSpotClassInitializationTest java.lang.Class java.lang.String java.lang.Class[] jdk.vm.ci.meta.ResolvedJavaMethod org.graalvm.compiler.nodes.StructuredGraph java.lang.Class int int java.lang.Class[]
      StackMap stack: java.lang.String int
        13: invokestatic org.graalvm.compiler.hotspot.test.HotSpotClassInitializationTest.assertTrue:(Ljava/lang/String;Z)V
        end local 6 // java.lang.Class nodeType
        14: .line 121
            iinc 7 1
      StackMap locals: org.graalvm.compiler.hotspot.test.HotSpotClassInitializationTest java.lang.Class java.lang.String java.lang.Class[] jdk.vm.ci.meta.ResolvedJavaMethod org.graalvm.compiler.nodes.StructuredGraph top int int java.lang.Class[]
      StackMap stack:
        15: iload 7
            iload 8
            if_icmplt 10
        16: .line 126
            getstatic org.graalvm.compiler.hotspot.test.HotSpotClassInitializationTest.instance:Lorg/graalvm/compiler/hotspot/test/HotSpotClassInitializationTest;
            aload 4 /* method */
            aload 5 /* graph */
            invokevirtual org.graalvm.compiler.hotspot.test.HotSpotClassInitializationTest.getCode:(Ljdk/vm/ci/meta/ResolvedJavaMethod;Lorg/graalvm/compiler/nodes/StructuredGraph;)Ljdk/vm/ci/code/InstalledCode;
            astore 6 /* code */
        start local 6 // jdk.vm.ci.code.InstalledCode code
        17: .line 128
            aload 6 /* code */
            iconst_0
            anewarray java.lang.Object
            invokevirtual jdk.vm.ci.code.InstalledCode.executeVarargs:([Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.lang.Boolean
            invokevirtual java.lang.Boolean.booleanValue:()Z
            istore 7 /* result */
        start local 7 // boolean result
        18: .line 129
            ldc "should have completed in compiled code"
            iload 7 /* result */
            invokestatic java.lang.Boolean.valueOf:(Z)Ljava/lang/Boolean;
            iconst_1
            invokestatic java.lang.Boolean.valueOf:(Z)Ljava/lang/Boolean;
            invokestatic org.junit.Assert.assertEquals:(Ljava/lang/String;Ljava/lang/Object;Ljava/lang/Object;)V
        end local 7 // boolean result
        19: .line 130
            goto 22
      StackMap locals: org.graalvm.compiler.hotspot.test.HotSpotClassInitializationTest java.lang.Class java.lang.String java.lang.Class[] jdk.vm.ci.meta.ResolvedJavaMethod org.graalvm.compiler.nodes.StructuredGraph jdk.vm.ci.code.InstalledCode
      StackMap stack: jdk.vm.ci.code.InvalidInstalledCodeException
        20: astore 7 /* e */
        start local 7 // jdk.vm.ci.code.InvalidInstalledCodeException e
        21: .line 131
            aload 7 /* e */
            invokevirtual jdk.vm.ci.code.InvalidInstalledCodeException.printStackTrace:()V
        end local 7 // jdk.vm.ci.code.InvalidInstalledCodeException e
        22: .line 133
      StackMap locals:
      StackMap stack:
            return
        end local 6 // jdk.vm.ci.code.InstalledCode code
        end local 5 // org.graalvm.compiler.nodes.StructuredGraph graph
        end local 4 // jdk.vm.ci.meta.ResolvedJavaMethod method
        end local 3 // java.lang.Class[] nodeTypes
        end local 2 // java.lang.String methodName
        end local 1 // java.lang.Class testClass
        end local 0 // org.graalvm.compiler.hotspot.test.HotSpotClassInitializationTest this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   23     0        this  Lorg/graalvm/compiler/hotspot/test/HotSpotClassInitializationTest;
            0   23     1   testClass  Ljava/lang/Class<*>;
            0   23     2  methodName  Ljava/lang/String;
            0   23     3   nodeTypes  [Ljava/lang/Class;
            1   23     4      method  Ljdk/vm/ci/meta/ResolvedJavaMethod;
            2   23     5       graph  Lorg/graalvm/compiler/nodes/StructuredGraph;
            4    5     6           d  Lorg/graalvm/compiler/nodes/DeoptimizeNode;
           11   14     6    nodeType  Ljava/lang/Class<+Lorg/graalvm/compiler/graph/Node;>;
           17   23     6        code  Ljdk/vm/ci/code/InstalledCode;
           18   19     7      result  Z
           21   22     7           e  Ljdk/vm/ci/code/InvalidInstalledCodeException;
      Exception table:
        from    to  target  type
          17    19      20  Class jdk.vm.ci.code.InvalidInstalledCodeException
    Signature: (Ljava/lang/Class<*>;Ljava/lang/String;[Ljava/lang/Class<+Lorg/graalvm/compiler/graph/Node;>;)V
    RuntimeVisibleAnnotations: 
      java.lang.SafeVarargs()
    MethodParameters:
            Name  Flags
      testClass   
      methodName  
      nodeTypes   

  public void testInvokeStatic();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.graalvm.compiler.hotspot.test.HotSpotClassInitializationTest this
         0: .line 137
            invokestatic org.graalvm.compiler.api.directives.GraalDirectives.inCompiledCode:()Z
            pop
         1: .line 138
            aload 0 /* this */
            putstatic org.graalvm.compiler.hotspot.test.HotSpotClassInitializationTest.instance:Lorg/graalvm/compiler/hotspot/test/HotSpotClassInitializationTest;
         2: .line 139
            iconst_0
            putstatic org.graalvm.compiler.hotspot.test.HotSpotClassInitializationTest$InvokeStatic.field:I
         3: .line 140
            aconst_null
            putstatic org.graalvm.compiler.hotspot.test.HotSpotClassInitializationTest.instance:Lorg/graalvm/compiler/hotspot/test/HotSpotClassInitializationTest;
         4: .line 141
            return
        end local 0 // org.graalvm.compiler.hotspot.test.HotSpotClassInitializationTest this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     0  this  Lorg/graalvm/compiler/hotspot/test/HotSpotClassInitializationTest;
    RuntimeVisibleAnnotations: 
      org.junit.Test()

  public void testGetStatic();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.graalvm.compiler.hotspot.test.HotSpotClassInitializationTest this
         0: .line 145
            invokestatic org.graalvm.compiler.api.directives.GraalDirectives.inCompiledCode:()Z
            pop
         1: .line 146
            aload 0 /* this */
            putstatic org.graalvm.compiler.hotspot.test.HotSpotClassInitializationTest.instance:Lorg/graalvm/compiler/hotspot/test/HotSpotClassInitializationTest;
         2: .line 147
            dconst_0
            putstatic org.graalvm.compiler.hotspot.test.HotSpotClassInitializationTest$GetStatic.field:D
         3: .line 148
            aconst_null
            putstatic org.graalvm.compiler.hotspot.test.HotSpotClassInitializationTest.instance:Lorg/graalvm/compiler/hotspot/test/HotSpotClassInitializationTest;
         4: .line 149
            return
        end local 0 // org.graalvm.compiler.hotspot.test.HotSpotClassInitializationTest this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     0  this  Lorg/graalvm/compiler/hotspot/test/HotSpotClassInitializationTest;
    RuntimeVisibleAnnotations: 
      org.junit.Test()

  public void testNewInstance();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.graalvm.compiler.hotspot.test.HotSpotClassInitializationTest this
         0: .line 153
            invokestatic org.graalvm.compiler.api.directives.GraalDirectives.inCompiledCode:()Z
            pop
         1: .line 154
            aload 0 /* this */
            putstatic org.graalvm.compiler.hotspot.test.HotSpotClassInitializationTest.instance:Lorg/graalvm/compiler/hotspot/test/HotSpotClassInitializationTest;
         2: .line 155
            dconst_0
            putstatic org.graalvm.compiler.hotspot.test.HotSpotClassInitializationTest$NewInstance.field:D
         3: .line 156
            aconst_null
            putstatic org.graalvm.compiler.hotspot.test.HotSpotClassInitializationTest.instance:Lorg/graalvm/compiler/hotspot/test/HotSpotClassInitializationTest;
         4: .line 157
            return
        end local 0 // org.graalvm.compiler.hotspot.test.HotSpotClassInitializationTest this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     0  this  Lorg/graalvm/compiler/hotspot/test/HotSpotClassInitializationTest;
    RuntimeVisibleAnnotations: 
      org.junit.Test()
}
SourceFile: "HotSpotClassInitializationTest.java"
NestMembers:
  org.graalvm.compiler.hotspot.test.HotSpotClassInitializationTest$GetStatic  org.graalvm.compiler.hotspot.test.HotSpotClassInitializationTest$GetStatic$Inner  org.graalvm.compiler.hotspot.test.HotSpotClassInitializationTest$InvokeStatic  org.graalvm.compiler.hotspot.test.HotSpotClassInitializationTest$NewInstance
InnerClasses:
  GetStatic = org.graalvm.compiler.hotspot.test.HotSpotClassInitializationTest$GetStatic of org.graalvm.compiler.hotspot.test.HotSpotClassInitializationTest
  InvokeStatic = org.graalvm.compiler.hotspot.test.HotSpotClassInitializationTest$InvokeStatic of org.graalvm.compiler.hotspot.test.HotSpotClassInitializationTest
  NewInstance = org.graalvm.compiler.hotspot.test.HotSpotClassInitializationTest$NewInstance of org.graalvm.compiler.hotspot.test.HotSpotClassInitializationTest
  public final AllowAssumptions = org.graalvm.compiler.nodes.StructuredGraph$AllowAssumptions of org.graalvm.compiler.nodes.StructuredGraph