public class org.graalvm.compiler.hotspot.replacements.aot.ResolveConstantSnippets$Templates extends org.graalvm.compiler.replacements.SnippetTemplate$AbstractTemplates
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: org.graalvm.compiler.hotspot.replacements.aot.ResolveConstantSnippets$Templates
  super_class: org.graalvm.compiler.replacements.SnippetTemplate$AbstractTemplates
{
  private final org.graalvm.compiler.replacements.SnippetTemplate$SnippetInfo resolveObjectConstant;
    descriptor: Lorg/graalvm/compiler/replacements/SnippetTemplate$SnippetInfo;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final org.graalvm.compiler.replacements.SnippetTemplate$SnippetInfo resolveKlassConstant;
    descriptor: Lorg/graalvm/compiler/replacements/SnippetTemplate$SnippetInfo;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final org.graalvm.compiler.replacements.SnippetTemplate$SnippetInfo resolveMethodAndLoadCounters;
    descriptor: Lorg/graalvm/compiler/replacements/SnippetTemplate$SnippetInfo;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final org.graalvm.compiler.replacements.SnippetTemplate$SnippetInfo initializeKlass;
    descriptor: Lorg/graalvm/compiler/replacements/SnippetTemplate$SnippetInfo;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final org.graalvm.compiler.replacements.SnippetTemplate$SnippetInfo pureInitializeKlass;
    descriptor: Lorg/graalvm/compiler/replacements/SnippetTemplate$SnippetInfo;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  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 109
            ldc Lorg/graalvm/compiler/hotspot/replacements/aot/ResolveConstantSnippets;
            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.aot.ResolveConstantSnippets$Templates.$assertionsDisabled:Z
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public void <init>(org.graalvm.compiler.hotspot.meta.HotSpotProviders, jdk.vm.ci.code.TargetDescription);
    descriptor: (Lorg/graalvm/compiler/hotspot/meta/HotSpotProviders;Ljdk/vm/ci/code/TargetDescription;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=3, args_size=3
        start local 0 // org.graalvm.compiler.hotspot.replacements.aot.ResolveConstantSnippets$Templates this
        start local 1 // org.graalvm.compiler.hotspot.meta.HotSpotProviders providers
        start local 2 // jdk.vm.ci.code.TargetDescription target
         0: .line 117
            aload 0 /* this */
            aload 1 /* providers */
            aload 1 /* providers */
            invokevirtual org.graalvm.compiler.hotspot.meta.HotSpotProviders.getSnippetReflection:()Lorg/graalvm/compiler/api/replacements/SnippetReflectionProvider;
            aload 2 /* target */
            invokespecial org.graalvm.compiler.replacements.SnippetTemplate$AbstractTemplates.<init>:(Lorg/graalvm/compiler/phases/util/Providers;Lorg/graalvm/compiler/api/replacements/SnippetReflectionProvider;Ljdk/vm/ci/code/TargetDescription;)V
         1: .line 110
            aload 0 /* this */
            aload 0 /* this */
            ldc Lorg/graalvm/compiler/hotspot/replacements/aot/ResolveConstantSnippets;
            ldc "resolveObjectConstant"
            iconst_0
            anewarray org.graalvm.compiler.core.common.LocationIdentity
            invokevirtual org.graalvm.compiler.hotspot.replacements.aot.ResolveConstantSnippets$Templates.snippet:(Ljava/lang/Class;Ljava/lang/String;[Lorg/graalvm/compiler/core/common/LocationIdentity;)Lorg/graalvm/compiler/replacements/SnippetTemplate$SnippetInfo;
            putfield org.graalvm.compiler.hotspot.replacements.aot.ResolveConstantSnippets$Templates.resolveObjectConstant:Lorg/graalvm/compiler/replacements/SnippetTemplate$SnippetInfo;
         2: .line 111
            aload 0 /* this */
            aload 0 /* this */
            ldc Lorg/graalvm/compiler/hotspot/replacements/aot/ResolveConstantSnippets;
            ldc "resolveKlassConstant"
            iconst_0
            anewarray org.graalvm.compiler.core.common.LocationIdentity
            invokevirtual org.graalvm.compiler.hotspot.replacements.aot.ResolveConstantSnippets$Templates.snippet:(Ljava/lang/Class;Ljava/lang/String;[Lorg/graalvm/compiler/core/common/LocationIdentity;)Lorg/graalvm/compiler/replacements/SnippetTemplate$SnippetInfo;
            putfield org.graalvm.compiler.hotspot.replacements.aot.ResolveConstantSnippets$Templates.resolveKlassConstant:Lorg/graalvm/compiler/replacements/SnippetTemplate$SnippetInfo;
         3: .line 112
            aload 0 /* this */
            aload 0 /* this */
            ldc Lorg/graalvm/compiler/hotspot/replacements/aot/ResolveConstantSnippets;
            ldc "resolveMethodAndLoadCounters"
            iconst_0
            anewarray org.graalvm.compiler.core.common.LocationIdentity
            invokevirtual org.graalvm.compiler.hotspot.replacements.aot.ResolveConstantSnippets$Templates.snippet:(Ljava/lang/Class;Ljava/lang/String;[Lorg/graalvm/compiler/core/common/LocationIdentity;)Lorg/graalvm/compiler/replacements/SnippetTemplate$SnippetInfo;
            putfield org.graalvm.compiler.hotspot.replacements.aot.ResolveConstantSnippets$Templates.resolveMethodAndLoadCounters:Lorg/graalvm/compiler/replacements/SnippetTemplate$SnippetInfo;
         4: .line 113
            aload 0 /* this */
            aload 0 /* this */
            ldc Lorg/graalvm/compiler/hotspot/replacements/aot/ResolveConstantSnippets;
            ldc "initializeKlass"
            iconst_0
            anewarray org.graalvm.compiler.core.common.LocationIdentity
            invokevirtual org.graalvm.compiler.hotspot.replacements.aot.ResolveConstantSnippets$Templates.snippet:(Ljava/lang/Class;Ljava/lang/String;[Lorg/graalvm/compiler/core/common/LocationIdentity;)Lorg/graalvm/compiler/replacements/SnippetTemplate$SnippetInfo;
            putfield org.graalvm.compiler.hotspot.replacements.aot.ResolveConstantSnippets$Templates.initializeKlass:Lorg/graalvm/compiler/replacements/SnippetTemplate$SnippetInfo;
         5: .line 114
            aload 0 /* this */
            aload 0 /* this */
            ldc Lorg/graalvm/compiler/hotspot/replacements/aot/ResolveConstantSnippets;
            ldc "pureInitializeKlass"
            iconst_0
            anewarray org.graalvm.compiler.core.common.LocationIdentity
            invokevirtual org.graalvm.compiler.hotspot.replacements.aot.ResolveConstantSnippets$Templates.snippet:(Ljava/lang/Class;Ljava/lang/String;[Lorg/graalvm/compiler/core/common/LocationIdentity;)Lorg/graalvm/compiler/replacements/SnippetTemplate$SnippetInfo;
            putfield org.graalvm.compiler.hotspot.replacements.aot.ResolveConstantSnippets$Templates.pureInitializeKlass:Lorg/graalvm/compiler/replacements/SnippetTemplate$SnippetInfo;
         6: .line 118
            return
        end local 2 // jdk.vm.ci.code.TargetDescription target
        end local 1 // org.graalvm.compiler.hotspot.meta.HotSpotProviders providers
        end local 0 // org.graalvm.compiler.hotspot.replacements.aot.ResolveConstantSnippets$Templates this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    7     0       this  Lorg/graalvm/compiler/hotspot/replacements/aot/ResolveConstantSnippets$Templates;
            0    7     1  providers  Lorg/graalvm/compiler/hotspot/meta/HotSpotProviders;
            0    7     2     target  Ljdk/vm/ci/code/TargetDescription;
    MethodParameters:
           Name  Flags
      providers  
      target     

  public void lower(org.graalvm.compiler.hotspot.nodes.aot.ResolveConstantNode, org.graalvm.compiler.nodes.spi.LoweringTool);
    descriptor: (Lorg/graalvm/compiler/hotspot/nodes/aot/ResolveConstantNode;Lorg/graalvm/compiler/nodes/spi/LoweringTool;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=9, args_size=3
        start local 0 // org.graalvm.compiler.hotspot.replacements.aot.ResolveConstantSnippets$Templates this
        start local 1 // org.graalvm.compiler.hotspot.nodes.aot.ResolveConstantNode resolveConstantNode
        start local 2 // org.graalvm.compiler.nodes.spi.LoweringTool tool
         0: .line 121
            aload 1 /* resolveConstantNode */
            invokevirtual org.graalvm.compiler.hotspot.nodes.aot.ResolveConstantNode.graph:()Lorg/graalvm/compiler/nodes/StructuredGraph;
            astore 3 /* graph */
        start local 3 // org.graalvm.compiler.nodes.StructuredGraph graph
         1: .line 123
            aload 1 /* resolveConstantNode */
            invokevirtual org.graalvm.compiler.hotspot.nodes.aot.ResolveConstantNode.value:()Lorg/graalvm/compiler/nodes/ValueNode;
            astore 4 /* value */
        start local 4 // org.graalvm.compiler.nodes.ValueNode value
         2: .line 124
            getstatic org.graalvm.compiler.hotspot.replacements.aot.ResolveConstantSnippets$Templates.$assertionsDisabled:Z
            ifne 3
            aload 4 /* value */
            invokevirtual org.graalvm.compiler.nodes.ValueNode.isConstant:()Z
            ifne 3
            new java.lang.AssertionError
            dup
            new java.lang.StringBuilder
            dup
            ldc "Expected a constant: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 4 /* value */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
            athrow
         3: .line 125
      StackMap locals: org.graalvm.compiler.nodes.StructuredGraph org.graalvm.compiler.nodes.ValueNode
      StackMap stack:
            aload 4 /* value */
            invokevirtual org.graalvm.compiler.nodes.ValueNode.asConstant:()Ljdk/vm/ci/meta/Constant;
            astore 5 /* constant */
        start local 5 // jdk.vm.ci.meta.Constant constant
         4: .line 126
            aconst_null
            astore 6 /* snippet */
        start local 6 // org.graalvm.compiler.replacements.SnippetTemplate$SnippetInfo snippet
         5: .line 128
            aload 5 /* constant */
            instanceof jdk.vm.ci.hotspot.HotSpotMetaspaceConstant
            ifeq 14
         6: .line 129
            aload 5 /* constant */
            checkcast jdk.vm.ci.hotspot.HotSpotMetaspaceConstant
            astore 7 /* hotspotMetaspaceConstant */
        start local 7 // jdk.vm.ci.hotspot.HotSpotMetaspaceConstant hotspotMetaspaceConstant
         7: .line 130
            aload 7 /* hotspotMetaspaceConstant */
            invokeinterface jdk.vm.ci.hotspot.HotSpotMetaspaceConstant.asResolvedJavaType:()Ljdk/vm/ci/hotspot/HotSpotResolvedObjectType;
            ifnull 18
         8: .line 131
            aload 1 /* resolveConstantNode */
            invokevirtual org.graalvm.compiler.hotspot.nodes.aot.ResolveConstantNode.action:()Lorg/graalvm/compiler/hotspot/meta/HotSpotConstantLoadAction;
            getstatic org.graalvm.compiler.hotspot.meta.HotSpotConstantLoadAction.RESOLVE:Lorg/graalvm/compiler/hotspot/meta/HotSpotConstantLoadAction;
            if_acmpne 11
         9: .line 132
            aload 0 /* this */
            getfield org.graalvm.compiler.hotspot.replacements.aot.ResolveConstantSnippets$Templates.resolveKlassConstant:Lorg/graalvm/compiler/replacements/SnippetTemplate$SnippetInfo;
            astore 6 /* snippet */
        10: .line 133
            goto 18
        11: .line 134
      StackMap locals: jdk.vm.ci.meta.Constant org.graalvm.compiler.replacements.SnippetTemplate$SnippetInfo jdk.vm.ci.hotspot.HotSpotMetaspaceConstant
      StackMap stack:
            getstatic org.graalvm.compiler.hotspot.replacements.aot.ResolveConstantSnippets$Templates.$assertionsDisabled:Z
            ifne 12
            aload 1 /* resolveConstantNode */
            invokevirtual org.graalvm.compiler.hotspot.nodes.aot.ResolveConstantNode.action:()Lorg/graalvm/compiler/hotspot/meta/HotSpotConstantLoadAction;
            getstatic org.graalvm.compiler.hotspot.meta.HotSpotConstantLoadAction.INITIALIZE:Lorg/graalvm/compiler/hotspot/meta/HotSpotConstantLoadAction;
            if_acmpeq 12
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
        12: .line 135
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.graalvm.compiler.hotspot.replacements.aot.ResolveConstantSnippets$Templates.pureInitializeKlass:Lorg/graalvm/compiler/replacements/SnippetTemplate$SnippetInfo;
            astore 6 /* snippet */
        end local 7 // jdk.vm.ci.hotspot.HotSpotMetaspaceConstant hotspotMetaspaceConstant
        13: .line 138
            goto 18
      StackMap locals:
      StackMap stack:
        14: aload 5 /* constant */
            instanceof jdk.vm.ci.hotspot.HotSpotObjectConstant
            ifeq 18
        15: .line 139
            aload 0 /* this */
            getfield org.graalvm.compiler.hotspot.replacements.aot.ResolveConstantSnippets$Templates.resolveObjectConstant:Lorg/graalvm/compiler/replacements/SnippetTemplate$SnippetInfo;
            astore 6 /* snippet */
        16: .line 140
            aload 5 /* constant */
            checkcast jdk.vm.ci.hotspot.HotSpotObjectConstant
            astore 7 /* hotspotObjectConstant */
        start local 7 // jdk.vm.ci.hotspot.HotSpotObjectConstant hotspotObjectConstant
        17: .line 141
            getstatic org.graalvm.compiler.hotspot.replacements.aot.ResolveConstantSnippets$Templates.$assertionsDisabled:Z
            ifne 18
            aload 7 /* hotspotObjectConstant */
            invokeinterface jdk.vm.ci.hotspot.HotSpotObjectConstant.isInternedString:()Z
            ifne 18
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
        end local 7 // jdk.vm.ci.hotspot.HotSpotObjectConstant hotspotObjectConstant
        18: .line 143
      StackMap locals:
      StackMap stack:
            aload 6 /* snippet */
            ifnonnull 20
        19: .line 144
            new org.graalvm.compiler.debug.GraalError
            dup
            new java.lang.StringBuilder
            dup
            ldc "Unsupported constant type: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 5 /* constant */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial org.graalvm.compiler.debug.GraalError.<init>:(Ljava/lang/String;)V
            athrow
        20: .line 147
      StackMap locals:
      StackMap stack:
            new org.graalvm.compiler.replacements.SnippetTemplate$Arguments
            dup
            aload 6 /* snippet */
            aload 3 /* graph */
            invokevirtual org.graalvm.compiler.nodes.StructuredGraph.getGuardsStage:()Lorg/graalvm/compiler/nodes/StructuredGraph$GuardsStage;
            aload 2 /* tool */
            invokeinterface org.graalvm.compiler.nodes.spi.LoweringTool.getLoweringStage:()Lorg/graalvm/compiler/nodes/spi/LoweringTool$LoweringStage;
            invokespecial org.graalvm.compiler.replacements.SnippetTemplate$Arguments.<init>:(Lorg/graalvm/compiler/replacements/SnippetTemplate$SnippetInfo;Lorg/graalvm/compiler/nodes/StructuredGraph$GuardsStage;Lorg/graalvm/compiler/nodes/spi/LoweringTool$LoweringStage;)V
            astore 7 /* args */
        start local 7 // org.graalvm.compiler.replacements.SnippetTemplate$Arguments args
        21: .line 148
            aload 7 /* args */
            ldc "constant"
            aload 4 /* value */
            invokevirtual org.graalvm.compiler.replacements.SnippetTemplate$Arguments.add:(Ljava/lang/String;Ljava/lang/Object;)Lorg/graalvm/compiler/replacements/SnippetTemplate$Arguments;
            pop
        22: .line 150
            aload 0 /* this */
            aload 7 /* args */
            invokevirtual org.graalvm.compiler.hotspot.replacements.aot.ResolveConstantSnippets$Templates.template:(Lorg/graalvm/compiler/replacements/SnippetTemplate$Arguments;)Lorg/graalvm/compiler/replacements/SnippetTemplate;
            astore 8 /* template */
        start local 8 // org.graalvm.compiler.replacements.SnippetTemplate template
        23: .line 151
            aload 8 /* template */
            aload 0 /* this */
            getfield org.graalvm.compiler.hotspot.replacements.aot.ResolveConstantSnippets$Templates.providers:Lorg/graalvm/compiler/phases/util/Providers;
            invokevirtual org.graalvm.compiler.phases.util.Providers.getMetaAccess:()Ljdk/vm/ci/meta/MetaAccessProvider;
            aload 1 /* resolveConstantNode */
            getstatic org.graalvm.compiler.replacements.SnippetTemplate.DEFAULT_REPLACER:Lorg/graalvm/compiler/replacements/SnippetTemplate$UsageReplacer;
            aload 2 /* tool */
            aload 7 /* args */
            invokevirtual org.graalvm.compiler.replacements.SnippetTemplate.instantiate:(Ljdk/vm/ci/meta/MetaAccessProvider;Lorg/graalvm/compiler/nodes/calc/FloatingNode;Lorg/graalvm/compiler/replacements/SnippetTemplate$UsageReplacer;Lorg/graalvm/compiler/nodes/spi/LoweringTool;Lorg/graalvm/compiler/replacements/SnippetTemplate$Arguments;)V
        24: .line 153
            getstatic org.graalvm.compiler.hotspot.replacements.aot.ResolveConstantSnippets$Templates.$assertionsDisabled:Z
            ifne 25
            aload 1 /* resolveConstantNode */
            invokevirtual org.graalvm.compiler.hotspot.nodes.aot.ResolveConstantNode.hasNoUsages:()Z
            ifne 25
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
        25: .line 154
      StackMap locals: org.graalvm.compiler.replacements.SnippetTemplate$Arguments org.graalvm.compiler.replacements.SnippetTemplate
      StackMap stack:
            aload 1 /* resolveConstantNode */
            invokevirtual org.graalvm.compiler.hotspot.nodes.aot.ResolveConstantNode.isDeleted:()Z
            ifne 27
        26: .line 155
            aload 1 /* resolveConstantNode */
            invokestatic org.graalvm.compiler.nodes.util.GraphUtil.killWithUnusedFloatingInputs:(Lorg/graalvm/compiler/graph/Node;)V
        27: .line 157
      StackMap locals:
      StackMap stack:
            return
        end local 8 // org.graalvm.compiler.replacements.SnippetTemplate template
        end local 7 // org.graalvm.compiler.replacements.SnippetTemplate$Arguments args
        end local 6 // org.graalvm.compiler.replacements.SnippetTemplate$SnippetInfo snippet
        end local 5 // jdk.vm.ci.meta.Constant constant
        end local 4 // org.graalvm.compiler.nodes.ValueNode value
        end local 3 // org.graalvm.compiler.nodes.StructuredGraph graph
        end local 2 // org.graalvm.compiler.nodes.spi.LoweringTool tool
        end local 1 // org.graalvm.compiler.hotspot.nodes.aot.ResolveConstantNode resolveConstantNode
        end local 0 // org.graalvm.compiler.hotspot.replacements.aot.ResolveConstantSnippets$Templates this
      LocalVariableTable:
        Start  End  Slot                      Name  Signature
            0   28     0                      this  Lorg/graalvm/compiler/hotspot/replacements/aot/ResolveConstantSnippets$Templates;
            0   28     1       resolveConstantNode  Lorg/graalvm/compiler/hotspot/nodes/aot/ResolveConstantNode;
            0   28     2                      tool  Lorg/graalvm/compiler/nodes/spi/LoweringTool;
            1   28     3                     graph  Lorg/graalvm/compiler/nodes/StructuredGraph;
            2   28     4                     value  Lorg/graalvm/compiler/nodes/ValueNode;
            4   28     5                  constant  Ljdk/vm/ci/meta/Constant;
            5   28     6                   snippet  Lorg/graalvm/compiler/replacements/SnippetTemplate$SnippetInfo;
            7   13     7  hotspotMetaspaceConstant  Ljdk/vm/ci/hotspot/HotSpotMetaspaceConstant;
           17   18     7     hotspotObjectConstant  Ljdk/vm/ci/hotspot/HotSpotObjectConstant;
           21   28     7                      args  Lorg/graalvm/compiler/replacements/SnippetTemplate$Arguments;
           23   28     8                  template  Lorg/graalvm/compiler/replacements/SnippetTemplate;
    MethodParameters:
                     Name  Flags
      resolveConstantNode  
      tool                 

  public void lower(org.graalvm.compiler.hotspot.nodes.aot.InitializeKlassNode, org.graalvm.compiler.nodes.spi.LoweringTool);
    descriptor: (Lorg/graalvm/compiler/hotspot/nodes/aot/InitializeKlassNode;Lorg/graalvm/compiler/nodes/spi/LoweringTool;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=8, args_size=3
        start local 0 // org.graalvm.compiler.hotspot.replacements.aot.ResolveConstantSnippets$Templates this
        start local 1 // org.graalvm.compiler.hotspot.nodes.aot.InitializeKlassNode initializeKlassNode
        start local 2 // org.graalvm.compiler.nodes.spi.LoweringTool tool
         0: .line 160
            aload 1 /* initializeKlassNode */
            invokevirtual org.graalvm.compiler.hotspot.nodes.aot.InitializeKlassNode.graph:()Lorg/graalvm/compiler/nodes/StructuredGraph;
            astore 3 /* graph */
        start local 3 // org.graalvm.compiler.nodes.StructuredGraph graph
         1: .line 162
            aload 1 /* initializeKlassNode */
            invokevirtual org.graalvm.compiler.hotspot.nodes.aot.InitializeKlassNode.value:()Lorg/graalvm/compiler/nodes/ValueNode;
            astore 4 /* value */
        start local 4 // org.graalvm.compiler.nodes.ValueNode value
         2: .line 163
            getstatic org.graalvm.compiler.hotspot.replacements.aot.ResolveConstantSnippets$Templates.$assertionsDisabled:Z
            ifne 3
            aload 4 /* value */
            invokevirtual org.graalvm.compiler.nodes.ValueNode.isConstant:()Z
            ifne 3
            new java.lang.AssertionError
            dup
            new java.lang.StringBuilder
            dup
            ldc "Expected a constant: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 4 /* value */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
            athrow
         3: .line 164
      StackMap locals: org.graalvm.compiler.nodes.StructuredGraph org.graalvm.compiler.nodes.ValueNode
      StackMap stack:
            aload 4 /* value */
            invokevirtual org.graalvm.compiler.nodes.ValueNode.asConstant:()Ljdk/vm/ci/meta/Constant;
            astore 5 /* constant */
        start local 5 // jdk.vm.ci.meta.Constant constant
         4: .line 166
            aload 5 /* constant */
            instanceof jdk.vm.ci.hotspot.HotSpotMetaspaceConstant
            ifeq 13
         5: .line 167
            new org.graalvm.compiler.replacements.SnippetTemplate$Arguments
            dup
            aload 0 /* this */
            getfield org.graalvm.compiler.hotspot.replacements.aot.ResolveConstantSnippets$Templates.initializeKlass:Lorg/graalvm/compiler/replacements/SnippetTemplate$SnippetInfo;
            aload 3 /* graph */
            invokevirtual org.graalvm.compiler.nodes.StructuredGraph.getGuardsStage:()Lorg/graalvm/compiler/nodes/StructuredGraph$GuardsStage;
            aload 2 /* tool */
            invokeinterface org.graalvm.compiler.nodes.spi.LoweringTool.getLoweringStage:()Lorg/graalvm/compiler/nodes/spi/LoweringTool$LoweringStage;
            invokespecial org.graalvm.compiler.replacements.SnippetTemplate$Arguments.<init>:(Lorg/graalvm/compiler/replacements/SnippetTemplate$SnippetInfo;Lorg/graalvm/compiler/nodes/StructuredGraph$GuardsStage;Lorg/graalvm/compiler/nodes/spi/LoweringTool$LoweringStage;)V
            astore 6 /* args */
        start local 6 // org.graalvm.compiler.replacements.SnippetTemplate$Arguments args
         6: .line 168
            aload 6 /* args */
            ldc "constant"
            aload 4 /* value */
            invokevirtual org.graalvm.compiler.replacements.SnippetTemplate$Arguments.add:(Ljava/lang/String;Ljava/lang/Object;)Lorg/graalvm/compiler/replacements/SnippetTemplate$Arguments;
            pop
         7: .line 170
            aload 0 /* this */
            aload 6 /* args */
            invokevirtual org.graalvm.compiler.hotspot.replacements.aot.ResolveConstantSnippets$Templates.template:(Lorg/graalvm/compiler/replacements/SnippetTemplate$Arguments;)Lorg/graalvm/compiler/replacements/SnippetTemplate;
            astore 7 /* template */
        start local 7 // org.graalvm.compiler.replacements.SnippetTemplate template
         8: .line 171
            aload 7 /* template */
            aload 0 /* this */
            getfield org.graalvm.compiler.hotspot.replacements.aot.ResolveConstantSnippets$Templates.providers:Lorg/graalvm/compiler/phases/util/Providers;
            invokevirtual org.graalvm.compiler.phases.util.Providers.getMetaAccess:()Ljdk/vm/ci/meta/MetaAccessProvider;
            aload 1 /* initializeKlassNode */
            getstatic org.graalvm.compiler.replacements.SnippetTemplate.DEFAULT_REPLACER:Lorg/graalvm/compiler/replacements/SnippetTemplate$UsageReplacer;
            aload 6 /* args */
            invokevirtual org.graalvm.compiler.replacements.SnippetTemplate.instantiate:(Ljdk/vm/ci/meta/MetaAccessProvider;Lorg/graalvm/compiler/nodes/FixedNode;Lorg/graalvm/compiler/replacements/SnippetTemplate$UsageReplacer;Lorg/graalvm/compiler/replacements/SnippetTemplate$Arguments;)Ljava/util/Map;
            pop
         9: .line 172
            getstatic org.graalvm.compiler.hotspot.replacements.aot.ResolveConstantSnippets$Templates.$assertionsDisabled:Z
            ifne 10
            aload 1 /* initializeKlassNode */
            invokevirtual org.graalvm.compiler.hotspot.nodes.aot.InitializeKlassNode.hasNoUsages:()Z
            ifne 10
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
        10: .line 173
      StackMap locals: jdk.vm.ci.meta.Constant org.graalvm.compiler.replacements.SnippetTemplate$Arguments org.graalvm.compiler.replacements.SnippetTemplate
      StackMap stack:
            aload 1 /* initializeKlassNode */
            invokevirtual org.graalvm.compiler.hotspot.nodes.aot.InitializeKlassNode.isDeleted:()Z
            ifne 14
        11: .line 174
            aload 1 /* initializeKlassNode */
            invokestatic org.graalvm.compiler.nodes.util.GraphUtil.killWithUnusedFloatingInputs:(Lorg/graalvm/compiler/graph/Node;)V
        end local 7 // org.graalvm.compiler.replacements.SnippetTemplate template
        end local 6 // org.graalvm.compiler.replacements.SnippetTemplate$Arguments args
        12: .line 177
            goto 14
        13: .line 178
      StackMap locals:
      StackMap stack:
            new org.graalvm.compiler.debug.GraalError
            dup
            new java.lang.StringBuilder
            dup
            ldc "Unsupported constant type: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 5 /* constant */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial org.graalvm.compiler.debug.GraalError.<init>:(Ljava/lang/String;)V
            athrow
        14: .line 180
      StackMap locals:
      StackMap stack:
            return
        end local 5 // jdk.vm.ci.meta.Constant constant
        end local 4 // org.graalvm.compiler.nodes.ValueNode value
        end local 3 // org.graalvm.compiler.nodes.StructuredGraph graph
        end local 2 // org.graalvm.compiler.nodes.spi.LoweringTool tool
        end local 1 // org.graalvm.compiler.hotspot.nodes.aot.InitializeKlassNode initializeKlassNode
        end local 0 // org.graalvm.compiler.hotspot.replacements.aot.ResolveConstantSnippets$Templates this
      LocalVariableTable:
        Start  End  Slot                 Name  Signature
            0   15     0                 this  Lorg/graalvm/compiler/hotspot/replacements/aot/ResolveConstantSnippets$Templates;
            0   15     1  initializeKlassNode  Lorg/graalvm/compiler/hotspot/nodes/aot/InitializeKlassNode;
            0   15     2                 tool  Lorg/graalvm/compiler/nodes/spi/LoweringTool;
            1   15     3                graph  Lorg/graalvm/compiler/nodes/StructuredGraph;
            2   15     4                value  Lorg/graalvm/compiler/nodes/ValueNode;
            4   15     5             constant  Ljdk/vm/ci/meta/Constant;
            6   12     6                 args  Lorg/graalvm/compiler/replacements/SnippetTemplate$Arguments;
            8   12     7             template  Lorg/graalvm/compiler/replacements/SnippetTemplate;
    MethodParameters:
                     Name  Flags
      initializeKlassNode  
      tool                 

  public void lower(org.graalvm.compiler.hotspot.nodes.aot.ResolveMethodAndLoadCountersNode, org.graalvm.compiler.nodes.spi.LoweringTool);
    descriptor: (Lorg/graalvm/compiler/hotspot/nodes/aot/ResolveMethodAndLoadCountersNode;Lorg/graalvm/compiler/nodes/spi/LoweringTool;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=7, args_size=3
        start local 0 // org.graalvm.compiler.hotspot.replacements.aot.ResolveConstantSnippets$Templates this
        start local 1 // org.graalvm.compiler.hotspot.nodes.aot.ResolveMethodAndLoadCountersNode resolveMethodAndLoadCountersNode
        start local 2 // org.graalvm.compiler.nodes.spi.LoweringTool tool
         0: .line 183
            aload 1 /* resolveMethodAndLoadCountersNode */
            invokevirtual org.graalvm.compiler.hotspot.nodes.aot.ResolveMethodAndLoadCountersNode.graph:()Lorg/graalvm/compiler/nodes/StructuredGraph;
            astore 3 /* graph */
        start local 3 // org.graalvm.compiler.nodes.StructuredGraph graph
         1: .line 184
            invokestatic org.graalvm.compiler.hotspot.nodes.type.MethodPointerStamp.methodNonNull:()Lorg/graalvm/compiler/hotspot/nodes/type/MethodPointerStamp;
            aload 1 /* resolveMethodAndLoadCountersNode */
            invokevirtual org.graalvm.compiler.hotspot.nodes.aot.ResolveMethodAndLoadCountersNode.getMethod:()Ljdk/vm/ci/meta/ResolvedJavaMethod;
            invokeinterface jdk.vm.ci.meta.ResolvedJavaMethod.getEncoding:()Ljdk/vm/ci/meta/Constant;
            aload 2 /* tool */
            invokeinterface org.graalvm.compiler.nodes.spi.LoweringTool.getMetaAccess:()Ljdk/vm/ci/meta/MetaAccessProvider;
            aload 3 /* graph */
            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/StructuredGraph;)Lorg/graalvm/compiler/nodes/ConstantNode;
            astore 4 /* method */
        start local 4 // org.graalvm.compiler.nodes.ConstantNode method
         2: .line 185
            new org.graalvm.compiler.replacements.SnippetTemplate$Arguments
            dup
            aload 0 /* this */
            getfield org.graalvm.compiler.hotspot.replacements.aot.ResolveConstantSnippets$Templates.resolveMethodAndLoadCounters:Lorg/graalvm/compiler/replacements/SnippetTemplate$SnippetInfo;
            aload 3 /* graph */
            invokevirtual org.graalvm.compiler.nodes.StructuredGraph.getGuardsStage:()Lorg/graalvm/compiler/nodes/StructuredGraph$GuardsStage;
            aload 2 /* tool */
            invokeinterface org.graalvm.compiler.nodes.spi.LoweringTool.getLoweringStage:()Lorg/graalvm/compiler/nodes/spi/LoweringTool$LoweringStage;
            invokespecial org.graalvm.compiler.replacements.SnippetTemplate$Arguments.<init>:(Lorg/graalvm/compiler/replacements/SnippetTemplate$SnippetInfo;Lorg/graalvm/compiler/nodes/StructuredGraph$GuardsStage;Lorg/graalvm/compiler/nodes/spi/LoweringTool$LoweringStage;)V
            astore 5 /* args */
        start local 5 // org.graalvm.compiler.replacements.SnippetTemplate$Arguments args
         3: .line 186
            aload 5 /* args */
            ldc "method"
            aload 4 /* method */
            invokevirtual org.graalvm.compiler.replacements.SnippetTemplate$Arguments.add:(Ljava/lang/String;Ljava/lang/Object;)Lorg/graalvm/compiler/replacements/SnippetTemplate$Arguments;
            pop
         4: .line 187
            aload 5 /* args */
            ldc "klassHint"
            aload 1 /* resolveMethodAndLoadCountersNode */
            invokevirtual org.graalvm.compiler.hotspot.nodes.aot.ResolveMethodAndLoadCountersNode.getHub:()Lorg/graalvm/compiler/nodes/ValueNode;
            invokevirtual org.graalvm.compiler.replacements.SnippetTemplate$Arguments.add:(Ljava/lang/String;Ljava/lang/Object;)Lorg/graalvm/compiler/replacements/SnippetTemplate$Arguments;
            pop
         5: .line 188
            aload 0 /* this */
            aload 5 /* args */
            invokevirtual org.graalvm.compiler.hotspot.replacements.aot.ResolveConstantSnippets$Templates.template:(Lorg/graalvm/compiler/replacements/SnippetTemplate$Arguments;)Lorg/graalvm/compiler/replacements/SnippetTemplate;
            astore 6 /* template */
        start local 6 // org.graalvm.compiler.replacements.SnippetTemplate template
         6: .line 189
            aload 6 /* template */
            aload 0 /* this */
            getfield org.graalvm.compiler.hotspot.replacements.aot.ResolveConstantSnippets$Templates.providers:Lorg/graalvm/compiler/phases/util/Providers;
            invokevirtual org.graalvm.compiler.phases.util.Providers.getMetaAccess:()Ljdk/vm/ci/meta/MetaAccessProvider;
            aload 1 /* resolveMethodAndLoadCountersNode */
            getstatic org.graalvm.compiler.replacements.SnippetTemplate.DEFAULT_REPLACER:Lorg/graalvm/compiler/replacements/SnippetTemplate$UsageReplacer;
            aload 2 /* tool */
            aload 5 /* args */
            invokevirtual org.graalvm.compiler.replacements.SnippetTemplate.instantiate:(Ljdk/vm/ci/meta/MetaAccessProvider;Lorg/graalvm/compiler/nodes/calc/FloatingNode;Lorg/graalvm/compiler/replacements/SnippetTemplate$UsageReplacer;Lorg/graalvm/compiler/nodes/spi/LoweringTool;Lorg/graalvm/compiler/replacements/SnippetTemplate$Arguments;)V
         7: .line 191
            getstatic org.graalvm.compiler.hotspot.replacements.aot.ResolveConstantSnippets$Templates.$assertionsDisabled:Z
            ifne 8
            aload 1 /* resolveMethodAndLoadCountersNode */
            invokevirtual org.graalvm.compiler.hotspot.nodes.aot.ResolveMethodAndLoadCountersNode.hasNoUsages:()Z
            ifne 8
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         8: .line 192
      StackMap locals: org.graalvm.compiler.hotspot.replacements.aot.ResolveConstantSnippets$Templates org.graalvm.compiler.hotspot.nodes.aot.ResolveMethodAndLoadCountersNode org.graalvm.compiler.nodes.spi.LoweringTool org.graalvm.compiler.nodes.StructuredGraph org.graalvm.compiler.nodes.ConstantNode org.graalvm.compiler.replacements.SnippetTemplate$Arguments org.graalvm.compiler.replacements.SnippetTemplate
      StackMap stack:
            aload 1 /* resolveMethodAndLoadCountersNode */
            invokevirtual org.graalvm.compiler.hotspot.nodes.aot.ResolveMethodAndLoadCountersNode.isDeleted:()Z
            ifne 10
         9: .line 193
            aload 1 /* resolveMethodAndLoadCountersNode */
            invokestatic org.graalvm.compiler.nodes.util.GraphUtil.killWithUnusedFloatingInputs:(Lorg/graalvm/compiler/graph/Node;)V
        10: .line 195
      StackMap locals:
      StackMap stack:
            return
        end local 6 // org.graalvm.compiler.replacements.SnippetTemplate template
        end local 5 // org.graalvm.compiler.replacements.SnippetTemplate$Arguments args
        end local 4 // org.graalvm.compiler.nodes.ConstantNode method
        end local 3 // org.graalvm.compiler.nodes.StructuredGraph graph
        end local 2 // org.graalvm.compiler.nodes.spi.LoweringTool tool
        end local 1 // org.graalvm.compiler.hotspot.nodes.aot.ResolveMethodAndLoadCountersNode resolveMethodAndLoadCountersNode
        end local 0 // org.graalvm.compiler.hotspot.replacements.aot.ResolveConstantSnippets$Templates this
      LocalVariableTable:
        Start  End  Slot                              Name  Signature
            0   11     0                              this  Lorg/graalvm/compiler/hotspot/replacements/aot/ResolveConstantSnippets$Templates;
            0   11     1  resolveMethodAndLoadCountersNode  Lorg/graalvm/compiler/hotspot/nodes/aot/ResolveMethodAndLoadCountersNode;
            0   11     2                              tool  Lorg/graalvm/compiler/nodes/spi/LoweringTool;
            1   11     3                             graph  Lorg/graalvm/compiler/nodes/StructuredGraph;
            2   11     4                            method  Lorg/graalvm/compiler/nodes/ConstantNode;
            3   11     5                              args  Lorg/graalvm/compiler/replacements/SnippetTemplate$Arguments;
            6   11     6                          template  Lorg/graalvm/compiler/replacements/SnippetTemplate;
    MethodParameters:
                                  Name  Flags
      resolveMethodAndLoadCountersNode  
      tool                              
}
SourceFile: "ResolveConstantSnippets.java"
NestHost: org.graalvm.compiler.hotspot.replacements.aot.ResolveConstantSnippets
InnerClasses:
  public Templates = org.graalvm.compiler.hotspot.replacements.aot.ResolveConstantSnippets$Templates of org.graalvm.compiler.hotspot.replacements.aot.ResolveConstantSnippets
  public final GuardsStage = org.graalvm.compiler.nodes.StructuredGraph$GuardsStage of org.graalvm.compiler.nodes.StructuredGraph
  public abstract LoweringStage = org.graalvm.compiler.nodes.spi.LoweringTool$LoweringStage of org.graalvm.compiler.nodes.spi.LoweringTool
  public abstract AbstractTemplates = org.graalvm.compiler.replacements.SnippetTemplate$AbstractTemplates of org.graalvm.compiler.replacements.SnippetTemplate
  public Arguments = org.graalvm.compiler.replacements.SnippetTemplate$Arguments of org.graalvm.compiler.replacements.SnippetTemplate
  public abstract SnippetInfo = org.graalvm.compiler.replacements.SnippetTemplate$SnippetInfo of org.graalvm.compiler.replacements.SnippetTemplate
  public abstract UsageReplacer = org.graalvm.compiler.replacements.SnippetTemplate$UsageReplacer of org.graalvm.compiler.replacements.SnippetTemplate