public class org.graalvm.compiler.phases.common.ReassociationPhase extends org.graalvm.compiler.phases.BasePhase<org.graalvm.compiler.nodes.spi.CoreProviders>
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: org.graalvm.compiler.phases.common.ReassociationPhase
  super_class: org.graalvm.compiler.phases.BasePhase
{
  private final org.graalvm.compiler.phases.common.CanonicalizerPhase canonicalizer;
    descriptor: Lorg/graalvm/compiler/phases/common/CanonicalizerPhase;
    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 56
            ldc Lorg/graalvm/compiler/phases/common/ReassociationPhase;
            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.phases.common.ReassociationPhase.$assertionsDisabled:Z
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public void <init>(org.graalvm.compiler.phases.common.CanonicalizerPhase);
    descriptor: (Lorg/graalvm/compiler/phases/common/CanonicalizerPhase;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.graalvm.compiler.phases.common.ReassociationPhase this
        start local 1 // org.graalvm.compiler.phases.common.CanonicalizerPhase canonicalizer
         0: .line 60
            aload 0 /* this */
            invokespecial org.graalvm.compiler.phases.BasePhase.<init>:()V
         1: .line 61
            aload 0 /* this */
            aload 1 /* canonicalizer */
            putfield org.graalvm.compiler.phases.common.ReassociationPhase.canonicalizer:Lorg/graalvm/compiler/phases/common/CanonicalizerPhase;
         2: .line 62
            return
        end local 1 // org.graalvm.compiler.phases.common.CanonicalizerPhase canonicalizer
        end local 0 // org.graalvm.compiler.phases.common.ReassociationPhase this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0    3     0           this  Lorg/graalvm/compiler/phases/common/ReassociationPhase;
            0    3     1  canonicalizer  Lorg/graalvm/compiler/phases/common/CanonicalizerPhase;
    MethodParameters:
               Name  Flags
      canonicalizer  

  protected void run(org.graalvm.compiler.nodes.StructuredGraph, org.graalvm.compiler.nodes.spi.CoreProviders);
    descriptor: (Lorg/graalvm/compiler/nodes/StructuredGraph;Lorg/graalvm/compiler/nodes/spi/CoreProviders;)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=4, locals=7, args_size=3
        start local 0 // org.graalvm.compiler.phases.common.ReassociationPhase this
        start local 1 // org.graalvm.compiler.nodes.StructuredGraph graph
        start local 2 // org.graalvm.compiler.nodes.spi.CoreProviders context
         0: .line 67
            new org.graalvm.compiler.phases.common.util.EconomicSetNodeEventListener
            dup
            getstatic org.graalvm.compiler.graph.Graph$NodeEvent.NODE_ADDED:Lorg/graalvm/compiler/graph/Graph$NodeEvent;
            invokestatic java.util.EnumSet.of:(Ljava/lang/Enum;)Ljava/util/EnumSet;
            invokespecial org.graalvm.compiler.phases.common.util.EconomicSetNodeEventListener.<init>:(Ljava/util/Set;)V
            astore 3 /* changedNodes */
        start local 3 // org.graalvm.compiler.phases.common.util.EconomicSetNodeEventListener changedNodes
         1: .line 68
            aconst_null
            astore 4
            aconst_null
            astore 5
         2: aload 1 /* graph */
            aload 3 /* changedNodes */
            invokevirtual org.graalvm.compiler.nodes.StructuredGraph.trackNodeEvents:(Lorg/graalvm/compiler/graph/Graph$NodeEventListener;)Lorg/graalvm/compiler/graph/Graph$NodeEventScope;
            astore 6 /* news */
        start local 6 // org.graalvm.compiler.graph.Graph$NodeEventScope news
         3: .line 69
            aload 1 /* graph */
            invokestatic org.graalvm.compiler.phases.common.ReassociationPhase.prepareGraphForReassociation:(Lorg/graalvm/compiler/nodes/StructuredGraph;)V
         4: .line 70
            aload 1 /* graph */
            invokestatic org.graalvm.compiler.phases.common.ReassociationPhase.reassociateConstants:(Lorg/graalvm/compiler/nodes/StructuredGraph;)V
         5: .line 71
            aload 1 /* graph */
            invokestatic org.graalvm.compiler.phases.common.ReassociationPhase.reassociateInvariants:(Lorg/graalvm/compiler/nodes/StructuredGraph;)V
         6: .line 72
            aload 6 /* news */
            ifnull 12
            aload 6 /* news */
            invokevirtual org.graalvm.compiler.graph.Graph$NodeEventScope.close:()V
            goto 12
      StackMap locals: org.graalvm.compiler.phases.common.ReassociationPhase org.graalvm.compiler.nodes.StructuredGraph org.graalvm.compiler.nodes.spi.CoreProviders org.graalvm.compiler.phases.common.util.EconomicSetNodeEventListener java.lang.Throwable java.lang.Throwable org.graalvm.compiler.graph.Graph$NodeEventScope
      StackMap stack: java.lang.Throwable
         7: astore 4
            aload 6 /* news */
            ifnull 8
            aload 6 /* news */
            invokevirtual org.graalvm.compiler.graph.Graph$NodeEventScope.close:()V
        end local 6 // org.graalvm.compiler.graph.Graph$NodeEventScope news
      StackMap locals:
      StackMap stack:
         8: aload 4
            athrow
      StackMap locals:
      StackMap stack: java.lang.Throwable
         9: astore 5
            aload 4
            ifnonnull 10
            aload 5
            astore 4
            goto 11
      StackMap locals:
      StackMap stack:
        10: aload 4
            aload 5
            if_acmpeq 11
            aload 4
            aload 5
            invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
      StackMap locals:
      StackMap stack:
        11: aload 4
            athrow
        12: .line 73
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.graalvm.compiler.phases.common.ReassociationPhase.canonicalizer:Lorg/graalvm/compiler/phases/common/CanonicalizerPhase;
            aload 1 /* graph */
            aload 2 /* context */
            aload 3 /* changedNodes */
            invokevirtual org.graalvm.compiler.phases.common.util.EconomicSetNodeEventListener.getNodes:()Lorg/graalvm/collections/EconomicSet;
            invokevirtual org.graalvm.compiler.phases.common.CanonicalizerPhase.applyIncremental:(Lorg/graalvm/compiler/nodes/StructuredGraph;Lorg/graalvm/compiler/nodes/spi/CoreProviders;Ljava/lang/Iterable;)V
        13: .line 74
            return
        end local 3 // org.graalvm.compiler.phases.common.util.EconomicSetNodeEventListener changedNodes
        end local 2 // org.graalvm.compiler.nodes.spi.CoreProviders context
        end local 1 // org.graalvm.compiler.nodes.StructuredGraph graph
        end local 0 // org.graalvm.compiler.phases.common.ReassociationPhase this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0   14     0          this  Lorg/graalvm/compiler/phases/common/ReassociationPhase;
            0   14     1         graph  Lorg/graalvm/compiler/nodes/StructuredGraph;
            0   14     2       context  Lorg/graalvm/compiler/nodes/spi/CoreProviders;
            1   14     3  changedNodes  Lorg/graalvm/compiler/phases/common/util/EconomicSetNodeEventListener;
            3    8     6          news  Lorg/graalvm/compiler/graph/Graph$NodeEventScope;
      Exception table:
        from    to  target  type
           3     6       7  any
           2     9       9  any
    MethodParameters:
         Name  Flags
      graph    
      context  

  private static void reassociateInvariants(org.graalvm.compiler.nodes.StructuredGraph);
    descriptor: (Lorg/graalvm/compiler/nodes/StructuredGraph;)V
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=5, locals=10, args_size=1
        start local 0 // org.graalvm.compiler.nodes.StructuredGraph graph
         0: .line 89
            aload 0 /* graph */
            invokevirtual org.graalvm.compiler.nodes.StructuredGraph.getDebug:()Lorg/graalvm/compiler/debug/DebugContext;
            astore 1 /* debug */
        start local 1 // org.graalvm.compiler.debug.DebugContext debug
         1: .line 90
            new org.graalvm.compiler.loop.LoopsData
            dup
            aload 0 /* graph */
            invokespecial org.graalvm.compiler.loop.LoopsData.<init>:(Lorg/graalvm/compiler/nodes/StructuredGraph;)V
            astore 2 /* loopsData */
        start local 2 // org.graalvm.compiler.loop.LoopsData loopsData
         2: .line 91
            iconst_0
            istore 3 /* iterations */
        start local 3 // int iterations
         3: .line 92
            aconst_null
            astore 4
            aconst_null
            astore 5
         4: aload 1 /* debug */
            ldc "ReassociateInvariants"
            invokevirtual org.graalvm.compiler.debug.DebugContext.scope:(Ljava/lang/Object;)Lorg/graalvm/compiler/debug/DebugContext$Scope;
            astore 6 /* s */
        start local 6 // org.graalvm.compiler.debug.DebugContext$Scope s
         5: .line 93
            iconst_1
            istore 7 /* changed */
        start local 7 // boolean changed
         6: .line 96
            goto 15
         7: .line 97
      StackMap locals: org.graalvm.compiler.nodes.StructuredGraph org.graalvm.compiler.debug.DebugContext org.graalvm.compiler.loop.LoopsData int java.lang.Throwable java.lang.Throwable org.graalvm.compiler.debug.DebugContext$Scope int
      StackMap stack:
            iconst_0
            istore 7 /* changed */
         8: .line 98
            aload 2 /* loopsData */
            invokevirtual org.graalvm.compiler.loop.LoopsData.loops:()Ljava/util/List;
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 9
            goto 11
      StackMap locals: org.graalvm.compiler.nodes.StructuredGraph org.graalvm.compiler.debug.DebugContext org.graalvm.compiler.loop.LoopsData int java.lang.Throwable java.lang.Throwable org.graalvm.compiler.debug.DebugContext$Scope int top java.util.Iterator
      StackMap stack:
         9: aload 9
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.graalvm.compiler.loop.LoopEx
            astore 8 /* loop */
        start local 8 // org.graalvm.compiler.loop.LoopEx loop
        10: .line 99
            iload 7 /* changed */
            aload 8 /* loop */
            invokevirtual org.graalvm.compiler.loop.LoopEx.reassociateInvariants:()Z
            ior
            istore 7 /* changed */
        end local 8 // org.graalvm.compiler.loop.LoopEx loop
        11: .line 98
      StackMap locals:
      StackMap stack:
            aload 9
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 9
        12: .line 101
            aload 2 /* loopsData */
            invokevirtual org.graalvm.compiler.loop.LoopsData.deleteUnusedNodes:()V
        13: .line 102
            iinc 3 /* iterations */ 1
        14: .line 103
            aload 1 /* debug */
            iconst_5
            aload 0 /* graph */
            ldc "Reassociation: after iteration %d"
            iload 3 /* iterations */
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            invokevirtual org.graalvm.compiler.debug.DebugContext.dump:(ILjava/lang/Object;Ljava/lang/String;Ljava/lang/Object;)V
        15: .line 96
      StackMap locals: org.graalvm.compiler.nodes.StructuredGraph org.graalvm.compiler.debug.DebugContext org.graalvm.compiler.loop.LoopsData int java.lang.Throwable java.lang.Throwable org.graalvm.compiler.debug.DebugContext$Scope int
      StackMap stack:
            iload 7 /* changed */
            ifeq 16
            iload 3 /* iterations */
            bipush 32
            if_icmplt 7
        end local 7 // boolean changed
        16: .line 105
      StackMap locals:
      StackMap stack:
            aload 6 /* s */
            ifnull 24
            aload 6 /* s */
            invokeinterface org.graalvm.compiler.debug.DebugContext$Scope.close:()V
            goto 24
      StackMap locals:
      StackMap stack: java.lang.Throwable
        17: astore 4
            aload 6 /* s */
            ifnull 18
            aload 6 /* s */
            invokeinterface org.graalvm.compiler.debug.DebugContext$Scope.close:()V
        end local 6 // org.graalvm.compiler.debug.DebugContext$Scope s
      StackMap locals:
      StackMap stack:
        18: aload 4
            athrow
      StackMap locals:
      StackMap stack: java.lang.Throwable
        19: astore 5
            aload 4
            ifnonnull 20
            aload 5
            astore 4
            goto 21
      StackMap locals:
      StackMap stack:
        20: aload 4
            aload 5
            if_acmpeq 21
            aload 4
            aload 5
            invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
      StackMap locals:
      StackMap stack:
        21: aload 4
            athrow
      StackMap locals: org.graalvm.compiler.nodes.StructuredGraph org.graalvm.compiler.debug.DebugContext org.graalvm.compiler.loop.LoopsData int
      StackMap stack: java.lang.Throwable
        22: astore 4 /* e */
        start local 4 // java.lang.Throwable e
        23: .line 106
            aload 1 /* debug */
            aload 4 /* e */
            invokevirtual org.graalvm.compiler.debug.DebugContext.handle:(Ljava/lang/Throwable;)Ljava/lang/RuntimeException;
            athrow
        end local 4 // java.lang.Throwable e
        24: .line 108
      StackMap locals:
      StackMap stack:
            return
        end local 3 // int iterations
        end local 2 // org.graalvm.compiler.loop.LoopsData loopsData
        end local 1 // org.graalvm.compiler.debug.DebugContext debug
        end local 0 // org.graalvm.compiler.nodes.StructuredGraph graph
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   25     0       graph  Lorg/graalvm/compiler/nodes/StructuredGraph;
            1   25     1       debug  Lorg/graalvm/compiler/debug/DebugContext;
            2   25     2   loopsData  Lorg/graalvm/compiler/loop/LoopsData;
            3   25     3  iterations  I
            5   18     6           s  Lorg/graalvm/compiler/debug/DebugContext$Scope;
            6   16     7     changed  Z
           10   11     8        loop  Lorg/graalvm/compiler/loop/LoopEx;
           23   24     4           e  Ljava/lang/Throwable;
      Exception table:
        from    to  target  type
           5    16      17  any
           4    19      19  any
           3    22      22  Class java.lang.Throwable
    MethodParameters:
       Name  Flags
      graph  

  private static void reassociateConstants(org.graalvm.compiler.nodes.StructuredGraph);
    descriptor: (Lorg/graalvm/compiler/nodes/StructuredGraph;)V
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=5, locals=10, args_size=1
        start local 0 // org.graalvm.compiler.nodes.StructuredGraph graph
         0: .line 120
            new org.graalvm.compiler.loop.LoopsData
            dup
            aload 0 /* graph */
            invokespecial org.graalvm.compiler.loop.LoopsData.<init>:(Lorg/graalvm/compiler/nodes/StructuredGraph;)V
            astore 1 /* loopsData */
        start local 1 // org.graalvm.compiler.loop.LoopsData loopsData
         1: .line 121
            aload 0 /* graph */
            invokevirtual org.graalvm.compiler.nodes.StructuredGraph.createNodeBitMap:()Lorg/graalvm/compiler/graph/NodeBitMap;
            astore 2 /* loopNodes */
        start local 2 // org.graalvm.compiler.graph.NodeBitMap loopNodes
         2: .line 122
            aload 1 /* loopsData */
            invokevirtual org.graalvm.compiler.loop.LoopsData.loops:()Ljava/util/List;
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 4
            goto 5
      StackMap locals: org.graalvm.compiler.nodes.StructuredGraph org.graalvm.compiler.loop.LoopsData org.graalvm.compiler.graph.NodeBitMap top java.util.Iterator
      StackMap stack:
         3: aload 4
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.graalvm.compiler.loop.LoopEx
            astore 3 /* loop */
        start local 3 // org.graalvm.compiler.loop.LoopEx loop
         4: .line 123
            aload 2 /* loopNodes */
            aload 3 /* loop */
            invokevirtual org.graalvm.compiler.loop.LoopEx.whole:()Lorg/graalvm/compiler/loop/LoopFragmentWhole;
            invokevirtual org.graalvm.compiler.loop.LoopFragmentWhole.nodes:()Lorg/graalvm/compiler/graph/NodeBitMap;
            invokevirtual org.graalvm.compiler.graph.NodeBitMap.union:(Lorg/graalvm/compiler/graph/NodeBitMap;)V
        end local 3 // org.graalvm.compiler.loop.LoopEx loop
         5: .line 122
      StackMap locals:
      StackMap stack:
            aload 4
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 3
         6: .line 125
            aload 0 /* graph */
            invokevirtual org.graalvm.compiler.nodes.StructuredGraph.getDebug:()Lorg/graalvm/compiler/debug/DebugContext;
            astore 3 /* debug */
        start local 3 // org.graalvm.compiler.debug.DebugContext debug
         7: .line 126
            aconst_null
            astore 4
            aconst_null
            astore 5
         8: aload 3 /* debug */
            ldc "ReassociateConstants"
            invokevirtual org.graalvm.compiler.debug.DebugContext.scope:(Ljava/lang/Object;)Lorg/graalvm/compiler/debug/DebugContext$Scope;
            astore 6 /* s */
        start local 6 // org.graalvm.compiler.debug.DebugContext$Scope s
         9: .line 127
            aload 0 /* graph */
            invokevirtual org.graalvm.compiler.nodes.StructuredGraph.getNodes:()Lorg/graalvm/compiler/graph/iterators/NodeIterable;
            ldc Lorg/graalvm/compiler/nodes/calc/BinaryArithmeticNode;
            invokeinterface org.graalvm.compiler.graph.iterators.NodeIterable.filter:(Ljava/lang/Class;)Lorg/graalvm/compiler/graph/iterators/NodeIterable;
            invokeinterface org.graalvm.compiler.graph.iterators.NodeIterable.iterator:()Ljava/util/Iterator;
            astore 8
            goto 22
      StackMap locals: org.graalvm.compiler.nodes.StructuredGraph org.graalvm.compiler.loop.LoopsData org.graalvm.compiler.graph.NodeBitMap org.graalvm.compiler.debug.DebugContext java.lang.Throwable java.lang.Throwable org.graalvm.compiler.debug.DebugContext$Scope top java.util.Iterator
      StackMap stack:
        10: aload 8
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.graalvm.compiler.nodes.calc.BinaryArithmeticNode
            astore 7 /* binary */
        start local 7 // org.graalvm.compiler.nodes.calc.BinaryArithmeticNode binary
        11: .line 129
            aload 7 /* binary */
            invokevirtual org.graalvm.compiler.nodes.calc.BinaryArithmeticNode.isAssociative:()Z
            ifeq 22
            aload 2 /* loopNodes */
            aload 7 /* binary */
            invokevirtual org.graalvm.compiler.graph.NodeBitMap.isNew:(Lorg/graalvm/compiler/graph/Node;)Z
            ifne 13
            aload 2 /* loopNodes */
            aload 7 /* binary */
            invokevirtual org.graalvm.compiler.graph.NodeBitMap.contains:(Lorg/graalvm/compiler/graph/Node;)Z
            ifeq 13
        12: .line 130
            goto 22
        13: .line 132
      StackMap locals: org.graalvm.compiler.nodes.StructuredGraph org.graalvm.compiler.loop.LoopsData org.graalvm.compiler.graph.NodeBitMap org.graalvm.compiler.debug.DebugContext java.lang.Throwable java.lang.Throwable org.graalvm.compiler.debug.DebugContext$Scope org.graalvm.compiler.nodes.calc.BinaryArithmeticNode java.util.Iterator
      StackMap stack:
            aload 7 /* binary */
            invokestatic org.graalvm.compiler.nodes.ValueNode.isConstantPredicate:()Lorg/graalvm/compiler/graph/iterators/NodePredicate;
            getstatic org.graalvm.compiler.nodes.NodeView.DEFAULT:Lorg/graalvm/compiler/nodes/NodeView;
            invokestatic org.graalvm.compiler.nodes.calc.BinaryArithmeticNode.reassociateUnmatchedValues:(Lorg/graalvm/compiler/nodes/calc/BinaryArithmeticNode;Lorg/graalvm/compiler/graph/iterators/NodePredicate;Lorg/graalvm/compiler/nodes/NodeView;)Lorg/graalvm/compiler/nodes/ValueNode;
            astore 9 /* result */
        start local 9 // org.graalvm.compiler.nodes.ValueNode result
        14: .line 133
            aload 9 /* result */
            aload 7 /* binary */
            if_acmpeq 22
        15: .line 134
            aload 9 /* result */
            invokevirtual org.graalvm.compiler.nodes.ValueNode.isAlive:()Z
            ifne 18
        16: .line 135
            getstatic org.graalvm.compiler.phases.common.ReassociationPhase.$assertionsDisabled:Z
            ifne 17
            aload 9 /* result */
            invokevirtual org.graalvm.compiler.nodes.ValueNode.isDeleted:()Z
            ifeq 17
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
        17: .line 136
      StackMap locals: org.graalvm.compiler.nodes.ValueNode
      StackMap stack:
            aload 0 /* graph */
            aload 9 /* result */
            invokevirtual org.graalvm.compiler.nodes.StructuredGraph.addOrUniqueWithInputs:(Lorg/graalvm/compiler/graph/Node;)Lorg/graalvm/compiler/graph/Node;
            checkcast org.graalvm.compiler.nodes.ValueNode
            astore 9 /* result */
        18: .line 138
      StackMap locals:
      StackMap stack:
            aload 3 /* debug */
            invokevirtual org.graalvm.compiler.debug.DebugContext.isLogEnabled:()Z
            ifeq 20
        19: .line 139
            aload 3 /* debug */
            ldc "%s : Re-associated %s into %s"
            aload 0 /* graph */
            invokevirtual org.graalvm.compiler.nodes.StructuredGraph.method:()Ljdk/vm/ci/meta/ResolvedJavaMethod;
            ldc "%H::%n"
            invokeinterface jdk.vm.ci.meta.ResolvedJavaMethod.format:(Ljava/lang/String;)Ljava/lang/String;
            aload 7 /* binary */
            aload 9 /* result */
            invokevirtual org.graalvm.compiler.debug.DebugContext.log:(Ljava/lang/String;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)V
        20: .line 141
      StackMap locals:
      StackMap stack:
            aload 7 /* binary */
            aload 9 /* result */
            invokevirtual org.graalvm.compiler.nodes.calc.BinaryArithmeticNode.replaceAtUsages:(Lorg/graalvm/compiler/graph/Node;)V
        21: .line 142
            aload 7 /* binary */
            invokestatic org.graalvm.compiler.nodes.util.GraphUtil.killWithUnusedFloatingInputs:(Lorg/graalvm/compiler/graph/Node;)V
        end local 9 // org.graalvm.compiler.nodes.ValueNode result
        end local 7 // org.graalvm.compiler.nodes.calc.BinaryArithmeticNode binary
        22: .line 127
      StackMap locals: org.graalvm.compiler.nodes.StructuredGraph org.graalvm.compiler.loop.LoopsData org.graalvm.compiler.graph.NodeBitMap org.graalvm.compiler.debug.DebugContext java.lang.Throwable java.lang.Throwable org.graalvm.compiler.debug.DebugContext$Scope top java.util.Iterator
      StackMap stack:
            aload 8
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 10
        23: .line 145
            aload 6 /* s */
            ifnull 31
            aload 6 /* s */
            invokeinterface org.graalvm.compiler.debug.DebugContext$Scope.close:()V
            goto 31
      StackMap locals: org.graalvm.compiler.nodes.StructuredGraph org.graalvm.compiler.loop.LoopsData org.graalvm.compiler.graph.NodeBitMap org.graalvm.compiler.debug.DebugContext java.lang.Throwable java.lang.Throwable org.graalvm.compiler.debug.DebugContext$Scope
      StackMap stack: java.lang.Throwable
        24: astore 4
            aload 6 /* s */
            ifnull 25
            aload 6 /* s */
            invokeinterface org.graalvm.compiler.debug.DebugContext$Scope.close:()V
        end local 6 // org.graalvm.compiler.debug.DebugContext$Scope s
      StackMap locals:
      StackMap stack:
        25: aload 4
            athrow
      StackMap locals:
      StackMap stack: java.lang.Throwable
        26: astore 5
            aload 4
            ifnonnull 27
            aload 5
            astore 4
            goto 28
      StackMap locals:
      StackMap stack:
        27: aload 4
            aload 5
            if_acmpeq 28
            aload 4
            aload 5
            invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
      StackMap locals:
      StackMap stack:
        28: aload 4
            athrow
      StackMap locals: org.graalvm.compiler.nodes.StructuredGraph org.graalvm.compiler.loop.LoopsData org.graalvm.compiler.graph.NodeBitMap org.graalvm.compiler.debug.DebugContext
      StackMap stack: java.lang.Throwable
        29: astore 4 /* e */
        start local 4 // java.lang.Throwable e
        30: .line 146
            aload 3 /* debug */
            aload 4 /* e */
            invokevirtual org.graalvm.compiler.debug.DebugContext.handle:(Ljava/lang/Throwable;)Ljava/lang/RuntimeException;
            athrow
        end local 4 // java.lang.Throwable e
        31: .line 149
      StackMap locals:
      StackMap stack:
            return
        end local 3 // org.graalvm.compiler.debug.DebugContext debug
        end local 2 // org.graalvm.compiler.graph.NodeBitMap loopNodes
        end local 1 // org.graalvm.compiler.loop.LoopsData loopsData
        end local 0 // org.graalvm.compiler.nodes.StructuredGraph graph
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   32     0      graph  Lorg/graalvm/compiler/nodes/StructuredGraph;
            1   32     1  loopsData  Lorg/graalvm/compiler/loop/LoopsData;
            2   32     2  loopNodes  Lorg/graalvm/compiler/graph/NodeBitMap;
            4    5     3       loop  Lorg/graalvm/compiler/loop/LoopEx;
            7   32     3      debug  Lorg/graalvm/compiler/debug/DebugContext;
            9   25     6          s  Lorg/graalvm/compiler/debug/DebugContext$Scope;
           11   22     7     binary  Lorg/graalvm/compiler/nodes/calc/BinaryArithmeticNode<*>;
           14   22     9     result  Lorg/graalvm/compiler/nodes/ValueNode;
           30   31     4          e  Ljava/lang/Throwable;
      Exception table:
        from    to  target  type
           9    23      24  any
           8    26      26  any
           7    29      29  Class java.lang.Throwable
    MethodParameters:
       Name  Flags
      graph  

  private static void prepareGraphForReassociation(org.graalvm.compiler.nodes.StructuredGraph);
    descriptor: (Lorg/graalvm/compiler/nodes/StructuredGraph;)V
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=9, locals=11, args_size=1
        start local 0 // org.graalvm.compiler.nodes.StructuredGraph graph
         0: .line 159
            aload 0 /* graph */
            invokevirtual org.graalvm.compiler.nodes.StructuredGraph.getDebug:()Lorg/graalvm/compiler/debug/DebugContext;
            astore 1 /* debug */
        start local 1 // org.graalvm.compiler.debug.DebugContext debug
         1: .line 160
            new org.graalvm.compiler.phases.common.util.EconomicSetNodeEventListener
            dup
            getstatic org.graalvm.compiler.graph.Graph$NodeEvent.NODE_ADDED:Lorg/graalvm/compiler/graph/Graph$NodeEvent;
            invokestatic java.util.EnumSet.of:(Ljava/lang/Enum;)Ljava/util/EnumSet;
            invokespecial org.graalvm.compiler.phases.common.util.EconomicSetNodeEventListener.<init>:(Ljava/util/Set;)V
            astore 2 /* nev */
        start local 2 // org.graalvm.compiler.phases.common.util.EconomicSetNodeEventListener nev
         2: .line 161
            aconst_null
            astore 3
            aconst_null
            astore 4
         3: aload 0 /* graph */
            aload 2 /* nev */
            invokevirtual org.graalvm.compiler.nodes.StructuredGraph.trackNodeEvents:(Lorg/graalvm/compiler/graph/Graph$NodeEventListener;)Lorg/graalvm/compiler/graph/Graph$NodeEventScope;
            astore 5 /* news */
        start local 5 // org.graalvm.compiler.graph.Graph$NodeEventScope news
         4: .line 162
            aload 0 /* graph */
            invokevirtual org.graalvm.compiler.nodes.StructuredGraph.getNodes:()Lorg/graalvm/compiler/graph/iterators/NodeIterable;
            ldc Lorg/graalvm/compiler/nodes/calc/LeftShiftNode;
            invokeinterface org.graalvm.compiler.graph.iterators.NodeIterable.filter:(Ljava/lang/Class;)Lorg/graalvm/compiler/graph/iterators/NodeIterable;
            invokeinterface org.graalvm.compiler.graph.iterators.NodeIterable.iterator:()Ljava/util/Iterator;
            astore 7
            goto 7
      StackMap locals: org.graalvm.compiler.nodes.StructuredGraph org.graalvm.compiler.debug.DebugContext org.graalvm.compiler.phases.common.util.EconomicSetNodeEventListener java.lang.Throwable java.lang.Throwable org.graalvm.compiler.graph.Graph$NodeEventScope top java.util.Iterator
      StackMap stack:
         5: aload 7
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.graalvm.compiler.nodes.calc.LeftShiftNode
            astore 6 /* l */
        start local 6 // org.graalvm.compiler.nodes.calc.LeftShiftNode l
         6: .line 163
            aload 6 /* l */
            invokevirtual org.graalvm.compiler.nodes.calc.LeftShiftNode.tryReplaceWithMulNode:()V
        end local 6 // org.graalvm.compiler.nodes.calc.LeftShiftNode l
         7: .line 162
      StackMap locals:
      StackMap stack:
            aload 7
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 5
         8: .line 165
            aload 5 /* news */
            ifnull 14
            aload 5 /* news */
            invokevirtual org.graalvm.compiler.graph.Graph$NodeEventScope.close:()V
            goto 14
      StackMap locals: org.graalvm.compiler.nodes.StructuredGraph org.graalvm.compiler.debug.DebugContext org.graalvm.compiler.phases.common.util.EconomicSetNodeEventListener java.lang.Throwable java.lang.Throwable org.graalvm.compiler.graph.Graph$NodeEventScope
      StackMap stack: java.lang.Throwable
         9: astore 3
            aload 5 /* news */
            ifnull 10
            aload 5 /* news */
            invokevirtual org.graalvm.compiler.graph.Graph$NodeEventScope.close:()V
        end local 5 // org.graalvm.compiler.graph.Graph$NodeEventScope news
      StackMap locals:
      StackMap stack:
        10: aload 3
            athrow
      StackMap locals:
      StackMap stack: java.lang.Throwable
        11: astore 4
            aload 3
            ifnonnull 12
            aload 4
            astore 3
            goto 13
      StackMap locals:
      StackMap stack:
        12: aload 3
            aload 4
            if_acmpeq 13
            aload 3
            aload 4
            invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
      StackMap locals:
      StackMap stack:
        13: aload 3
            athrow
        14: .line 166
      StackMap locals:
      StackMap stack:
            aload 1 /* debug */
            iconst_5
            aload 0 /* graph */
            ldc "Reassociation: after creating mul nodes from shifts"
            invokevirtual org.graalvm.compiler.debug.DebugContext.dump:(ILjava/lang/Object;Ljava/lang/String;)V
        15: .line 167
            aload 2 /* nev */
            invokevirtual org.graalvm.compiler.phases.common.util.EconomicSetNodeEventListener.getNodes:()Lorg/graalvm/collections/EconomicSet;
            invokeinterface org.graalvm.collections.EconomicSet.iterator:()Ljava/util/Iterator;
            astore 4
            goto 35
      StackMap locals: org.graalvm.compiler.nodes.StructuredGraph org.graalvm.compiler.debug.DebugContext org.graalvm.compiler.phases.common.util.EconomicSetNodeEventListener top java.util.Iterator
      StackMap stack:
        16: aload 4
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.graalvm.compiler.graph.Node
            astore 3 /* newNode */
        start local 3 // org.graalvm.compiler.graph.Node newNode
        17: .line 168
            aload 3 /* newNode */
            instanceof org.graalvm.compiler.nodes.calc.MulNode
            ifeq 35
        18: .line 169
            getstatic org.graalvm.compiler.phases.common.ReassociationPhase.$assertionsDisabled:Z
            ifne 19
            aload 3 /* newNode */
            checkcast org.graalvm.compiler.nodes.calc.MulNode
            invokevirtual org.graalvm.compiler.nodes.calc.MulNode.getY:()Lorg/graalvm/compiler/nodes/ValueNode;
            invokevirtual org.graalvm.compiler.nodes.ValueNode.isConstant:()Z
            ifne 19
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
        19: .line 170
      StackMap locals: org.graalvm.compiler.nodes.StructuredGraph org.graalvm.compiler.debug.DebugContext org.graalvm.compiler.phases.common.util.EconomicSetNodeEventListener org.graalvm.compiler.graph.Node java.util.Iterator
      StackMap stack:
            aload 3 /* newNode */
            checkcast org.graalvm.compiler.nodes.calc.MulNode
            astore 5 /* mul */
        start local 5 // org.graalvm.compiler.nodes.calc.MulNode mul
        20: .line 171
            aload 3 /* newNode */
            invokevirtual org.graalvm.compiler.graph.Node.usages:()Lorg/graalvm/compiler/graph/iterators/NodeIterable;
            invokeinterface org.graalvm.compiler.graph.iterators.NodeIterable.iterator:()Ljava/util/Iterator;
            astore 7
            goto 34
      StackMap locals: org.graalvm.compiler.nodes.StructuredGraph org.graalvm.compiler.debug.DebugContext org.graalvm.compiler.phases.common.util.EconomicSetNodeEventListener org.graalvm.compiler.graph.Node java.util.Iterator org.graalvm.compiler.nodes.calc.MulNode top java.util.Iterator
      StackMap stack:
        21: aload 7
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.graalvm.compiler.graph.Node
            astore 6 /* usage */
        start local 6 // org.graalvm.compiler.graph.Node usage
        22: .line 172
            aload 6 /* usage */
            instanceof org.graalvm.compiler.nodes.calc.AddNode
            ifeq 29
        23: .line 173
            aload 6 /* usage */
            checkcast org.graalvm.compiler.nodes.calc.BinaryArithmeticNode
            invokevirtual org.graalvm.compiler.nodes.calc.BinaryArithmeticNode.getX:()Lorg/graalvm/compiler/nodes/ValueNode;
            aload 5 /* mul */
            invokevirtual org.graalvm.compiler.nodes.calc.MulNode.getX:()Lorg/graalvm/compiler/nodes/ValueNode;
            if_acmpne 24
            aload 6 /* usage */
            checkcast org.graalvm.compiler.nodes.calc.BinaryArithmeticNode
            invokevirtual org.graalvm.compiler.nodes.calc.BinaryArithmeticNode.getY:()Lorg/graalvm/compiler/nodes/ValueNode;
            aload 5 /* mul */
            if_acmpeq 25
        24: .line 174
      StackMap locals: org.graalvm.compiler.nodes.StructuredGraph org.graalvm.compiler.debug.DebugContext org.graalvm.compiler.phases.common.util.EconomicSetNodeEventListener org.graalvm.compiler.graph.Node java.util.Iterator org.graalvm.compiler.nodes.calc.MulNode org.graalvm.compiler.graph.Node java.util.Iterator
      StackMap stack:
            aload 6 /* usage */
            checkcast org.graalvm.compiler.nodes.calc.BinaryArithmeticNode
            invokevirtual org.graalvm.compiler.nodes.calc.BinaryArithmeticNode.getY:()Lorg/graalvm/compiler/nodes/ValueNode;
            aload 5 /* mul */
            invokevirtual org.graalvm.compiler.nodes.calc.MulNode.getX:()Lorg/graalvm/compiler/nodes/ValueNode;
            if_acmpne 34
            aload 6 /* usage */
            checkcast org.graalvm.compiler.nodes.calc.BinaryArithmeticNode
            invokevirtual org.graalvm.compiler.nodes.calc.BinaryArithmeticNode.getX:()Lorg/graalvm/compiler/nodes/ValueNode;
            aload 5 /* mul */
            if_acmpne 34
        25: .line 175
      StackMap locals:
      StackMap stack:
            aload 5 /* mul */
            invokevirtual org.graalvm.compiler.nodes.calc.MulNode.getY:()Lorg/graalvm/compiler/nodes/ValueNode;
            invokevirtual org.graalvm.compiler.nodes.ValueNode.asConstant:()Ljdk/vm/ci/meta/Constant;
            checkcast jdk.vm.ci.meta.PrimitiveConstant
            invokevirtual jdk.vm.ci.meta.PrimitiveConstant.asLong:()J
            lstore 8 /* i */
        start local 8 // long i
        26: .line 176
            aload 0 /* graph */
            new org.graalvm.compiler.nodes.calc.MulNode
            dup
            aload 5 /* mul */
            invokevirtual org.graalvm.compiler.nodes.calc.MulNode.getX:()Lorg/graalvm/compiler/nodes/ValueNode;
            aload 5 /* mul */
            invokevirtual org.graalvm.compiler.nodes.calc.MulNode.getY:()Lorg/graalvm/compiler/nodes/ValueNode;
            getstatic org.graalvm.compiler.nodes.NodeView.DEFAULT:Lorg/graalvm/compiler/nodes/NodeView;
            invokevirtual org.graalvm.compiler.nodes.ValueNode.stamp:(Lorg/graalvm/compiler/nodes/NodeView;)Lorg/graalvm/compiler/core/common/type/Stamp;
            lload 8 /* i */
            lconst_1
            ladd
            aload 0 /* graph */
            invokestatic org.graalvm.compiler.nodes.ConstantNode.forIntegerStamp:(Lorg/graalvm/compiler/core/common/type/Stamp;JLorg/graalvm/compiler/nodes/StructuredGraph;)Lorg/graalvm/compiler/nodes/ConstantNode;
            invokespecial org.graalvm.compiler.nodes.calc.MulNode.<init>:(Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/nodes/ValueNode;)V
            invokevirtual org.graalvm.compiler.nodes.StructuredGraph.addOrUnique:(Lorg/graalvm/compiler/graph/Node;)Lorg/graalvm/compiler/graph/Node;
            checkcast org.graalvm.compiler.nodes.calc.MulNode
            astore 10 /* newMul */
        start local 10 // org.graalvm.compiler.nodes.calc.MulNode newMul
        27: .line 177
            aload 6 /* usage */
            aload 10 /* newMul */
            invokevirtual org.graalvm.compiler.graph.Node.replaceAtUsages:(Lorg/graalvm/compiler/graph/Node;)V
        end local 10 // org.graalvm.compiler.nodes.calc.MulNode newMul
        end local 8 // long i
        28: .line 179
            goto 34
      StackMap locals:
      StackMap stack:
        29: aload 6 /* usage */
            instanceof org.graalvm.compiler.nodes.calc.SubNode
            ifeq 34
        30: .line 180
            aload 6 /* usage */
            checkcast org.graalvm.compiler.nodes.calc.BinaryArithmeticNode
            invokevirtual org.graalvm.compiler.nodes.calc.BinaryArithmeticNode.getX:()Lorg/graalvm/compiler/nodes/ValueNode;
            aload 5 /* mul */
            if_acmpne 34
            aload 6 /* usage */
            checkcast org.graalvm.compiler.nodes.calc.BinaryArithmeticNode
            invokevirtual org.graalvm.compiler.nodes.calc.BinaryArithmeticNode.getY:()Lorg/graalvm/compiler/nodes/ValueNode;
            aload 5 /* mul */
            invokevirtual org.graalvm.compiler.nodes.calc.MulNode.getX:()Lorg/graalvm/compiler/nodes/ValueNode;
            if_acmpne 34
        31: .line 181
            aload 5 /* mul */
            invokevirtual org.graalvm.compiler.nodes.calc.MulNode.getY:()Lorg/graalvm/compiler/nodes/ValueNode;
            invokevirtual org.graalvm.compiler.nodes.ValueNode.asConstant:()Ljdk/vm/ci/meta/Constant;
            checkcast jdk.vm.ci.meta.PrimitiveConstant
            invokevirtual jdk.vm.ci.meta.PrimitiveConstant.asLong:()J
            lstore 8 /* i */
        start local 8 // long i
        32: .line 182
            aload 0 /* graph */
            new org.graalvm.compiler.nodes.calc.MulNode
            dup
            aload 5 /* mul */
            invokevirtual org.graalvm.compiler.nodes.calc.MulNode.getX:()Lorg/graalvm/compiler/nodes/ValueNode;
            aload 5 /* mul */
            invokevirtual org.graalvm.compiler.nodes.calc.MulNode.getY:()Lorg/graalvm/compiler/nodes/ValueNode;
            getstatic org.graalvm.compiler.nodes.NodeView.DEFAULT:Lorg/graalvm/compiler/nodes/NodeView;
            invokevirtual org.graalvm.compiler.nodes.ValueNode.stamp:(Lorg/graalvm/compiler/nodes/NodeView;)Lorg/graalvm/compiler/core/common/type/Stamp;
            lload 8 /* i */
            lconst_1
            lsub
            aload 0 /* graph */
            invokestatic org.graalvm.compiler.nodes.ConstantNode.forIntegerStamp:(Lorg/graalvm/compiler/core/common/type/Stamp;JLorg/graalvm/compiler/nodes/StructuredGraph;)Lorg/graalvm/compiler/nodes/ConstantNode;
            invokespecial org.graalvm.compiler.nodes.calc.MulNode.<init>:(Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/nodes/ValueNode;)V
            invokevirtual org.graalvm.compiler.nodes.StructuredGraph.addOrUnique:(Lorg/graalvm/compiler/graph/Node;)Lorg/graalvm/compiler/graph/Node;
            checkcast org.graalvm.compiler.nodes.calc.MulNode
            astore 10 /* newMul */
        start local 10 // org.graalvm.compiler.nodes.calc.MulNode newMul
        33: .line 183
            aload 6 /* usage */
            aload 10 /* newMul */
            invokevirtual org.graalvm.compiler.graph.Node.replaceAtUsages:(Lorg/graalvm/compiler/graph/Node;)V
        end local 10 // org.graalvm.compiler.nodes.calc.MulNode newMul
        end local 8 // long i
        end local 6 // org.graalvm.compiler.graph.Node usage
        34: .line 171
      StackMap locals: org.graalvm.compiler.nodes.StructuredGraph org.graalvm.compiler.debug.DebugContext org.graalvm.compiler.phases.common.util.EconomicSetNodeEventListener org.graalvm.compiler.graph.Node java.util.Iterator org.graalvm.compiler.nodes.calc.MulNode top java.util.Iterator
      StackMap stack:
            aload 7
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 21
        end local 5 // org.graalvm.compiler.nodes.calc.MulNode mul
        end local 3 // org.graalvm.compiler.graph.Node newNode
        35: .line 167
      StackMap locals: org.graalvm.compiler.nodes.StructuredGraph org.graalvm.compiler.debug.DebugContext org.graalvm.compiler.phases.common.util.EconomicSetNodeEventListener top java.util.Iterator
      StackMap stack:
            aload 4
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 16
        36: .line 189
            aload 1 /* debug */
            iconst_5
            aload 0 /* graph */
            ldc "Reassociation: after creating mul from add/sub"
            invokevirtual org.graalvm.compiler.debug.DebugContext.dump:(ILjava/lang/Object;Ljava/lang/String;)V
        37: .line 190
            return
        end local 2 // org.graalvm.compiler.phases.common.util.EconomicSetNodeEventListener nev
        end local 1 // org.graalvm.compiler.debug.DebugContext debug
        end local 0 // org.graalvm.compiler.nodes.StructuredGraph graph
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   38     0    graph  Lorg/graalvm/compiler/nodes/StructuredGraph;
            1   38     1    debug  Lorg/graalvm/compiler/debug/DebugContext;
            2   38     2      nev  Lorg/graalvm/compiler/phases/common/util/EconomicSetNodeEventListener;
            4   10     5     news  Lorg/graalvm/compiler/graph/Graph$NodeEventScope;
            6    7     6        l  Lorg/graalvm/compiler/nodes/calc/LeftShiftNode;
           17   35     3  newNode  Lorg/graalvm/compiler/graph/Node;
           20   35     5      mul  Lorg/graalvm/compiler/nodes/calc/MulNode;
           22   34     6    usage  Lorg/graalvm/compiler/graph/Node;
           26   28     8        i  J
           27   28    10   newMul  Lorg/graalvm/compiler/nodes/calc/MulNode;
           32   34     8        i  J
           33   34    10   newMul  Lorg/graalvm/compiler/nodes/calc/MulNode;
      Exception table:
        from    to  target  type
           4     8       9  any
           3    11      11  any
    MethodParameters:
       Name  Flags
      graph  

  public float codeSizeIncrease();
    descriptor: ()F
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.graalvm.compiler.phases.common.ReassociationPhase this
         0: .line 194
            fconst_2
            freturn
        end local 0 // org.graalvm.compiler.phases.common.ReassociationPhase this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/graalvm/compiler/phases/common/ReassociationPhase;

  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.nodes.spi.CoreProviders
            invokevirtual org.graalvm.compiler.phases.common.ReassociationPhase.run:(Lorg/graalvm/compiler/nodes/StructuredGraph;Lorg/graalvm/compiler/nodes/spi/CoreProviders;)V
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature
}
Signature: Lorg/graalvm/compiler/phases/BasePhase<Lorg/graalvm/compiler/nodes/spi/CoreProviders;>;
SourceFile: "ReassociationPhase.java"
InnerClasses:
  public abstract Scope = org.graalvm.compiler.debug.DebugContext$Scope of org.graalvm.compiler.debug.DebugContext
  public final NodeEvent = org.graalvm.compiler.graph.Graph$NodeEvent of org.graalvm.compiler.graph.Graph
  public abstract NodeEventListener = org.graalvm.compiler.graph.Graph$NodeEventListener of org.graalvm.compiler.graph.Graph
  public final NodeEventScope = org.graalvm.compiler.graph.Graph$NodeEventScope of org.graalvm.compiler.graph.Graph