public class org.graalvm.compiler.hotspot.phases.profiling.FinalizeProfileNodesPhase extends org.graalvm.compiler.phases.BasePhase<org.graalvm.compiler.phases.tiers.PhaseContext>
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: org.graalvm.compiler.hotspot.phases.profiling.FinalizeProfileNodesPhase
  super_class: org.graalvm.compiler.phases.BasePhase
{
  private int inlineeInvokeNotificationFreqLog;
    descriptor: I
    flags: (0x0002) ACC_PRIVATE

  public void <init>(int);
    descriptor: (I)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.graalvm.compiler.hotspot.phases.profiling.FinalizeProfileNodesPhase this
        start local 1 // int inlineeInvokeNotificationFreqLog
         0: .line 70
            aload 0 /* this */
            invokespecial org.graalvm.compiler.phases.BasePhase.<init>:()V
         1: .line 71
            aload 0 /* this */
            iload 1 /* inlineeInvokeNotificationFreqLog */
            putfield org.graalvm.compiler.hotspot.phases.profiling.FinalizeProfileNodesPhase.inlineeInvokeNotificationFreqLog:I
         2: .line 72
            return
        end local 1 // int inlineeInvokeNotificationFreqLog
        end local 0 // org.graalvm.compiler.hotspot.phases.profiling.FinalizeProfileNodesPhase this
      LocalVariableTable:
        Start  End  Slot                              Name  Signature
            0    3     0                              this  Lorg/graalvm/compiler/hotspot/phases/profiling/FinalizeProfileNodesPhase;
            0    3     1  inlineeInvokeNotificationFreqLog  I
    MethodParameters:
                                  Name  Flags
      inlineeInvokeNotificationFreqLog  

  private static void removeAllProfilingNodes(org.graalvm.compiler.nodes.StructuredGraph);
    descriptor: (Lorg/graalvm/compiler/nodes/StructuredGraph;)V
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.graalvm.compiler.nodes.StructuredGraph graph
         0: .line 75
            aload 0 /* graph */
            invokestatic org.graalvm.compiler.hotspot.nodes.profiling.ProfileNode.getProfileNodes:(Lorg/graalvm/compiler/nodes/StructuredGraph;)Lorg/graalvm/compiler/graph/iterators/NodeIterable;
            invokedynamic accept()Ljava/util/function/Consumer;
              Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
                Method arguments:
                  (Ljava/lang/Object;)V
                  org/graalvm/compiler/hotspot/phases/profiling/FinalizeProfileNodesPhase.lambda$0(Lorg/graalvm/compiler/hotspot/nodes/profiling/ProfileNode;)V (6)
                  (Lorg/graalvm/compiler/hotspot/nodes/profiling/ProfileNode;)V
            invokeinterface org.graalvm.compiler.graph.iterators.NodeIterable.forEach:(Ljava/util/function/Consumer;)V
         1: .line 76
            return
        end local 0 // org.graalvm.compiler.nodes.StructuredGraph graph
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    2     0  graph  Lorg/graalvm/compiler/nodes/StructuredGraph;
    MethodParameters:
       Name  Flags
      graph  

  private void assignInlineeInvokeFrequencies(org.graalvm.compiler.nodes.StructuredGraph);
    descriptor: (Lorg/graalvm/compiler/nodes/StructuredGraph;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=5, args_size=2
        start local 0 // org.graalvm.compiler.hotspot.phases.profiling.FinalizeProfileNodesPhase this
        start local 1 // org.graalvm.compiler.nodes.StructuredGraph graph
         0: .line 79
            aload 1 /* graph */
            invokestatic org.graalvm.compiler.hotspot.nodes.profiling.ProfileInvokeNode.getProfileInvokeNodes:(Lorg/graalvm/compiler/nodes/StructuredGraph;)Lorg/graalvm/compiler/graph/iterators/NodeIterable;
            invokeinterface org.graalvm.compiler.graph.iterators.NodeIterable.iterator:()Ljava/util/Iterator;
            astore 3
            goto 5
      StackMap locals: org.graalvm.compiler.hotspot.phases.profiling.FinalizeProfileNodesPhase org.graalvm.compiler.nodes.StructuredGraph top java.util.Iterator
      StackMap stack:
         1: aload 3
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.graalvm.compiler.hotspot.nodes.profiling.ProfileInvokeNode
            astore 2 /* node */
        start local 2 // org.graalvm.compiler.hotspot.nodes.profiling.ProfileInvokeNode node
         2: .line 80
            aload 2 /* node */
            invokevirtual org.graalvm.compiler.hotspot.nodes.profiling.ProfileInvokeNode.getProfiledMethod:()Ljdk/vm/ci/meta/ResolvedJavaMethod;
            astore 4 /* profiledMethod */
        start local 4 // jdk.vm.ci.meta.ResolvedJavaMethod profiledMethod
         3: .line 81
            aload 4 /* profiledMethod */
            aload 1 /* graph */
            invokevirtual org.graalvm.compiler.nodes.StructuredGraph.method:()Ljdk/vm/ci/meta/ResolvedJavaMethod;
            invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
            ifne 5
         4: .line 83
            aload 2 /* node */
            aload 0 /* this */
            getfield org.graalvm.compiler.hotspot.phases.profiling.FinalizeProfileNodesPhase.inlineeInvokeNotificationFreqLog:I
            invokevirtual org.graalvm.compiler.hotspot.nodes.profiling.ProfileInvokeNode.setNotificationFreqLog:(I)V
        end local 4 // jdk.vm.ci.meta.ResolvedJavaMethod profiledMethod
        end local 2 // org.graalvm.compiler.hotspot.nodes.profiling.ProfileInvokeNode node
         5: .line 79
      StackMap locals:
      StackMap stack:
            aload 3
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 1
         6: .line 86
            return
        end local 1 // org.graalvm.compiler.nodes.StructuredGraph graph
        end local 0 // org.graalvm.compiler.hotspot.phases.profiling.FinalizeProfileNodesPhase this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0    7     0            this  Lorg/graalvm/compiler/hotspot/phases/profiling/FinalizeProfileNodesPhase;
            0    7     1           graph  Lorg/graalvm/compiler/nodes/StructuredGraph;
            2    5     2            node  Lorg/graalvm/compiler/hotspot/nodes/profiling/ProfileInvokeNode;
            3    5     4  profiledMethod  Ljdk/vm/ci/meta/ResolvedJavaMethod;
    MethodParameters:
       Name  Flags
      graph  

  private static boolean simpleMethodHeuristic(org.graalvm.compiler.nodes.StructuredGraph);
    descriptor: (Lorg/graalvm/compiler/nodes/StructuredGraph;)Z
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.graalvm.compiler.nodes.StructuredGraph graph
         0: .line 91
            getstatic org.graalvm.compiler.hotspot.phases.profiling.FinalizeProfileNodesPhase$Options.ProfileSimpleMethods:Lorg/graalvm/compiler/options/OptionValue;
            invokevirtual org.graalvm.compiler.options.OptionValue.getValue:()Ljava/lang/Object;
            checkcast java.lang.Boolean
            invokevirtual java.lang.Boolean.booleanValue:()Z
            ifeq 2
         1: .line 92
            iconst_0
            ireturn
         2: .line 96
      StackMap locals:
      StackMap stack:
            aload 0 /* graph */
            invokevirtual org.graalvm.compiler.nodes.StructuredGraph.getNodeCount:()I
            getstatic org.graalvm.compiler.hotspot.phases.profiling.FinalizeProfileNodesPhase$Options.SimpleMethodGraphSize:Lorg/graalvm/compiler/options/OptionValue;
            invokevirtual org.graalvm.compiler.options.OptionValue.getValue:()Ljava/lang/Object;
            checkcast java.lang.Integer
            invokevirtual java.lang.Integer.intValue:()I
            if_icmple 4
         3: .line 97
            iconst_0
            ireturn
         4: .line 101
      StackMap locals:
      StackMap stack:
            aload 0 /* graph */
            invokevirtual org.graalvm.compiler.nodes.StructuredGraph.hasLoops:()Z
            ifeq 6
         5: .line 102
            iconst_0
            ireturn
         6: .line 106
      StackMap locals:
      StackMap stack:
            aload 0 /* graph */
            invokevirtual org.graalvm.compiler.nodes.StructuredGraph.getNodes:()Lorg/graalvm/compiler/graph/iterators/NodeIterable;
            ldc Lorg/graalvm/compiler/nodes/InvokeNode;
            invokeinterface org.graalvm.compiler.graph.iterators.NodeIterable.filter:(Ljava/lang/Class;)Lorg/graalvm/compiler/graph/iterators/NodeIterable;
            invokeinterface org.graalvm.compiler.graph.iterators.NodeIterable.count:()I
            getstatic org.graalvm.compiler.hotspot.phases.profiling.FinalizeProfileNodesPhase$Options.SimpleMethodCalls:Lorg/graalvm/compiler/options/OptionValue;
            invokevirtual org.graalvm.compiler.options.OptionValue.getValue:()Ljava/lang/Object;
            checkcast java.lang.Integer
            invokevirtual java.lang.Integer.intValue:()I
            if_icmple 8
         7: .line 107
            iconst_0
            ireturn
         8: .line 111
      StackMap locals:
      StackMap stack:
            aload 0 /* graph */
            invokevirtual org.graalvm.compiler.nodes.StructuredGraph.getNodes:()Lorg/graalvm/compiler/graph/iterators/NodeIterable;
            ldc Lorg/graalvm/compiler/nodes/InvokeNode;
            invokeinterface org.graalvm.compiler.graph.iterators.NodeIterable.filter:(Ljava/lang/Class;)Lorg/graalvm/compiler/graph/iterators/NodeIterable;
            invokedynamic apply()Lorg/graalvm/compiler/graph/iterators/NodePredicate;
              Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
                Method arguments:
                  (Lorg/graalvm/compiler/graph/Node;)Z
                  org/graalvm/compiler/hotspot/phases/profiling/FinalizeProfileNodesPhase.lambda$1(Lorg/graalvm/compiler/graph/Node;)Z (6)
                  (Lorg/graalvm/compiler/graph/Node;)Z
            invokeinterface org.graalvm.compiler.graph.iterators.NodeIterable.filter:(Lorg/graalvm/compiler/graph/iterators/NodePredicate;)Lorg/graalvm/compiler/graph/iterators/FilteredNodeIterable;
            invokevirtual org.graalvm.compiler.graph.iterators.FilteredNodeIterable.count:()I
            getstatic org.graalvm.compiler.hotspot.phases.profiling.FinalizeProfileNodesPhase$Options.SimpleMethodIndirectCalls:Lorg/graalvm/compiler/options/OptionValue;
            invokevirtual org.graalvm.compiler.options.OptionValue.getDefaultValue:()Ljava/lang/Object;
            checkcast java.lang.Integer
            invokevirtual java.lang.Integer.intValue:()I
            if_icmple 10
         9: .line 112
            iconst_0
            ireturn
        10: .line 115
      StackMap locals:
      StackMap stack:
            iconst_1
            ireturn
        end local 0 // org.graalvm.compiler.nodes.StructuredGraph graph
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0   11     0  graph  Lorg/graalvm/compiler/nodes/StructuredGraph;
    MethodParameters:
       Name  Flags
      graph  

  private static void assignRandomSources(org.graalvm.compiler.nodes.StructuredGraph);
    descriptor: (Lorg/graalvm/compiler/nodes/StructuredGraph;)V
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=8, locals=15, args_size=1
        start local 0 // org.graalvm.compiler.nodes.StructuredGraph graph
         0: .line 119
            aload 0 /* graph */
            new org.graalvm.compiler.hotspot.nodes.profiling.RandomSeedNode
            dup
            invokespecial org.graalvm.compiler.hotspot.nodes.profiling.RandomSeedNode.<init>:()V
            invokevirtual org.graalvm.compiler.nodes.StructuredGraph.unique:(Lorg/graalvm/compiler/graph/Node;)Lorg/graalvm/compiler/graph/Node;
            checkcast org.graalvm.compiler.nodes.ValueNode
            astore 1 /* seed */
        start local 1 // org.graalvm.compiler.nodes.ValueNode seed
         1: .line 120
            aload 0 /* graph */
            iconst_0
            iconst_1
            iconst_0
            iconst_0
            invokestatic org.graalvm.compiler.nodes.cfg.ControlFlowGraph.compute:(Lorg/graalvm/compiler/nodes/StructuredGraph;ZZZZ)Lorg/graalvm/compiler/nodes/cfg/ControlFlowGraph;
            astore 2 /* cfg */
        start local 2 // org.graalvm.compiler.nodes.cfg.ControlFlowGraph cfg
         2: .line 121
            new java.util.HashMap
            dup
            invokespecial java.util.HashMap.<init>:()V
            astore 3 /* loopRandomValueCache */
        start local 3 // java.util.Map loopRandomValueCache
         3: .line 123
            aload 0 /* graph */
            invokestatic org.graalvm.compiler.hotspot.nodes.profiling.ProfileNode.getProfileNodes:(Lorg/graalvm/compiler/nodes/StructuredGraph;)Lorg/graalvm/compiler/graph/iterators/NodeIterable;
            invokeinterface org.graalvm.compiler.graph.iterators.NodeIterable.iterator:()Ljava/util/Iterator;
            astore 5
            goto 26
      StackMap locals: org.graalvm.compiler.nodes.StructuredGraph org.graalvm.compiler.nodes.ValueNode org.graalvm.compiler.nodes.cfg.ControlFlowGraph java.util.Map top java.util.Iterator
      StackMap stack:
         4: aload 5
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.graalvm.compiler.hotspot.nodes.profiling.ProfileNode
            astore 4 /* node */
        start local 4 // org.graalvm.compiler.hotspot.nodes.profiling.ProfileNode node
         5: .line 125
            aload 2 /* cfg */
            aload 4 /* node */
            invokevirtual org.graalvm.compiler.nodes.cfg.ControlFlowGraph.blockFor:(Lorg/graalvm/compiler/graph/Node;)Lorg/graalvm/compiler/nodes/cfg/Block;
            astore 7 /* block */
        start local 7 // org.graalvm.compiler.nodes.cfg.Block block
         6: .line 126
            aload 7 /* block */
            invokevirtual org.graalvm.compiler.nodes.cfg.Block.getLoop:()Lorg/graalvm/compiler/core/common/cfg/Loop;
            astore 8 /* loop */
        start local 8 // org.graalvm.compiler.core.common.cfg.Loop loop
         7: .line 129
            aload 8 /* loop */
            ifnull 24
         8: .line 130
            aload 8 /* loop */
            invokevirtual org.graalvm.compiler.core.common.cfg.Loop.getHeader:()Lorg/graalvm/compiler/core/common/cfg/AbstractBlockBase;
            checkcast org.graalvm.compiler.nodes.cfg.Block
            invokevirtual org.graalvm.compiler.nodes.cfg.Block.getBeginNode:()Lorg/graalvm/compiler/nodes/AbstractBeginNode;
            checkcast org.graalvm.compiler.nodes.LoopBeginNode
            astore 9 /* loopBegin */
        start local 9 // org.graalvm.compiler.nodes.LoopBeginNode loopBegin
         9: .line 131
            aload 3 /* loopRandomValueCache */
            aload 9 /* loopBegin */
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast org.graalvm.compiler.nodes.ValueNode
            astore 6 /* random */
        start local 6 // org.graalvm.compiler.nodes.ValueNode random
        10: .line 132
            aload 6 /* random */
            ifnonnull 25
        11: .line 133
            aload 0 /* graph */
            new org.graalvm.compiler.nodes.ValuePhiNode
            dup
            aload 1 /* seed */
            invokevirtual org.graalvm.compiler.nodes.ValueNode.stamp:()Lorg/graalvm/compiler/core/common/type/Stamp;
            aload 9 /* loopBegin */
            invokespecial org.graalvm.compiler.nodes.ValuePhiNode.<init>:(Lorg/graalvm/compiler/core/common/type/Stamp;Lorg/graalvm/compiler/nodes/AbstractMergeNode;)V
            invokevirtual org.graalvm.compiler.nodes.StructuredGraph.addWithoutUnique:(Lorg/graalvm/compiler/graph/Node;)Lorg/graalvm/compiler/graph/Node;
            checkcast org.graalvm.compiler.nodes.PhiNode
            astore 10 /* phi */
        start local 10 // org.graalvm.compiler.nodes.PhiNode phi
        12: .line 134
            aload 10 /* phi */
            aload 1 /* seed */
            invokevirtual org.graalvm.compiler.nodes.PhiNode.addInput:(Lorg/graalvm/compiler/nodes/ValueNode;)V
        13: .line 136
            ldc 1103515245
            aload 0 /* graph */
            invokestatic org.graalvm.compiler.nodes.ConstantNode.forInt:(ILorg/graalvm/compiler/nodes/StructuredGraph;)Lorg/graalvm/compiler/nodes/ConstantNode;
            astore 11 /* a */
        start local 11 // org.graalvm.compiler.nodes.ValueNode a
        14: .line 137
            sipush 12345
            aload 0 /* graph */
            invokestatic org.graalvm.compiler.nodes.ConstantNode.forInt:(ILorg/graalvm/compiler/nodes/StructuredGraph;)Lorg/graalvm/compiler/nodes/ConstantNode;
            astore 12 /* c */
        start local 12 // org.graalvm.compiler.nodes.ValueNode c
        15: .line 138
            aload 0 /* graph */
            new org.graalvm.compiler.nodes.calc.AddNode
            dup
            aload 12 /* c */
            new org.graalvm.compiler.nodes.calc.MulNode
            dup
            aload 10 /* phi */
            aload 11 /* a */
            invokespecial org.graalvm.compiler.nodes.calc.MulNode.<init>:(Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/nodes/ValueNode;)V
            invokespecial org.graalvm.compiler.nodes.calc.AddNode.<init>:(Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/nodes/ValueNode;)V
            invokevirtual org.graalvm.compiler.nodes.StructuredGraph.addOrUniqueWithInputs:(Lorg/graalvm/compiler/graph/Node;)Lorg/graalvm/compiler/graph/Node;
            checkcast org.graalvm.compiler.nodes.ValueNode
            astore 13 /* next */
        start local 13 // org.graalvm.compiler.nodes.ValueNode next
        16: .line 139
            iconst_0
            istore 14 /* i */
        start local 14 // int i
        17: goto 20
        18: .line 140
      StackMap locals: org.graalvm.compiler.nodes.StructuredGraph org.graalvm.compiler.nodes.ValueNode org.graalvm.compiler.nodes.cfg.ControlFlowGraph java.util.Map org.graalvm.compiler.hotspot.nodes.profiling.ProfileNode java.util.Iterator org.graalvm.compiler.nodes.ValueNode org.graalvm.compiler.nodes.cfg.Block org.graalvm.compiler.core.common.cfg.Loop org.graalvm.compiler.nodes.LoopBeginNode org.graalvm.compiler.nodes.PhiNode org.graalvm.compiler.nodes.ValueNode org.graalvm.compiler.nodes.ValueNode org.graalvm.compiler.nodes.ValueNode int
      StackMap stack:
            aload 10 /* phi */
            aload 13 /* next */
            invokevirtual org.graalvm.compiler.nodes.PhiNode.addInput:(Lorg/graalvm/compiler/nodes/ValueNode;)V
        19: .line 139
            iinc 14 /* i */ 1
      StackMap locals:
      StackMap stack:
        20: iload 14 /* i */
            aload 9 /* loopBegin */
            invokevirtual org.graalvm.compiler.nodes.LoopBeginNode.getLoopEndCount:()I
            if_icmplt 18
        end local 14 // int i
        21: .line 142
            aload 10 /* phi */
            astore 6 /* random */
        22: .line 143
            aload 3 /* loopRandomValueCache */
            aload 9 /* loopBegin */
            aload 6 /* random */
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        end local 13 // org.graalvm.compiler.nodes.ValueNode next
        end local 12 // org.graalvm.compiler.nodes.ValueNode c
        end local 11 // org.graalvm.compiler.nodes.ValueNode a
        end local 10 // org.graalvm.compiler.nodes.PhiNode phi
        end local 9 // org.graalvm.compiler.nodes.LoopBeginNode loopBegin
        23: .line 145
            goto 25
        end local 6 // org.graalvm.compiler.nodes.ValueNode random
        24: .line 149
      StackMap locals: org.graalvm.compiler.nodes.StructuredGraph org.graalvm.compiler.nodes.ValueNode org.graalvm.compiler.nodes.cfg.ControlFlowGraph java.util.Map org.graalvm.compiler.hotspot.nodes.profiling.ProfileNode java.util.Iterator top org.graalvm.compiler.nodes.cfg.Block org.graalvm.compiler.core.common.cfg.Loop
      StackMap stack:
            aload 1 /* seed */
            astore 6 /* random */
        start local 6 // org.graalvm.compiler.nodes.ValueNode random
        25: .line 151
      StackMap locals: org.graalvm.compiler.nodes.StructuredGraph org.graalvm.compiler.nodes.ValueNode org.graalvm.compiler.nodes.cfg.ControlFlowGraph java.util.Map org.graalvm.compiler.hotspot.nodes.profiling.ProfileNode java.util.Iterator org.graalvm.compiler.nodes.ValueNode org.graalvm.compiler.nodes.cfg.Block org.graalvm.compiler.core.common.cfg.Loop
      StackMap stack:
            aload 4 /* node */
            aload 6 /* random */
            invokevirtual org.graalvm.compiler.hotspot.nodes.profiling.ProfileNode.setRandom:(Lorg/graalvm/compiler/nodes/ValueNode;)V
        end local 8 // org.graalvm.compiler.core.common.cfg.Loop loop
        end local 7 // org.graalvm.compiler.nodes.cfg.Block block
        end local 6 // org.graalvm.compiler.nodes.ValueNode random
        end local 4 // org.graalvm.compiler.hotspot.nodes.profiling.ProfileNode node
        26: .line 123
      StackMap locals: org.graalvm.compiler.nodes.StructuredGraph org.graalvm.compiler.nodes.ValueNode org.graalvm.compiler.nodes.cfg.ControlFlowGraph java.util.Map top java.util.Iterator
      StackMap stack:
            aload 5
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 4
        27: .line 153
            return
        end local 3 // java.util.Map loopRandomValueCache
        end local 2 // org.graalvm.compiler.nodes.cfg.ControlFlowGraph cfg
        end local 1 // org.graalvm.compiler.nodes.ValueNode seed
        end local 0 // org.graalvm.compiler.nodes.StructuredGraph graph
      LocalVariableTable:
        Start  End  Slot                  Name  Signature
            0   28     0                 graph  Lorg/graalvm/compiler/nodes/StructuredGraph;
            1   28     1                  seed  Lorg/graalvm/compiler/nodes/ValueNode;
            2   28     2                   cfg  Lorg/graalvm/compiler/nodes/cfg/ControlFlowGraph;
            3   28     3  loopRandomValueCache  Ljava/util/Map<Lorg/graalvm/compiler/nodes/LoopBeginNode;Lorg/graalvm/compiler/nodes/ValueNode;>;
            5   26     4                  node  Lorg/graalvm/compiler/hotspot/nodes/profiling/ProfileNode;
           10   24     6                random  Lorg/graalvm/compiler/nodes/ValueNode;
           25   26     6                random  Lorg/graalvm/compiler/nodes/ValueNode;
            6   26     7                 block  Lorg/graalvm/compiler/nodes/cfg/Block;
            7   26     8                  loop  Lorg/graalvm/compiler/core/common/cfg/Loop<Lorg/graalvm/compiler/nodes/cfg/Block;>;
            9   23     9             loopBegin  Lorg/graalvm/compiler/nodes/LoopBeginNode;
           12   23    10                   phi  Lorg/graalvm/compiler/nodes/PhiNode;
           14   23    11                     a  Lorg/graalvm/compiler/nodes/ValueNode;
           15   23    12                     c  Lorg/graalvm/compiler/nodes/ValueNode;
           16   23    13                  next  Lorg/graalvm/compiler/nodes/ValueNode;
           17   21    14                     i  I
    MethodParameters:
       Name  Flags
      graph  

  protected void run(org.graalvm.compiler.nodes.StructuredGraph, org.graalvm.compiler.phases.tiers.PhaseContext);
    descriptor: (Lorg/graalvm/compiler/nodes/StructuredGraph;Lorg/graalvm/compiler/phases/tiers/PhaseContext;)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=2, locals=3, args_size=3
        start local 0 // org.graalvm.compiler.hotspot.phases.profiling.FinalizeProfileNodesPhase this
        start local 1 // org.graalvm.compiler.nodes.StructuredGraph graph
        start local 2 // org.graalvm.compiler.phases.tiers.PhaseContext context
         0: .line 157
            aload 1 /* graph */
            invokestatic org.graalvm.compiler.hotspot.phases.profiling.FinalizeProfileNodesPhase.simpleMethodHeuristic:(Lorg/graalvm/compiler/nodes/StructuredGraph;)Z
            ifeq 3
         1: .line 158
            aload 1 /* graph */
            invokestatic org.graalvm.compiler.hotspot.phases.profiling.FinalizeProfileNodesPhase.removeAllProfilingNodes:(Lorg/graalvm/compiler/nodes/StructuredGraph;)V
         2: .line 159
            return
         3: .line 162
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* graph */
            invokevirtual org.graalvm.compiler.hotspot.phases.profiling.FinalizeProfileNodesPhase.assignInlineeInvokeFrequencies:(Lorg/graalvm/compiler/nodes/StructuredGraph;)V
         4: .line 163
            getstatic org.graalvm.compiler.hotspot.nodes.profiling.ProfileNode$Options.ProbabilisticProfiling:Lorg/graalvm/compiler/options/OptionValue;
            invokevirtual org.graalvm.compiler.options.OptionValue.getValue:()Ljava/lang/Object;
            checkcast java.lang.Boolean
            invokevirtual java.lang.Boolean.booleanValue:()Z
            ifeq 6
         5: .line 164
            aload 1 /* graph */
            invokestatic org.graalvm.compiler.hotspot.phases.profiling.FinalizeProfileNodesPhase.assignRandomSources:(Lorg/graalvm/compiler/nodes/StructuredGraph;)V
         6: .line 166
      StackMap locals:
      StackMap stack:
            return
        end local 2 // org.graalvm.compiler.phases.tiers.PhaseContext context
        end local 1 // org.graalvm.compiler.nodes.StructuredGraph graph
        end local 0 // org.graalvm.compiler.hotspot.phases.profiling.FinalizeProfileNodesPhase this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    7     0     this  Lorg/graalvm/compiler/hotspot/phases/profiling/FinalizeProfileNodesPhase;
            0    7     1    graph  Lorg/graalvm/compiler/nodes/StructuredGraph;
            0    7     2  context  Lorg/graalvm/compiler/phases/tiers/PhaseContext;
    MethodParameters:
         Name  Flags
      graph    
      context  

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

  protected void run(org.graalvm.compiler.nodes.StructuredGraph, java.lang.Object);
    descriptor: (Lorg/graalvm/compiler/nodes/StructuredGraph;Ljava/lang/Object;)V
    flags: (0x1044) ACC_PROTECTED, ACC_BRIDGE, ACC_SYNTHETIC
    Code:
      stack=3, locals=3, args_size=3
         0: .line 1
            aload 0
            aload 1
            aload 2
            checkcast org.graalvm.compiler.phases.tiers.PhaseContext
            invokevirtual org.graalvm.compiler.hotspot.phases.profiling.FinalizeProfileNodesPhase.run:(Lorg/graalvm/compiler/nodes/StructuredGraph;Lorg/graalvm/compiler/phases/tiers/PhaseContext;)V
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  private static void lambda$0(org.graalvm.compiler.hotspot.nodes.profiling.ProfileNode);
    descriptor: (Lorg/graalvm/compiler/hotspot/nodes/profiling/ProfileNode;)V
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.graalvm.compiler.hotspot.nodes.profiling.ProfileNode n
         0: .line 75
            aload 0 /* n */
            invokestatic org.graalvm.compiler.nodes.util.GraphUtil.removeFixedWithUnusedInputs:(Lorg/graalvm/compiler/nodes/FixedWithNextNode;)V
            return
        end local 0 // org.graalvm.compiler.hotspot.nodes.profiling.ProfileNode n
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0     n  Lorg/graalvm/compiler/hotspot/nodes/profiling/ProfileNode;

  private static boolean lambda$1(org.graalvm.compiler.graph.Node);
    descriptor: (Lorg/graalvm/compiler/graph/Node;)Z
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.graalvm.compiler.graph.Node n
         0: .line 111
            aload 0 /* n */
            checkcast org.graalvm.compiler.nodes.InvokeNode
            invokevirtual org.graalvm.compiler.nodes.InvokeNode.getInvokeKind:()Lorg/graalvm/compiler/nodes/CallTargetNode$InvokeKind;
            invokevirtual org.graalvm.compiler.nodes.CallTargetNode$InvokeKind.isIndirect:()Z
            ireturn
        end local 0 // org.graalvm.compiler.graph.Node n
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0     n  Lorg/graalvm/compiler/graph/Node;
}
Signature: Lorg/graalvm/compiler/phases/BasePhase<Lorg/graalvm/compiler/phases/tiers/PhaseContext;>;
SourceFile: "FinalizeProfileNodesPhase.java"
NestMembers:
  org.graalvm.compiler.hotspot.phases.profiling.FinalizeProfileNodesPhase$Options
InnerClasses:
  public final Lookup = java.lang.invoke.MethodHandles$Lookup of java.lang.invoke.MethodHandles
  public abstract ValueNumberable = org.graalvm.compiler.graph.Node$ValueNumberable of org.graalvm.compiler.graph.Node
  public Options = org.graalvm.compiler.hotspot.nodes.profiling.ProfileNode$Options of org.graalvm.compiler.hotspot.nodes.profiling.ProfileNode
  public Options = org.graalvm.compiler.hotspot.phases.profiling.FinalizeProfileNodesPhase$Options of org.graalvm.compiler.hotspot.phases.profiling.FinalizeProfileNodesPhase
  public final InvokeKind = org.graalvm.compiler.nodes.CallTargetNode$InvokeKind of org.graalvm.compiler.nodes.CallTargetNode