public final class org.graalvm.compiler.hotspot.replacements.ClassGetHubNode extends org.graalvm.compiler.nodes.calc.FloatingNode implements org.graalvm.compiler.nodes.spi.Lowerable, org.graalvm.compiler.graph.spi.Canonicalizable, org.graalvm.compiler.nodes.calc.ConvertNode
  minor version: 0
  major version: 59
  flags: flags: (0x0031) ACC_PUBLIC, ACC_FINAL, ACC_SUPER
  this_class: org.graalvm.compiler.hotspot.replacements.ClassGetHubNode
  super_class: org.graalvm.compiler.nodes.calc.FloatingNode
{
  public static final org.graalvm.compiler.graph.NodeClass<org.graalvm.compiler.hotspot.replacements.ClassGetHubNode> TYPE;
    descriptor: Lorg/graalvm/compiler/graph/NodeClass;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    Signature: Lorg/graalvm/compiler/graph/NodeClass<Lorg/graalvm/compiler/hotspot/replacements/ClassGetHubNode;>;

  protected org.graalvm.compiler.nodes.ValueNode clazz;
    descriptor: Lorg/graalvm/compiler/nodes/ValueNode;
    flags: (0x0004) ACC_PROTECTED
    RuntimeVisibleAnnotations: 
      org.graalvm.compiler.graph.Node$Input()

  static final boolean $assertionsDisabled;
    descriptor: Z
    flags: (0x1018) ACC_STATIC, ACC_FINAL, ACC_SYNTHETIC

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=1, locals=0, args_size=0
         0: .line 69
            ldc Lorg/graalvm/compiler/hotspot/replacements/ClassGetHubNode;
            invokevirtual java.lang.Class.desiredAssertionStatus:()Z
            ifne 1
            iconst_1
            goto 2
      StackMap locals:
      StackMap stack:
         1: iconst_0
      StackMap locals:
      StackMap stack: int
         2: putstatic org.graalvm.compiler.hotspot.replacements.ClassGetHubNode.$assertionsDisabled:Z
         3: .line 70
            ldc Lorg/graalvm/compiler/hotspot/replacements/ClassGetHubNode;
            invokestatic org.graalvm.compiler.graph.NodeClass.create:(Ljava/lang/Class;)Lorg/graalvm/compiler/graph/NodeClass;
            putstatic org.graalvm.compiler.hotspot.replacements.ClassGetHubNode.TYPE:Lorg/graalvm/compiler/graph/NodeClass;
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public void <init>(org.graalvm.compiler.nodes.ValueNode);
    descriptor: (Lorg/graalvm/compiler/nodes/ValueNode;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // org.graalvm.compiler.hotspot.replacements.ClassGetHubNode this
        start local 1 // org.graalvm.compiler.nodes.ValueNode clazz
         0: .line 74
            aload 0 /* this */
            getstatic org.graalvm.compiler.hotspot.replacements.ClassGetHubNode.TYPE:Lorg/graalvm/compiler/graph/NodeClass;
            invokestatic org.graalvm.compiler.hotspot.nodes.type.KlassPointerStamp.klass:()Lorg/graalvm/compiler/hotspot/nodes/type/KlassPointerStamp;
            invokespecial org.graalvm.compiler.nodes.calc.FloatingNode.<init>:(Lorg/graalvm/compiler/graph/NodeClass;Lorg/graalvm/compiler/core/common/type/Stamp;)V
         1: .line 75
            aload 0 /* this */
            aload 1 /* clazz */
            putfield org.graalvm.compiler.hotspot.replacements.ClassGetHubNode.clazz:Lorg/graalvm/compiler/nodes/ValueNode;
         2: .line 76
            return
        end local 1 // org.graalvm.compiler.nodes.ValueNode clazz
        end local 0 // org.graalvm.compiler.hotspot.replacements.ClassGetHubNode this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    3     0   this  Lorg/graalvm/compiler/hotspot/replacements/ClassGetHubNode;
            0    3     1  clazz  Lorg/graalvm/compiler/nodes/ValueNode;
    MethodParameters:
       Name  Flags
      clazz  

  public static org.graalvm.compiler.nodes.ValueNode create(org.graalvm.compiler.nodes.ValueNode, jdk.vm.ci.meta.MetaAccessProvider, jdk.vm.ci.meta.ConstantReflectionProvider, boolean);
    descriptor: (Lorg/graalvm/compiler/nodes/ValueNode;Ljdk/vm/ci/meta/MetaAccessProvider;Ljdk/vm/ci/meta/ConstantReflectionProvider;Z)Lorg/graalvm/compiler/nodes/ValueNode;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=6, locals=4, args_size=4
        start local 0 // org.graalvm.compiler.nodes.ValueNode clazz
        start local 1 // jdk.vm.ci.meta.MetaAccessProvider metaAccess
        start local 2 // jdk.vm.ci.meta.ConstantReflectionProvider constantReflection
        start local 3 // boolean allUsagesAvailable
         0: .line 79
            aconst_null
            aload 1 /* metaAccess */
            aload 2 /* constantReflection */
            iload 3 /* allUsagesAvailable */
            invokestatic org.graalvm.compiler.hotspot.nodes.type.KlassPointerStamp.klass:()Lorg/graalvm/compiler/hotspot/nodes/type/KlassPointerStamp;
            aload 0 /* clazz */
            invokestatic org.graalvm.compiler.hotspot.replacements.ClassGetHubNode.canonical:(Lorg/graalvm/compiler/hotspot/replacements/ClassGetHubNode;Ljdk/vm/ci/meta/MetaAccessProvider;Ljdk/vm/ci/meta/ConstantReflectionProvider;ZLorg/graalvm/compiler/core/common/type/Stamp;Lorg/graalvm/compiler/nodes/ValueNode;)Lorg/graalvm/compiler/nodes/ValueNode;
            areturn
        end local 3 // boolean allUsagesAvailable
        end local 2 // jdk.vm.ci.meta.ConstantReflectionProvider constantReflection
        end local 1 // jdk.vm.ci.meta.MetaAccessProvider metaAccess
        end local 0 // org.graalvm.compiler.nodes.ValueNode clazz
      LocalVariableTable:
        Start  End  Slot                Name  Signature
            0    1     0               clazz  Lorg/graalvm/compiler/nodes/ValueNode;
            0    1     1          metaAccess  Ljdk/vm/ci/meta/MetaAccessProvider;
            0    1     2  constantReflection  Ljdk/vm/ci/meta/ConstantReflectionProvider;
            0    1     3  allUsagesAvailable  Z
    MethodParameters:
                    Name  Flags
      clazz               
      metaAccess          
      constantReflection  
      allUsagesAvailable  

  public static boolean intrinsify(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;)Z
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=4, args_size=3
        start local 0 // org.graalvm.compiler.nodes.graphbuilderconf.GraphBuilderContext b
        start local 1 // jdk.vm.ci.meta.ResolvedJavaMethod method
        start local 2 // org.graalvm.compiler.nodes.ValueNode clazz
         0: .line 84
            aload 2 /* clazz */
            aload 0 /* b */
            invokeinterface org.graalvm.compiler.nodes.graphbuilderconf.GraphBuilderContext.getMetaAccess:()Ljdk/vm/ci/meta/MetaAccessProvider;
            aload 0 /* b */
            invokeinterface org.graalvm.compiler.nodes.graphbuilderconf.GraphBuilderContext.getConstantReflection:()Ljdk/vm/ci/meta/ConstantReflectionProvider;
            iconst_0
            invokestatic org.graalvm.compiler.hotspot.replacements.ClassGetHubNode.create:(Lorg/graalvm/compiler/nodes/ValueNode;Ljdk/vm/ci/meta/MetaAccessProvider;Ljdk/vm/ci/meta/ConstantReflectionProvider;Z)Lorg/graalvm/compiler/nodes/ValueNode;
            astore 3 /* clazzValue */
        start local 3 // org.graalvm.compiler.nodes.ValueNode clazzValue
         1: .line 85
            aload 0 /* b */
            getstatic jdk.vm.ci.meta.JavaKind.Object:Ljdk/vm/ci/meta/JavaKind;
            aload 0 /* b */
            aload 3 /* clazzValue */
            invokeinterface org.graalvm.compiler.nodes.graphbuilderconf.GraphBuilderContext.append:(Lorg/graalvm/compiler/nodes/ValueNode;)Lorg/graalvm/compiler/nodes/ValueNode;
            invokeinterface org.graalvm.compiler.nodes.graphbuilderconf.GraphBuilderContext.push:(Ljdk/vm/ci/meta/JavaKind;Lorg/graalvm/compiler/nodes/ValueNode;)V
         2: .line 86
            iconst_1
            ireturn
        end local 3 // org.graalvm.compiler.nodes.ValueNode clazzValue
        end local 2 // org.graalvm.compiler.nodes.ValueNode clazz
        end local 1 // jdk.vm.ci.meta.ResolvedJavaMethod method
        end local 0 // org.graalvm.compiler.nodes.graphbuilderconf.GraphBuilderContext b
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    3     0           b  Lorg/graalvm/compiler/nodes/graphbuilderconf/GraphBuilderContext;
            0    3     1      method  Ljdk/vm/ci/meta/ResolvedJavaMethod;
            0    3     2       clazz  Lorg/graalvm/compiler/nodes/ValueNode;
            1    3     3  clazzValue  Lorg/graalvm/compiler/nodes/ValueNode;
    MethodParameters:
        Name  Flags
      b       
      method  
      clazz   

  public static org.graalvm.compiler.nodes.ValueNode canonical(org.graalvm.compiler.hotspot.replacements.ClassGetHubNode, jdk.vm.ci.meta.MetaAccessProvider, jdk.vm.ci.meta.ConstantReflectionProvider, boolean, org.graalvm.compiler.core.common.type.Stamp, org.graalvm.compiler.nodes.ValueNode);
    descriptor: (Lorg/graalvm/compiler/hotspot/replacements/ClassGetHubNode;Ljdk/vm/ci/meta/MetaAccessProvider;Ljdk/vm/ci/meta/ConstantReflectionProvider;ZLorg/graalvm/compiler/core/common/type/Stamp;Lorg/graalvm/compiler/nodes/ValueNode;)Lorg/graalvm/compiler/nodes/ValueNode;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=8, args_size=6
        start local 0 // org.graalvm.compiler.hotspot.replacements.ClassGetHubNode classGetHubNode
        start local 1 // jdk.vm.ci.meta.MetaAccessProvider metaAccess
        start local 2 // jdk.vm.ci.meta.ConstantReflectionProvider constantReflection
        start local 3 // boolean allUsagesAvailable
        start local 4 // org.graalvm.compiler.core.common.type.Stamp stamp
        start local 5 // org.graalvm.compiler.nodes.ValueNode clazz
         0: .line 91
            aload 0 /* classGetHubNode */
            astore 6 /* self */
        start local 6 // org.graalvm.compiler.hotspot.replacements.ClassGetHubNode self
         1: .line 92
            iload 3 /* allUsagesAvailable */
            ifeq 3
            aload 6 /* self */
            ifnull 3
            aload 6 /* self */
            invokevirtual org.graalvm.compiler.hotspot.replacements.ClassGetHubNode.hasNoUsages:()Z
            ifeq 3
         2: .line 93
            aconst_null
            areturn
         3: .line 95
      StackMap locals: org.graalvm.compiler.hotspot.replacements.ClassGetHubNode
      StackMap stack:
            aload 5 /* clazz */
            invokevirtual org.graalvm.compiler.nodes.ValueNode.isConstant:()Z
            ifeq 9
            aload 5 /* clazz */
            invokevirtual org.graalvm.compiler.nodes.ValueNode.isNullConstant:()Z
            ifne 9
         4: .line 96
            aload 1 /* metaAccess */
            ifnull 9
         5: .line 97
            aload 2 /* constantReflection */
            aload 5 /* clazz */
            invokevirtual org.graalvm.compiler.nodes.ValueNode.asJavaConstant:()Ljdk/vm/ci/meta/JavaConstant;
            invokeinterface jdk.vm.ci.meta.ConstantReflectionProvider.asJavaType:(Ljdk/vm/ci/meta/Constant;)Ljdk/vm/ci/meta/ResolvedJavaType;
            astore 7 /* exactType */
        start local 7 // jdk.vm.ci.meta.ResolvedJavaType exactType
         6: .line 98
            aload 7 /* exactType */
            invokeinterface jdk.vm.ci.meta.ResolvedJavaType.isPrimitive:()Z
            ifeq 8
         7: .line 99
            aload 4 /* stamp */
            getstatic jdk.vm.ci.meta.JavaConstant.NULL_POINTER:Ljdk/vm/ci/meta/JavaConstant;
            aload 1 /* metaAccess */
            invokestatic org.graalvm.compiler.nodes.ConstantNode.forConstant:(Lorg/graalvm/compiler/core/common/type/Stamp;Ljdk/vm/ci/meta/Constant;Ljdk/vm/ci/meta/MetaAccessProvider;)Lorg/graalvm/compiler/nodes/ConstantNode;
            areturn
         8: .line 101
      StackMap locals: jdk.vm.ci.meta.ResolvedJavaType
      StackMap stack:
            aload 4 /* stamp */
            aload 2 /* constantReflection */
            aload 7 /* exactType */
            invokeinterface jdk.vm.ci.meta.ConstantReflectionProvider.asObjectHub:(Ljdk/vm/ci/meta/ResolvedJavaType;)Ljdk/vm/ci/meta/Constant;
            aload 1 /* metaAccess */
            invokestatic org.graalvm.compiler.nodes.ConstantNode.forConstant:(Lorg/graalvm/compiler/core/common/type/Stamp;Ljdk/vm/ci/meta/Constant;Ljdk/vm/ci/meta/MetaAccessProvider;)Lorg/graalvm/compiler/nodes/ConstantNode;
            areturn
        end local 7 // jdk.vm.ci.meta.ResolvedJavaType exactType
         9: .line 105
      StackMap locals:
      StackMap stack:
            aload 5 /* clazz */
            instanceof org.graalvm.compiler.nodes.extended.GetClassNode
            ifeq 12
        10: .line 106
            aload 5 /* clazz */
            checkcast org.graalvm.compiler.nodes.extended.GetClassNode
            astore 7 /* getClass */
        start local 7 // org.graalvm.compiler.nodes.extended.GetClassNode getClass
        11: .line 107
            new org.graalvm.compiler.nodes.extended.LoadHubNode
            dup
            invokestatic org.graalvm.compiler.hotspot.nodes.type.KlassPointerStamp.klassNonNull:()Lorg/graalvm/compiler/hotspot/nodes/type/KlassPointerStamp;
            aload 7 /* getClass */
            invokevirtual org.graalvm.compiler.nodes.extended.GetClassNode.getObject:()Lorg/graalvm/compiler/nodes/ValueNode;
            invokespecial org.graalvm.compiler.nodes.extended.LoadHubNode.<init>:(Lorg/graalvm/compiler/core/common/type/Stamp;Lorg/graalvm/compiler/nodes/ValueNode;)V
            areturn
        end local 7 // org.graalvm.compiler.nodes.extended.GetClassNode getClass
        12: .line 109
      StackMap locals:
      StackMap stack:
            aload 5 /* clazz */
            instanceof org.graalvm.compiler.hotspot.replacements.HubGetClassNode
            ifeq 14
        13: .line 111
            aload 5 /* clazz */
            checkcast org.graalvm.compiler.hotspot.replacements.HubGetClassNode
            invokevirtual org.graalvm.compiler.hotspot.replacements.HubGetClassNode.getHub:()Lorg/graalvm/compiler/nodes/ValueNode;
            areturn
        14: .line 113
      StackMap locals:
      StackMap stack:
            aload 6 /* self */
            ifnonnull 16
        15: .line 114
            new org.graalvm.compiler.hotspot.replacements.ClassGetHubNode
            dup
            aload 5 /* clazz */
            invokespecial org.graalvm.compiler.hotspot.replacements.ClassGetHubNode.<init>:(Lorg/graalvm/compiler/nodes/ValueNode;)V
            astore 6 /* self */
        16: .line 116
      StackMap locals:
      StackMap stack:
            aload 6 /* self */
            areturn
        end local 6 // org.graalvm.compiler.hotspot.replacements.ClassGetHubNode self
        end local 5 // org.graalvm.compiler.nodes.ValueNode clazz
        end local 4 // org.graalvm.compiler.core.common.type.Stamp stamp
        end local 3 // boolean allUsagesAvailable
        end local 2 // jdk.vm.ci.meta.ConstantReflectionProvider constantReflection
        end local 1 // jdk.vm.ci.meta.MetaAccessProvider metaAccess
        end local 0 // org.graalvm.compiler.hotspot.replacements.ClassGetHubNode classGetHubNode
      LocalVariableTable:
        Start  End  Slot                Name  Signature
            0   17     0     classGetHubNode  Lorg/graalvm/compiler/hotspot/replacements/ClassGetHubNode;
            0   17     1          metaAccess  Ljdk/vm/ci/meta/MetaAccessProvider;
            0   17     2  constantReflection  Ljdk/vm/ci/meta/ConstantReflectionProvider;
            0   17     3  allUsagesAvailable  Z
            0   17     4               stamp  Lorg/graalvm/compiler/core/common/type/Stamp;
            0   17     5               clazz  Lorg/graalvm/compiler/nodes/ValueNode;
            1   17     6                self  Lorg/graalvm/compiler/hotspot/replacements/ClassGetHubNode;
            6    9     7           exactType  Ljdk/vm/ci/meta/ResolvedJavaType;
           11   12     7            getClass  Lorg/graalvm/compiler/nodes/extended/GetClassNode;
    MethodParameters:
                    Name  Flags
      classGetHubNode     
      metaAccess          
      constantReflection  
      allUsagesAvailable  
      stamp               
      clazz               

  public org.graalvm.compiler.graph.Node canonical(org.graalvm.compiler.graph.spi.CanonicalizerTool);
    descriptor: (Lorg/graalvm/compiler/graph/spi/CanonicalizerTool;)Lorg/graalvm/compiler/graph/Node;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=2, args_size=2
        start local 0 // org.graalvm.compiler.hotspot.replacements.ClassGetHubNode this
        start local 1 // org.graalvm.compiler.graph.spi.CanonicalizerTool tool
         0: .line 122
            aload 0 /* this */
            aload 1 /* tool */
            invokeinterface org.graalvm.compiler.graph.spi.CanonicalizerTool.getMetaAccess:()Ljdk/vm/ci/meta/MetaAccessProvider;
            aload 1 /* tool */
            invokeinterface org.graalvm.compiler.graph.spi.CanonicalizerTool.getConstantReflection:()Ljdk/vm/ci/meta/ConstantReflectionProvider;
            aload 1 /* tool */
            invokeinterface org.graalvm.compiler.graph.spi.CanonicalizerTool.allUsagesAvailable:()Z
            aload 0 /* this */
            getstatic org.graalvm.compiler.nodes.NodeView.DEFAULT:Lorg/graalvm/compiler/nodes/NodeView;
            invokevirtual org.graalvm.compiler.hotspot.replacements.ClassGetHubNode.stamp:(Lorg/graalvm/compiler/nodes/NodeView;)Lorg/graalvm/compiler/core/common/type/Stamp;
            aload 0 /* this */
            getfield org.graalvm.compiler.hotspot.replacements.ClassGetHubNode.clazz:Lorg/graalvm/compiler/nodes/ValueNode;
            invokestatic org.graalvm.compiler.hotspot.replacements.ClassGetHubNode.canonical:(Lorg/graalvm/compiler/hotspot/replacements/ClassGetHubNode;Ljdk/vm/ci/meta/MetaAccessProvider;Ljdk/vm/ci/meta/ConstantReflectionProvider;ZLorg/graalvm/compiler/core/common/type/Stamp;Lorg/graalvm/compiler/nodes/ValueNode;)Lorg/graalvm/compiler/nodes/ValueNode;
            areturn
        end local 1 // org.graalvm.compiler.graph.spi.CanonicalizerTool tool
        end local 0 // org.graalvm.compiler.hotspot.replacements.ClassGetHubNode this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/graalvm/compiler/hotspot/replacements/ClassGetHubNode;
            0    1     1  tool  Lorg/graalvm/compiler/graph/spi/CanonicalizerTool;
    MethodParameters:
      Name  Flags
      tool  

  public static native org.graalvm.compiler.hotspot.word.KlassPointer readClass(java.lang.Class<?>);
    descriptor: (Ljava/lang/Class;)Lorg/graalvm/compiler/hotspot/word/KlassPointer;
    flags: (0x0109) ACC_PUBLIC, ACC_STATIC, ACC_NATIVE
    Signature: (Ljava/lang/Class<*>;)Lorg/graalvm/compiler/hotspot/word/KlassPointer;
    RuntimeVisibleAnnotations: 
      org.graalvm.compiler.graph.Node$NodeIntrinsic()
    MethodParameters:
              Name  Flags
      clazzNonNull  

  public static native org.graalvm.compiler.hotspot.word.KlassPointer piCastNonNull(java.lang.Object, org.graalvm.compiler.nodes.extended.GuardingNode);
    descriptor: (Ljava/lang/Object;Lorg/graalvm/compiler/nodes/extended/GuardingNode;)Lorg/graalvm/compiler/hotspot/word/KlassPointer;
    flags: (0x0109) ACC_PUBLIC, ACC_STATIC, ACC_NATIVE
    RuntimeVisibleAnnotations: 
      org.graalvm.compiler.graph.Node$NodeIntrinsic(value = Lorg/graalvm/compiler/nodes/PiNode;)
    MethodParameters:
        Name  Flags
      object  
      anchor  

  public org.graalvm.compiler.nodes.ValueNode getValue();
    descriptor: ()Lorg/graalvm/compiler/nodes/ValueNode;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.graalvm.compiler.hotspot.replacements.ClassGetHubNode this
         0: .line 133
            aload 0 /* this */
            getfield org.graalvm.compiler.hotspot.replacements.ClassGetHubNode.clazz:Lorg/graalvm/compiler/nodes/ValueNode;
            areturn
        end local 0 // org.graalvm.compiler.hotspot.replacements.ClassGetHubNode this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/graalvm/compiler/hotspot/replacements/ClassGetHubNode;

  public jdk.vm.ci.meta.Constant convert(jdk.vm.ci.meta.Constant, jdk.vm.ci.meta.ConstantReflectionProvider);
    descriptor: (Ljdk/vm/ci/meta/Constant;Ljdk/vm/ci/meta/ConstantReflectionProvider;)Ljdk/vm/ci/meta/Constant;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=4, args_size=3
        start local 0 // org.graalvm.compiler.hotspot.replacements.ClassGetHubNode this
        start local 1 // jdk.vm.ci.meta.Constant c
        start local 2 // jdk.vm.ci.meta.ConstantReflectionProvider constantReflection
         0: .line 138
            aload 2 /* constantReflection */
            aload 1 /* c */
            invokeinterface jdk.vm.ci.meta.ConstantReflectionProvider.asJavaType:(Ljdk/vm/ci/meta/Constant;)Ljdk/vm/ci/meta/ResolvedJavaType;
            astore 3 /* exactType */
        start local 3 // jdk.vm.ci.meta.ResolvedJavaType exactType
         1: .line 139
            aload 3 /* exactType */
            invokeinterface jdk.vm.ci.meta.ResolvedJavaType.isPrimitive:()Z
            ifeq 3
         2: .line 140
            getstatic jdk.vm.ci.meta.JavaConstant.NULL_POINTER:Ljdk/vm/ci/meta/JavaConstant;
            areturn
         3: .line 142
      StackMap locals: jdk.vm.ci.meta.ResolvedJavaType
      StackMap stack:
            aload 2 /* constantReflection */
            aload 3 /* exactType */
            invokeinterface jdk.vm.ci.meta.ConstantReflectionProvider.asObjectHub:(Ljdk/vm/ci/meta/ResolvedJavaType;)Ljdk/vm/ci/meta/Constant;
            areturn
        end local 3 // jdk.vm.ci.meta.ResolvedJavaType exactType
        end local 2 // jdk.vm.ci.meta.ConstantReflectionProvider constantReflection
        end local 1 // jdk.vm.ci.meta.Constant c
        end local 0 // org.graalvm.compiler.hotspot.replacements.ClassGetHubNode this
      LocalVariableTable:
        Start  End  Slot                Name  Signature
            0    4     0                this  Lorg/graalvm/compiler/hotspot/replacements/ClassGetHubNode;
            0    4     1                   c  Ljdk/vm/ci/meta/Constant;
            0    4     2  constantReflection  Ljdk/vm/ci/meta/ConstantReflectionProvider;
            1    4     3           exactType  Ljdk/vm/ci/meta/ResolvedJavaType;
    MethodParameters:
                    Name  Flags
      c                   
      constantReflection  

  public jdk.vm.ci.meta.Constant reverse(jdk.vm.ci.meta.Constant, jdk.vm.ci.meta.ConstantReflectionProvider);
    descriptor: (Ljdk/vm/ci/meta/Constant;Ljdk/vm/ci/meta/ConstantReflectionProvider;)Ljdk/vm/ci/meta/Constant;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=4, args_size=3
        start local 0 // org.graalvm.compiler.hotspot.replacements.ClassGetHubNode this
        start local 1 // jdk.vm.ci.meta.Constant c
        start local 2 // jdk.vm.ci.meta.ConstantReflectionProvider constantReflection
         0: .line 148
            getstatic org.graalvm.compiler.hotspot.replacements.ClassGetHubNode.$assertionsDisabled:Z
            ifne 1
            aload 1 /* c */
            getstatic jdk.vm.ci.meta.JavaConstant.NULL_POINTER:Ljdk/vm/ci/meta/JavaConstant;
            invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
            ifeq 1
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         1: .line 149
      StackMap locals:
      StackMap stack:
            aload 2 /* constantReflection */
            aload 1 /* c */
            invokeinterface jdk.vm.ci.meta.ConstantReflectionProvider.asJavaType:(Ljdk/vm/ci/meta/Constant;)Ljdk/vm/ci/meta/ResolvedJavaType;
            astore 3 /* objectType */
        start local 3 // jdk.vm.ci.meta.ResolvedJavaType objectType
         2: .line 150
            aload 2 /* constantReflection */
            aload 3 /* objectType */
            invokeinterface jdk.vm.ci.meta.ConstantReflectionProvider.asJavaClass:(Ljdk/vm/ci/meta/ResolvedJavaType;)Ljdk/vm/ci/meta/JavaConstant;
            areturn
        end local 3 // jdk.vm.ci.meta.ResolvedJavaType objectType
        end local 2 // jdk.vm.ci.meta.ConstantReflectionProvider constantReflection
        end local 1 // jdk.vm.ci.meta.Constant c
        end local 0 // org.graalvm.compiler.hotspot.replacements.ClassGetHubNode this
      LocalVariableTable:
        Start  End  Slot                Name  Signature
            0    3     0                this  Lorg/graalvm/compiler/hotspot/replacements/ClassGetHubNode;
            0    3     1                   c  Ljdk/vm/ci/meta/Constant;
            0    3     2  constantReflection  Ljdk/vm/ci/meta/ConstantReflectionProvider;
            2    3     3          objectType  Ljdk/vm/ci/meta/ResolvedJavaType;
    MethodParameters:
                    Name  Flags
      c                   
      constantReflection  

  public boolean isLossless();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.graalvm.compiler.hotspot.replacements.ClassGetHubNode this
         0: .line 155
            iconst_0
            ireturn
        end local 0 // org.graalvm.compiler.hotspot.replacements.ClassGetHubNode this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/graalvm/compiler/hotspot/replacements/ClassGetHubNode;

  public boolean mayNullCheckSkipConversion();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.graalvm.compiler.hotspot.replacements.ClassGetHubNode this
         0: .line 163
            iconst_0
            ireturn
        end local 0 // org.graalvm.compiler.hotspot.replacements.ClassGetHubNode this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/graalvm/compiler/hotspot/replacements/ClassGetHubNode;

  public boolean preservesOrder(org.graalvm.compiler.core.common.calc.CanonicalCondition, jdk.vm.ci.meta.Constant, jdk.vm.ci.meta.ConstantReflectionProvider);
    descriptor: (Lorg/graalvm/compiler/core/common/calc/CanonicalCondition;Ljdk/vm/ci/meta/Constant;Ljdk/vm/ci/meta/ConstantReflectionProvider;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=5, args_size=4
        start local 0 // org.graalvm.compiler.hotspot.replacements.ClassGetHubNode this
        start local 1 // org.graalvm.compiler.core.common.calc.CanonicalCondition op
        start local 2 // jdk.vm.ci.meta.Constant value
        start local 3 // jdk.vm.ci.meta.ConstantReflectionProvider constantReflection
         0: .line 168
            getstatic org.graalvm.compiler.hotspot.replacements.ClassGetHubNode.$assertionsDisabled:Z
            ifne 1
            aload 1 /* op */
            getstatic org.graalvm.compiler.core.common.calc.CanonicalCondition.EQ:Lorg/graalvm/compiler/core/common/calc/CanonicalCondition;
            if_acmpeq 1
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         1: .line 169
      StackMap locals:
      StackMap stack:
            aload 3 /* constantReflection */
            aload 2 /* value */
            invokeinterface jdk.vm.ci.meta.ConstantReflectionProvider.asJavaType:(Ljdk/vm/ci/meta/Constant;)Ljdk/vm/ci/meta/ResolvedJavaType;
            astore 4 /* exactType */
        start local 4 // jdk.vm.ci.meta.ResolvedJavaType exactType
         2: .line 170
            aload 4 /* exactType */
            invokeinterface jdk.vm.ci.meta.ResolvedJavaType.isPrimitive:()Z
            ifeq 3
            iconst_0
            goto 4
      StackMap locals: jdk.vm.ci.meta.ResolvedJavaType
      StackMap stack:
         3: iconst_1
      StackMap locals:
      StackMap stack: int
         4: ireturn
        end local 4 // jdk.vm.ci.meta.ResolvedJavaType exactType
        end local 3 // jdk.vm.ci.meta.ConstantReflectionProvider constantReflection
        end local 2 // jdk.vm.ci.meta.Constant value
        end local 1 // org.graalvm.compiler.core.common.calc.CanonicalCondition op
        end local 0 // org.graalvm.compiler.hotspot.replacements.ClassGetHubNode this
      LocalVariableTable:
        Start  End  Slot                Name  Signature
            0    5     0                this  Lorg/graalvm/compiler/hotspot/replacements/ClassGetHubNode;
            0    5     1                  op  Lorg/graalvm/compiler/core/common/calc/CanonicalCondition;
            0    5     2               value  Ljdk/vm/ci/meta/Constant;
            0    5     3  constantReflection  Ljdk/vm/ci/meta/ConstantReflectionProvider;
            2    5     4           exactType  Ljdk/vm/ci/meta/ResolvedJavaType;
    MethodParameters:
                    Name  Flags
      op                  
      value               
      constantReflection  
}
SourceFile: "ClassGetHubNode.java"
InnerClasses:
  public abstract Input = org.graalvm.compiler.graph.Node$Input of org.graalvm.compiler.graph.Node
  public abstract NodeIntrinsic = org.graalvm.compiler.graph.Node$NodeIntrinsic of org.graalvm.compiler.graph.Node
    RuntimeVisibleAnnotations: 
      org.graalvm.compiler.nodeinfo.NodeInfo(cycles = org.graalvm.compiler.nodeinfo.NodeCycles.CYCLES_1:Lorg/graalvm/compiler/nodeinfo/NodeCycles;, size = org.graalvm.compiler.nodeinfo.NodeSize.SIZE_1:Lorg/graalvm/compiler/nodeinfo/NodeSize;)