public class org.graalvm.compiler.hotspot.replacements.profiling.ProbabilisticProfileSnippets$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.profiling.ProbabilisticProfileSnippets$Templates
  super_class: org.graalvm.compiler.replacements.SnippetTemplate$AbstractTemplates
{
  private final org.graalvm.compiler.replacements.SnippetTemplate$SnippetInfo profileMethodEntryWithProbability;
    descriptor: Lorg/graalvm/compiler/replacements/SnippetTemplate$SnippetInfo;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

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

  private final org.graalvm.compiler.replacements.SnippetTemplate$SnippetInfo profileConditionalBackedgeWithProbability;
    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 122
            ldc Lorg/graalvm/compiler/hotspot/replacements/profiling/ProbabilisticProfileSnippets;
            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.profiling.ProbabilisticProfileSnippets$Templates.$assertionsDisabled:Z
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public void <init>(org.graalvm.compiler.options.OptionValues, java.lang.Iterable<org.graalvm.compiler.debug.DebugHandlersFactory>, org.graalvm.compiler.hotspot.meta.HotSpotProviders, jdk.vm.ci.code.TargetDescription);
    descriptor: (Lorg/graalvm/compiler/options/OptionValues;Ljava/lang/Iterable;Lorg/graalvm/compiler/hotspot/meta/HotSpotProviders;Ljdk/vm/ci/code/TargetDescription;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=5, args_size=5
        start local 0 // org.graalvm.compiler.hotspot.replacements.profiling.ProbabilisticProfileSnippets$Templates this
        start local 1 // org.graalvm.compiler.options.OptionValues options
        start local 2 // java.lang.Iterable factories
        start local 3 // org.graalvm.compiler.hotspot.meta.HotSpotProviders providers
        start local 4 // jdk.vm.ci.code.TargetDescription target
         0: .line 128
            aload 0 /* this */
            aload 1 /* options */
            aload 2 /* factories */
            aload 3 /* providers */
            aload 3 /* providers */
            invokevirtual org.graalvm.compiler.hotspot.meta.HotSpotProviders.getSnippetReflection:()Lorg/graalvm/compiler/api/replacements/SnippetReflectionProvider;
            aload 4 /* target */
            invokespecial org.graalvm.compiler.replacements.SnippetTemplate$AbstractTemplates.<init>:(Lorg/graalvm/compiler/options/OptionValues;Ljava/lang/Iterable;Lorg/graalvm/compiler/phases/util/Providers;Lorg/graalvm/compiler/api/replacements/SnippetReflectionProvider;Ljdk/vm/ci/code/TargetDescription;)V
         1: .line 123
            aload 0 /* this */
            aload 0 /* this */
            ldc Lorg/graalvm/compiler/hotspot/replacements/profiling/ProbabilisticProfileSnippets;
            ldc "profileMethodEntryWithProbability"
            iconst_0
            anewarray jdk.internal.vm.compiler.word.LocationIdentity
            invokevirtual org.graalvm.compiler.hotspot.replacements.profiling.ProbabilisticProfileSnippets$Templates.snippet:(Ljava/lang/Class;Ljava/lang/String;[Ljdk/internal/vm/compiler/word/LocationIdentity;)Lorg/graalvm/compiler/replacements/SnippetTemplate$SnippetInfo;
            putfield org.graalvm.compiler.hotspot.replacements.profiling.ProbabilisticProfileSnippets$Templates.profileMethodEntryWithProbability:Lorg/graalvm/compiler/replacements/SnippetTemplate$SnippetInfo;
         2: .line 124
            aload 0 /* this */
            aload 0 /* this */
            ldc Lorg/graalvm/compiler/hotspot/replacements/profiling/ProbabilisticProfileSnippets;
            ldc "profileBackedgeWithProbability"
            iconst_0
            anewarray jdk.internal.vm.compiler.word.LocationIdentity
            invokevirtual org.graalvm.compiler.hotspot.replacements.profiling.ProbabilisticProfileSnippets$Templates.snippet:(Ljava/lang/Class;Ljava/lang/String;[Ljdk/internal/vm/compiler/word/LocationIdentity;)Lorg/graalvm/compiler/replacements/SnippetTemplate$SnippetInfo;
            putfield org.graalvm.compiler.hotspot.replacements.profiling.ProbabilisticProfileSnippets$Templates.profileBackedgeWithProbability:Lorg/graalvm/compiler/replacements/SnippetTemplate$SnippetInfo;
         3: .line 125
            aload 0 /* this */
            aload 0 /* this */
            ldc Lorg/graalvm/compiler/hotspot/replacements/profiling/ProbabilisticProfileSnippets;
            ldc "profileConditionalBackedgeWithProbability"
            iconst_0
            anewarray jdk.internal.vm.compiler.word.LocationIdentity
            invokevirtual org.graalvm.compiler.hotspot.replacements.profiling.ProbabilisticProfileSnippets$Templates.snippet:(Ljava/lang/Class;Ljava/lang/String;[Ljdk/internal/vm/compiler/word/LocationIdentity;)Lorg/graalvm/compiler/replacements/SnippetTemplate$SnippetInfo;
            putfield org.graalvm.compiler.hotspot.replacements.profiling.ProbabilisticProfileSnippets$Templates.profileConditionalBackedgeWithProbability:Lorg/graalvm/compiler/replacements/SnippetTemplate$SnippetInfo;
         4: .line 129
            return
        end local 4 // jdk.vm.ci.code.TargetDescription target
        end local 3 // org.graalvm.compiler.hotspot.meta.HotSpotProviders providers
        end local 2 // java.lang.Iterable factories
        end local 1 // org.graalvm.compiler.options.OptionValues options
        end local 0 // org.graalvm.compiler.hotspot.replacements.profiling.ProbabilisticProfileSnippets$Templates this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    5     0       this  Lorg/graalvm/compiler/hotspot/replacements/profiling/ProbabilisticProfileSnippets$Templates;
            0    5     1    options  Lorg/graalvm/compiler/options/OptionValues;
            0    5     2  factories  Ljava/lang/Iterable<Lorg/graalvm/compiler/debug/DebugHandlersFactory;>;
            0    5     3  providers  Lorg/graalvm/compiler/hotspot/meta/HotSpotProviders;
            0    5     4     target  Ljdk/vm/ci/code/TargetDescription;
    Signature: (Lorg/graalvm/compiler/options/OptionValues;Ljava/lang/Iterable<Lorg/graalvm/compiler/debug/DebugHandlersFactory;>;Lorg/graalvm/compiler/hotspot/meta/HotSpotProviders;Ljdk/vm/ci/code/TargetDescription;)V
    MethodParameters:
           Name  Flags
      options    
      factories  
      providers  
      target     

  public void lower(org.graalvm.compiler.hotspot.nodes.profiling.ProfileNode, org.graalvm.compiler.nodes.spi.LoweringTool);
    descriptor: (Lorg/graalvm/compiler/hotspot/nodes/profiling/ProfileNode;Lorg/graalvm/compiler/nodes/spi/LoweringTool;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=13, args_size=3
        start local 0 // org.graalvm.compiler.hotspot.replacements.profiling.ProbabilisticProfileSnippets$Templates this
        start local 1 // org.graalvm.compiler.hotspot.nodes.profiling.ProfileNode profileNode
        start local 2 // org.graalvm.compiler.nodes.spi.LoweringTool tool
         0: .line 132
            getstatic org.graalvm.compiler.hotspot.replacements.profiling.ProbabilisticProfileSnippets$Templates.$assertionsDisabled:Z
            ifne 1
            aload 1 /* profileNode */
            invokevirtual org.graalvm.compiler.hotspot.nodes.profiling.ProfileNode.getRandom:()Lorg/graalvm/compiler/nodes/ValueNode;
            ifnonnull 1
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         1: .line 134
      StackMap locals:
      StackMap stack:
            aload 1 /* profileNode */
            invokevirtual org.graalvm.compiler.hotspot.nodes.profiling.ProfileNode.graph:()Lorg/graalvm/compiler/nodes/StructuredGraph;
            astore 3 /* graph */
        start local 3 // org.graalvm.compiler.nodes.StructuredGraph graph
         2: .line 135
            aload 3 /* graph */
            new org.graalvm.compiler.hotspot.nodes.aot.LoadMethodCountersNode
            dup
            aload 1 /* profileNode */
            invokevirtual org.graalvm.compiler.hotspot.nodes.profiling.ProfileNode.getProfiledMethod:()Ljdk/vm/ci/meta/ResolvedJavaMethod;
            invokespecial org.graalvm.compiler.hotspot.nodes.aot.LoadMethodCountersNode.<init>:(Ljdk/vm/ci/meta/ResolvedJavaMethod;)V
            invokevirtual org.graalvm.compiler.nodes.StructuredGraph.unique:(Lorg/graalvm/compiler/graph/Node;)Lorg/graalvm/compiler/graph/Node;
            checkcast org.graalvm.compiler.hotspot.nodes.aot.LoadMethodCountersNode
            astore 4 /* counters */
        start local 4 // org.graalvm.compiler.hotspot.nodes.aot.LoadMethodCountersNode counters
         3: .line 136
            aload 1 /* profileNode */
            invokevirtual org.graalvm.compiler.hotspot.nodes.profiling.ProfileNode.getStep:()I
            aload 3 /* graph */
            invokestatic org.graalvm.compiler.nodes.ConstantNode.forInt:(ILorg/graalvm/compiler/nodes/StructuredGraph;)Lorg/graalvm/compiler/nodes/ConstantNode;
            astore 5 /* step */
        start local 5 // org.graalvm.compiler.nodes.ConstantNode step
         4: .line 137
            aload 1 /* profileNode */
            invokevirtual org.graalvm.compiler.hotspot.nodes.profiling.ProfileNode.getStep:()I
            invokestatic jdk.vm.ci.code.CodeUtil.log2:(I)I
            aload 3 /* graph */
            invokestatic org.graalvm.compiler.nodes.ConstantNode.forInt:(ILorg/graalvm/compiler/nodes/StructuredGraph;)Lorg/graalvm/compiler/nodes/ConstantNode;
            astore 6 /* stepLog */
        start local 6 // org.graalvm.compiler.nodes.ConstantNode stepLog
         5: .line 139
            aload 1 /* profileNode */
            instanceof org.graalvm.compiler.hotspot.nodes.profiling.ProfileBranchNode
            ifeq 26
         6: .line 141
            aload 1 /* profileNode */
            checkcast org.graalvm.compiler.hotspot.nodes.profiling.ProfileBranchNode
            astore 7 /* profileBranchNode */
        start local 7 // org.graalvm.compiler.hotspot.nodes.profiling.ProfileBranchNode profileBranchNode
         7: .line 142
            aload 7 /* profileBranchNode */
            invokevirtual org.graalvm.compiler.hotspot.nodes.profiling.ProfileBranchNode.hasCondition:()Z
            ifeq 8
            aload 0 /* this */
            getfield org.graalvm.compiler.hotspot.replacements.profiling.ProbabilisticProfileSnippets$Templates.profileConditionalBackedgeWithProbability:Lorg/graalvm/compiler/replacements/SnippetTemplate$SnippetInfo;
            goto 9
      StackMap locals: org.graalvm.compiler.hotspot.replacements.profiling.ProbabilisticProfileSnippets$Templates org.graalvm.compiler.hotspot.nodes.profiling.ProfileNode org.graalvm.compiler.nodes.spi.LoweringTool org.graalvm.compiler.nodes.StructuredGraph org.graalvm.compiler.hotspot.nodes.aot.LoadMethodCountersNode org.graalvm.compiler.nodes.ConstantNode org.graalvm.compiler.nodes.ConstantNode org.graalvm.compiler.hotspot.nodes.profiling.ProfileBranchNode
      StackMap stack:
         8: aload 0 /* this */
            getfield org.graalvm.compiler.hotspot.replacements.profiling.ProbabilisticProfileSnippets$Templates.profileBackedgeWithProbability:Lorg/graalvm/compiler/replacements/SnippetTemplate$SnippetInfo;
      StackMap locals:
      StackMap stack: org.graalvm.compiler.replacements.SnippetTemplate$SnippetInfo
         9: astore 8 /* snippet */
        start local 8 // org.graalvm.compiler.replacements.SnippetTemplate$SnippetInfo snippet
        10: .line 143
            new org.graalvm.compiler.replacements.SnippetTemplate$Arguments
            dup
            aload 8 /* 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 9 /* args */
        start local 9 // org.graalvm.compiler.replacements.SnippetTemplate$Arguments args
        11: .line 144
            aload 7 /* profileBranchNode */
            invokevirtual org.graalvm.compiler.hotspot.nodes.profiling.ProfileBranchNode.bci:()I
            aload 3 /* graph */
            invokestatic org.graalvm.compiler.nodes.ConstantNode.forInt:(ILorg/graalvm/compiler/nodes/StructuredGraph;)Lorg/graalvm/compiler/nodes/ConstantNode;
            astore 10 /* bci */
        start local 10 // org.graalvm.compiler.nodes.ConstantNode bci
        12: .line 145
            aload 7 /* profileBranchNode */
            invokevirtual org.graalvm.compiler.hotspot.nodes.profiling.ProfileBranchNode.targetBci:()I
            aload 3 /* graph */
            invokestatic org.graalvm.compiler.nodes.ConstantNode.forInt:(ILorg/graalvm/compiler/nodes/StructuredGraph;)Lorg/graalvm/compiler/nodes/ConstantNode;
            astore 11 /* targetBci */
        start local 11 // org.graalvm.compiler.nodes.ConstantNode targetBci
        13: .line 147
            aload 9 /* args */
            ldc "counters"
            aload 4 /* counters */
            invokevirtual org.graalvm.compiler.replacements.SnippetTemplate$Arguments.add:(Ljava/lang/String;Ljava/lang/Object;)Lorg/graalvm/compiler/replacements/SnippetTemplate$Arguments;
            pop
        14: .line 148
            aload 9 /* args */
            ldc "random"
            aload 7 /* profileBranchNode */
            invokevirtual org.graalvm.compiler.hotspot.nodes.profiling.ProfileBranchNode.getRandom:()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
        15: .line 149
            aload 9 /* args */
            ldc "step"
            aload 5 /* step */
            invokevirtual org.graalvm.compiler.replacements.SnippetTemplate$Arguments.add:(Ljava/lang/String;Ljava/lang/Object;)Lorg/graalvm/compiler/replacements/SnippetTemplate$Arguments;
            pop
        16: .line 150
            aload 9 /* args */
            ldc "stepLog"
            aload 6 /* stepLog */
            invokevirtual org.graalvm.compiler.replacements.SnippetTemplate$Arguments.add:(Ljava/lang/String;Ljava/lang/Object;)Lorg/graalvm/compiler/replacements/SnippetTemplate$Arguments;
            pop
        17: .line 151
            aload 9 /* args */
            ldc "freqLog"
            aload 7 /* profileBranchNode */
            invokevirtual org.graalvm.compiler.hotspot.nodes.profiling.ProfileBranchNode.getNotificationFreqLog:()I
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            invokevirtual org.graalvm.compiler.replacements.SnippetTemplate$Arguments.addConst:(Ljava/lang/String;Ljava/lang/Object;)Lorg/graalvm/compiler/replacements/SnippetTemplate$Arguments;
            pop
        18: .line 152
            aload 9 /* args */
            ldc "probLog"
            aload 7 /* profileBranchNode */
            invokevirtual org.graalvm.compiler.hotspot.nodes.profiling.ProfileBranchNode.getProbabilityLog:()I
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            invokevirtual org.graalvm.compiler.replacements.SnippetTemplate$Arguments.addConst:(Ljava/lang/String;Ljava/lang/Object;)Lorg/graalvm/compiler/replacements/SnippetTemplate$Arguments;
            pop
        19: .line 153
            aload 7 /* profileBranchNode */
            invokevirtual org.graalvm.compiler.hotspot.nodes.profiling.ProfileBranchNode.hasCondition:()Z
            ifeq 21
        20: .line 154
            aload 9 /* args */
            ldc "branchCondition"
            aload 7 /* profileBranchNode */
            invokevirtual org.graalvm.compiler.hotspot.nodes.profiling.ProfileBranchNode.branchCondition:()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
        21: .line 156
      StackMap locals: org.graalvm.compiler.hotspot.replacements.profiling.ProbabilisticProfileSnippets$Templates org.graalvm.compiler.hotspot.nodes.profiling.ProfileNode org.graalvm.compiler.nodes.spi.LoweringTool org.graalvm.compiler.nodes.StructuredGraph org.graalvm.compiler.hotspot.nodes.aot.LoadMethodCountersNode org.graalvm.compiler.nodes.ConstantNode org.graalvm.compiler.nodes.ConstantNode org.graalvm.compiler.hotspot.nodes.profiling.ProfileBranchNode org.graalvm.compiler.replacements.SnippetTemplate$SnippetInfo org.graalvm.compiler.replacements.SnippetTemplate$Arguments org.graalvm.compiler.nodes.ConstantNode org.graalvm.compiler.nodes.ConstantNode
      StackMap stack:
            aload 9 /* args */
            ldc "bci"
            aload 10 /* bci */
            invokevirtual org.graalvm.compiler.replacements.SnippetTemplate$Arguments.add:(Ljava/lang/String;Ljava/lang/Object;)Lorg/graalvm/compiler/replacements/SnippetTemplate$Arguments;
            pop
        22: .line 157
            aload 9 /* args */
            ldc "targetBci"
            aload 11 /* targetBci */
            invokevirtual org.graalvm.compiler.replacements.SnippetTemplate$Arguments.add:(Ljava/lang/String;Ljava/lang/Object;)Lorg/graalvm/compiler/replacements/SnippetTemplate$Arguments;
            pop
        23: .line 159
            aload 0 /* this */
            aload 1 /* profileNode */
            aload 9 /* args */
            invokevirtual org.graalvm.compiler.hotspot.replacements.profiling.ProbabilisticProfileSnippets$Templates.template:(Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/replacements/SnippetTemplate$Arguments;)Lorg/graalvm/compiler/replacements/SnippetTemplate;
            astore 12 /* template */
        start local 12 // org.graalvm.compiler.replacements.SnippetTemplate template
        24: .line 160
            aload 12 /* template */
            aload 0 /* this */
            getfield org.graalvm.compiler.hotspot.replacements.profiling.ProbabilisticProfileSnippets$Templates.providers:Lorg/graalvm/compiler/phases/util/Providers;
            invokevirtual org.graalvm.compiler.phases.util.Providers.getMetaAccess:()Ljdk/vm/ci/meta/MetaAccessProvider;
            aload 1 /* profileNode */
            getstatic org.graalvm.compiler.replacements.SnippetTemplate.DEFAULT_REPLACER:Lorg/graalvm/compiler/replacements/SnippetTemplate$UsageReplacer;
            aload 9 /* 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;)Ljdk/internal/vm/compiler/collections/UnmodifiableEconomicMap;
            pop
        end local 12 // org.graalvm.compiler.replacements.SnippetTemplate template
        end local 11 // org.graalvm.compiler.nodes.ConstantNode targetBci
        end local 10 // org.graalvm.compiler.nodes.ConstantNode bci
        end local 9 // org.graalvm.compiler.replacements.SnippetTemplate$Arguments args
        end local 8 // org.graalvm.compiler.replacements.SnippetTemplate$SnippetInfo snippet
        end local 7 // org.graalvm.compiler.hotspot.nodes.profiling.ProfileBranchNode profileBranchNode
        25: .line 161
            goto 39
      StackMap locals: org.graalvm.compiler.hotspot.replacements.profiling.ProbabilisticProfileSnippets$Templates org.graalvm.compiler.hotspot.nodes.profiling.ProfileNode org.graalvm.compiler.nodes.spi.LoweringTool org.graalvm.compiler.nodes.StructuredGraph org.graalvm.compiler.hotspot.nodes.aot.LoadMethodCountersNode org.graalvm.compiler.nodes.ConstantNode org.graalvm.compiler.nodes.ConstantNode
      StackMap stack:
        26: aload 1 /* profileNode */
            instanceof org.graalvm.compiler.hotspot.nodes.profiling.ProfileInvokeNode
            ifeq 38
        27: .line 162
            aload 1 /* profileNode */
            checkcast org.graalvm.compiler.hotspot.nodes.profiling.ProfileInvokeNode
            astore 7 /* profileInvokeNode */
        start local 7 // org.graalvm.compiler.hotspot.nodes.profiling.ProfileInvokeNode profileInvokeNode
        28: .line 164
            new org.graalvm.compiler.replacements.SnippetTemplate$Arguments
            dup
            aload 0 /* this */
            getfield org.graalvm.compiler.hotspot.replacements.profiling.ProbabilisticProfileSnippets$Templates.profileMethodEntryWithProbability: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 8 /* args */
        start local 8 // org.graalvm.compiler.replacements.SnippetTemplate$Arguments args
        29: .line 166
            aload 8 /* args */
            ldc "counters"
            aload 4 /* counters */
            invokevirtual org.graalvm.compiler.replacements.SnippetTemplate$Arguments.add:(Ljava/lang/String;Ljava/lang/Object;)Lorg/graalvm/compiler/replacements/SnippetTemplate$Arguments;
            pop
        30: .line 167
            aload 8 /* args */
            ldc "random"
            aload 7 /* profileInvokeNode */
            invokevirtual org.graalvm.compiler.hotspot.nodes.profiling.ProfileInvokeNode.getRandom:()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
        31: .line 168
            aload 8 /* args */
            ldc "step"
            aload 5 /* step */
            invokevirtual org.graalvm.compiler.replacements.SnippetTemplate$Arguments.add:(Ljava/lang/String;Ljava/lang/Object;)Lorg/graalvm/compiler/replacements/SnippetTemplate$Arguments;
            pop
        32: .line 169
            aload 8 /* args */
            ldc "stepLog"
            aload 6 /* stepLog */
            invokevirtual org.graalvm.compiler.replacements.SnippetTemplate$Arguments.add:(Ljava/lang/String;Ljava/lang/Object;)Lorg/graalvm/compiler/replacements/SnippetTemplate$Arguments;
            pop
        33: .line 170
            aload 8 /* args */
            ldc "freqLog"
            aload 7 /* profileInvokeNode */
            invokevirtual org.graalvm.compiler.hotspot.nodes.profiling.ProfileInvokeNode.getNotificationFreqLog:()I
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            invokevirtual org.graalvm.compiler.replacements.SnippetTemplate$Arguments.addConst:(Ljava/lang/String;Ljava/lang/Object;)Lorg/graalvm/compiler/replacements/SnippetTemplate$Arguments;
            pop
        34: .line 171
            aload 8 /* args */
            ldc "probLog"
            aload 7 /* profileInvokeNode */
            invokevirtual org.graalvm.compiler.hotspot.nodes.profiling.ProfileInvokeNode.getProbabilityLog:()I
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            invokevirtual org.graalvm.compiler.replacements.SnippetTemplate$Arguments.addConst:(Ljava/lang/String;Ljava/lang/Object;)Lorg/graalvm/compiler/replacements/SnippetTemplate$Arguments;
            pop
        35: .line 172
            aload 0 /* this */
            aload 1 /* profileNode */
            aload 8 /* args */
            invokevirtual org.graalvm.compiler.hotspot.replacements.profiling.ProbabilisticProfileSnippets$Templates.template:(Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/replacements/SnippetTemplate$Arguments;)Lorg/graalvm/compiler/replacements/SnippetTemplate;
            astore 9 /* template */
        start local 9 // org.graalvm.compiler.replacements.SnippetTemplate template
        36: .line 173
            aload 9 /* template */
            aload 0 /* this */
            getfield org.graalvm.compiler.hotspot.replacements.profiling.ProbabilisticProfileSnippets$Templates.providers:Lorg/graalvm/compiler/phases/util/Providers;
            invokevirtual org.graalvm.compiler.phases.util.Providers.getMetaAccess:()Ljdk/vm/ci/meta/MetaAccessProvider;
            aload 1 /* profileNode */
            getstatic org.graalvm.compiler.replacements.SnippetTemplate.DEFAULT_REPLACER:Lorg/graalvm/compiler/replacements/SnippetTemplate$UsageReplacer;
            aload 8 /* 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;)Ljdk/internal/vm/compiler/collections/UnmodifiableEconomicMap;
            pop
        end local 9 // org.graalvm.compiler.replacements.SnippetTemplate template
        end local 8 // org.graalvm.compiler.replacements.SnippetTemplate$Arguments args
        end local 7 // org.graalvm.compiler.hotspot.nodes.profiling.ProfileInvokeNode profileInvokeNode
        37: .line 174
            goto 39
        38: .line 175
      StackMap locals:
      StackMap stack:
            new org.graalvm.compiler.debug.GraalError
            dup
            new java.lang.StringBuilder
            dup
            ldc "Unsupported profile node type: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 1 /* profileNode */
            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
        39: .line 178
      StackMap locals:
      StackMap stack:
            getstatic org.graalvm.compiler.hotspot.replacements.profiling.ProbabilisticProfileSnippets$Templates.$assertionsDisabled:Z
            ifne 40
            aload 1 /* profileNode */
            invokevirtual org.graalvm.compiler.hotspot.nodes.profiling.ProfileNode.hasNoUsages:()Z
            ifne 40
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
        40: .line 179
      StackMap locals:
      StackMap stack:
            aload 1 /* profileNode */
            invokevirtual org.graalvm.compiler.hotspot.nodes.profiling.ProfileNode.isDeleted:()Z
            ifne 42
        41: .line 180
            aload 1 /* profileNode */
            invokestatic org.graalvm.compiler.nodes.util.GraphUtil.killWithUnusedFloatingInputs:(Lorg/graalvm/compiler/graph/Node;)V
        42: .line 182
      StackMap locals:
      StackMap stack:
            return
        end local 6 // org.graalvm.compiler.nodes.ConstantNode stepLog
        end local 5 // org.graalvm.compiler.nodes.ConstantNode step
        end local 4 // org.graalvm.compiler.hotspot.nodes.aot.LoadMethodCountersNode counters
        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.profiling.ProfileNode profileNode
        end local 0 // org.graalvm.compiler.hotspot.replacements.profiling.ProbabilisticProfileSnippets$Templates this
      LocalVariableTable:
        Start  End  Slot               Name  Signature
            0   43     0               this  Lorg/graalvm/compiler/hotspot/replacements/profiling/ProbabilisticProfileSnippets$Templates;
            0   43     1        profileNode  Lorg/graalvm/compiler/hotspot/nodes/profiling/ProfileNode;
            0   43     2               tool  Lorg/graalvm/compiler/nodes/spi/LoweringTool;
            2   43     3              graph  Lorg/graalvm/compiler/nodes/StructuredGraph;
            3   43     4           counters  Lorg/graalvm/compiler/hotspot/nodes/aot/LoadMethodCountersNode;
            4   43     5               step  Lorg/graalvm/compiler/nodes/ConstantNode;
            5   43     6            stepLog  Lorg/graalvm/compiler/nodes/ConstantNode;
            7   25     7  profileBranchNode  Lorg/graalvm/compiler/hotspot/nodes/profiling/ProfileBranchNode;
           10   25     8            snippet  Lorg/graalvm/compiler/replacements/SnippetTemplate$SnippetInfo;
           11   25     9               args  Lorg/graalvm/compiler/replacements/SnippetTemplate$Arguments;
           12   25    10                bci  Lorg/graalvm/compiler/nodes/ConstantNode;
           13   25    11          targetBci  Lorg/graalvm/compiler/nodes/ConstantNode;
           24   25    12           template  Lorg/graalvm/compiler/replacements/SnippetTemplate;
           28   37     7  profileInvokeNode  Lorg/graalvm/compiler/hotspot/nodes/profiling/ProfileInvokeNode;
           29   37     8               args  Lorg/graalvm/compiler/replacements/SnippetTemplate$Arguments;
           36   37     9           template  Lorg/graalvm/compiler/replacements/SnippetTemplate;
    MethodParameters:
             Name  Flags
      profileNode  
      tool         
}
SourceFile: "ProbabilisticProfileSnippets.java"
NestHost: org.graalvm.compiler.hotspot.replacements.profiling.ProbabilisticProfileSnippets
InnerClasses:
  public abstract ValueNumberable = org.graalvm.compiler.graph.Node$ValueNumberable of org.graalvm.compiler.graph.Node
  public Templates = org.graalvm.compiler.hotspot.replacements.profiling.ProbabilisticProfileSnippets$Templates of org.graalvm.compiler.hotspot.replacements.profiling.ProbabilisticProfileSnippets
  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