public class org.graalvm.compiler.phases.common.CanonicalizerPhase 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.phases.common.CanonicalizerPhase
  super_class: org.graalvm.compiler.phases.BasePhase
{
  private static final int MAX_ITERATION_PER_NODE;
    descriptor: I
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: 10

  private static final org.graalvm.compiler.debug.CounterKey COUNTER_CANONICALIZED_NODES;
    descriptor: Lorg/graalvm/compiler/debug/CounterKey;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private static final org.graalvm.compiler.debug.CounterKey COUNTER_PROCESSED_NODES;
    descriptor: Lorg/graalvm/compiler/debug/CounterKey;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private static final org.graalvm.compiler.debug.CounterKey COUNTER_CANONICALIZATION_CONSIDERED_NODES;
    descriptor: Lorg/graalvm/compiler/debug/CounterKey;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private static final org.graalvm.compiler.debug.CounterKey COUNTER_INFER_STAMP_CALLED;
    descriptor: Lorg/graalvm/compiler/debug/CounterKey;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private static final org.graalvm.compiler.debug.CounterKey COUNTER_STAMP_CHANGED;
    descriptor: Lorg/graalvm/compiler/debug/CounterKey;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private static final org.graalvm.compiler.debug.CounterKey COUNTER_SIMPLIFICATION_CONSIDERED_NODES;
    descriptor: Lorg/graalvm/compiler/debug/CounterKey;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private static final org.graalvm.compiler.debug.CounterKey COUNTER_GLOBAL_VALUE_NUMBERING_HITS;
    descriptor: Lorg/graalvm/compiler/debug/CounterKey;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private boolean globalValueNumber;
    descriptor: Z
    flags: (0x0002) ACC_PRIVATE

  private boolean canonicalizeReads;
    descriptor: Z
    flags: (0x0002) ACC_PRIVATE

  private boolean simplify;
    descriptor: Z
    flags: (0x0002) ACC_PRIVATE

  private final org.graalvm.compiler.phases.common.CanonicalizerPhase$CustomCanonicalizer customCanonicalizer;
    descriptor: Lorg/graalvm/compiler/phases/common/CanonicalizerPhase$CustomCanonicalizer;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=1, locals=0, args_size=0
         0: .line 69
            ldc "CanonicalizedNodes"
            invokestatic org.graalvm.compiler.debug.DebugContext.counter:(Ljava/lang/CharSequence;)Lorg/graalvm/compiler/debug/CounterKey;
            putstatic org.graalvm.compiler.phases.common.CanonicalizerPhase.COUNTER_CANONICALIZED_NODES:Lorg/graalvm/compiler/debug/CounterKey;
         1: .line 70
            ldc "ProcessedNodes"
            invokestatic org.graalvm.compiler.debug.DebugContext.counter:(Ljava/lang/CharSequence;)Lorg/graalvm/compiler/debug/CounterKey;
            putstatic org.graalvm.compiler.phases.common.CanonicalizerPhase.COUNTER_PROCESSED_NODES:Lorg/graalvm/compiler/debug/CounterKey;
         2: .line 71
            ldc "CanonicalizationConsideredNodes"
            invokestatic org.graalvm.compiler.debug.DebugContext.counter:(Ljava/lang/CharSequence;)Lorg/graalvm/compiler/debug/CounterKey;
            putstatic org.graalvm.compiler.phases.common.CanonicalizerPhase.COUNTER_CANONICALIZATION_CONSIDERED_NODES:Lorg/graalvm/compiler/debug/CounterKey;
         3: .line 72
            ldc "InferStampCalled"
            invokestatic org.graalvm.compiler.debug.DebugContext.counter:(Ljava/lang/CharSequence;)Lorg/graalvm/compiler/debug/CounterKey;
            putstatic org.graalvm.compiler.phases.common.CanonicalizerPhase.COUNTER_INFER_STAMP_CALLED:Lorg/graalvm/compiler/debug/CounterKey;
         4: .line 73
            ldc "StampChanged"
            invokestatic org.graalvm.compiler.debug.DebugContext.counter:(Ljava/lang/CharSequence;)Lorg/graalvm/compiler/debug/CounterKey;
            putstatic org.graalvm.compiler.phases.common.CanonicalizerPhase.COUNTER_STAMP_CHANGED:Lorg/graalvm/compiler/debug/CounterKey;
         5: .line 74
            ldc "SimplificationConsideredNodes"
            invokestatic org.graalvm.compiler.debug.DebugContext.counter:(Ljava/lang/CharSequence;)Lorg/graalvm/compiler/debug/CounterKey;
            putstatic org.graalvm.compiler.phases.common.CanonicalizerPhase.COUNTER_SIMPLIFICATION_CONSIDERED_NODES:Lorg/graalvm/compiler/debug/CounterKey;
         6: .line 75
            ldc "GlobalValueNumberingHits"
            invokestatic org.graalvm.compiler.debug.DebugContext.counter:(Ljava/lang/CharSequence;)Lorg/graalvm/compiler/debug/CounterKey;
            putstatic org.graalvm.compiler.phases.common.CanonicalizerPhase.COUNTER_GLOBAL_VALUE_NUMBERING_HITS:Lorg/graalvm/compiler/debug/CounterKey;
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public void <init>();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.graalvm.compiler.phases.common.CanonicalizerPhase this
         0: .line 94
            aload 0 /* this */
            aconst_null
            invokespecial org.graalvm.compiler.phases.common.CanonicalizerPhase.<init>:(Lorg/graalvm/compiler/phases/common/CanonicalizerPhase$CustomCanonicalizer;)V
         1: .line 95
            return
        end local 0 // org.graalvm.compiler.phases.common.CanonicalizerPhase this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/graalvm/compiler/phases/common/CanonicalizerPhase;

  public void <init>(org.graalvm.compiler.phases.common.CanonicalizerPhase$CustomCanonicalizer);
    descriptor: (Lorg/graalvm/compiler/phases/common/CanonicalizerPhase$CustomCanonicalizer;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.graalvm.compiler.phases.common.CanonicalizerPhase this
        start local 1 // org.graalvm.compiler.phases.common.CanonicalizerPhase$CustomCanonicalizer customCanonicalizer
         0: .line 97
            aload 0 /* this */
            invokespecial org.graalvm.compiler.phases.BasePhase.<init>:()V
         1: .line 77
            aload 0 /* this */
            iconst_1
            putfield org.graalvm.compiler.phases.common.CanonicalizerPhase.globalValueNumber:Z
         2: .line 78
            aload 0 /* this */
            iconst_1
            putfield org.graalvm.compiler.phases.common.CanonicalizerPhase.canonicalizeReads:Z
         3: .line 79
            aload 0 /* this */
            iconst_1
            putfield org.graalvm.compiler.phases.common.CanonicalizerPhase.simplify:Z
         4: .line 98
            aload 0 /* this */
            aload 1 /* customCanonicalizer */
            putfield org.graalvm.compiler.phases.common.CanonicalizerPhase.customCanonicalizer:Lorg/graalvm/compiler/phases/common/CanonicalizerPhase$CustomCanonicalizer;
         5: .line 99
            return
        end local 1 // org.graalvm.compiler.phases.common.CanonicalizerPhase$CustomCanonicalizer customCanonicalizer
        end local 0 // org.graalvm.compiler.phases.common.CanonicalizerPhase this
      LocalVariableTable:
        Start  End  Slot                 Name  Signature
            0    6     0                 this  Lorg/graalvm/compiler/phases/common/CanonicalizerPhase;
            0    6     1  customCanonicalizer  Lorg/graalvm/compiler/phases/common/CanonicalizerPhase$CustomCanonicalizer;
    MethodParameters:
                     Name  Flags
      customCanonicalizer  

  public void disableGVN();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.graalvm.compiler.phases.common.CanonicalizerPhase this
         0: .line 102
            aload 0 /* this */
            iconst_0
            putfield org.graalvm.compiler.phases.common.CanonicalizerPhase.globalValueNumber:Z
         1: .line 103
            return
        end local 0 // org.graalvm.compiler.phases.common.CanonicalizerPhase this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/graalvm/compiler/phases/common/CanonicalizerPhase;

  public void disableReadCanonicalization();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.graalvm.compiler.phases.common.CanonicalizerPhase this
         0: .line 106
            aload 0 /* this */
            iconst_0
            putfield org.graalvm.compiler.phases.common.CanonicalizerPhase.canonicalizeReads:Z
         1: .line 107
            return
        end local 0 // org.graalvm.compiler.phases.common.CanonicalizerPhase this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/graalvm/compiler/phases/common/CanonicalizerPhase;

  public void disableSimplification();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.graalvm.compiler.phases.common.CanonicalizerPhase this
         0: .line 110
            aload 0 /* this */
            iconst_0
            putfield org.graalvm.compiler.phases.common.CanonicalizerPhase.simplify:Z
         1: .line 111
            return
        end local 0 // org.graalvm.compiler.phases.common.CanonicalizerPhase this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/graalvm/compiler/phases/common/CanonicalizerPhase;

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

  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=4, locals=3, args_size=3
        start local 0 // org.graalvm.compiler.phases.common.CanonicalizerPhase this
        start local 1 // org.graalvm.compiler.nodes.StructuredGraph graph
        start local 2 // org.graalvm.compiler.phases.tiers.PhaseContext context
         0: .line 125
            new org.graalvm.compiler.phases.common.CanonicalizerPhase$Instance
            dup
            aload 0 /* this */
            aload 2 /* context */
            invokespecial org.graalvm.compiler.phases.common.CanonicalizerPhase$Instance.<init>:(Lorg/graalvm/compiler/phases/common/CanonicalizerPhase;Lorg/graalvm/compiler/phases/tiers/PhaseContext;)V
            aload 1 /* graph */
            invokevirtual org.graalvm.compiler.phases.common.CanonicalizerPhase$Instance.run:(Lorg/graalvm/compiler/nodes/StructuredGraph;)V
         1: .line 126
            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.phases.common.CanonicalizerPhase this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    2     0     this  Lorg/graalvm/compiler/phases/common/CanonicalizerPhase;
            0    2     1    graph  Lorg/graalvm/compiler/nodes/StructuredGraph;
            0    2     2  context  Lorg/graalvm/compiler/phases/tiers/PhaseContext;
    MethodParameters:
         Name  Flags
      graph    
      context  

  public void applyIncremental(org.graalvm.compiler.nodes.StructuredGraph, org.graalvm.compiler.phases.tiers.PhaseContext, org.graalvm.compiler.graph.Graph$Mark);
    descriptor: (Lorg/graalvm/compiler/nodes/StructuredGraph;Lorg/graalvm/compiler/phases/tiers/PhaseContext;Lorg/graalvm/compiler/graph/Graph$Mark;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=4, args_size=4
        start local 0 // org.graalvm.compiler.phases.common.CanonicalizerPhase this
        start local 1 // org.graalvm.compiler.nodes.StructuredGraph graph
        start local 2 // org.graalvm.compiler.phases.tiers.PhaseContext context
        start local 3 // org.graalvm.compiler.graph.Graph$Mark newNodesMark
         0: .line 133
            aload 0 /* this */
            aload 1 /* graph */
            aload 2 /* context */
            aload 3 /* newNodesMark */
            iconst_1
            invokevirtual org.graalvm.compiler.phases.common.CanonicalizerPhase.applyIncremental:(Lorg/graalvm/compiler/nodes/StructuredGraph;Lorg/graalvm/compiler/phases/tiers/PhaseContext;Lorg/graalvm/compiler/graph/Graph$Mark;Z)V
         1: .line 134
            return
        end local 3 // org.graalvm.compiler.graph.Graph$Mark newNodesMark
        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.phases.common.CanonicalizerPhase this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    2     0          this  Lorg/graalvm/compiler/phases/common/CanonicalizerPhase;
            0    2     1         graph  Lorg/graalvm/compiler/nodes/StructuredGraph;
            0    2     2       context  Lorg/graalvm/compiler/phases/tiers/PhaseContext;
            0    2     3  newNodesMark  Lorg/graalvm/compiler/graph/Graph$Mark;
    MethodParameters:
              Name  Flags
      graph         
      context       
      newNodesMark  

  public void applyIncremental(org.graalvm.compiler.nodes.StructuredGraph, org.graalvm.compiler.phases.tiers.PhaseContext, org.graalvm.compiler.graph.Graph$Mark, boolean);
    descriptor: (Lorg/graalvm/compiler/nodes/StructuredGraph;Lorg/graalvm/compiler/phases/tiers/PhaseContext;Lorg/graalvm/compiler/graph/Graph$Mark;Z)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=5, args_size=5
        start local 0 // org.graalvm.compiler.phases.common.CanonicalizerPhase this
        start local 1 // org.graalvm.compiler.nodes.StructuredGraph graph
        start local 2 // org.graalvm.compiler.phases.tiers.PhaseContext context
        start local 3 // org.graalvm.compiler.graph.Graph$Mark newNodesMark
        start local 4 // boolean dumpGraph
         0: .line 137
            new org.graalvm.compiler.phases.common.CanonicalizerPhase$Instance
            dup
            aload 0 /* this */
            aload 2 /* context */
            aload 3 /* newNodesMark */
            invokespecial org.graalvm.compiler.phases.common.CanonicalizerPhase$Instance.<init>:(Lorg/graalvm/compiler/phases/common/CanonicalizerPhase;Lorg/graalvm/compiler/phases/tiers/PhaseContext;Lorg/graalvm/compiler/graph/Graph$Mark;)V
            aload 1 /* graph */
            iload 4 /* dumpGraph */
            invokevirtual org.graalvm.compiler.phases.common.CanonicalizerPhase$Instance.apply:(Lorg/graalvm/compiler/nodes/StructuredGraph;Z)V
         1: .line 138
            return
        end local 4 // boolean dumpGraph
        end local 3 // org.graalvm.compiler.graph.Graph$Mark newNodesMark
        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.phases.common.CanonicalizerPhase this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    2     0          this  Lorg/graalvm/compiler/phases/common/CanonicalizerPhase;
            0    2     1         graph  Lorg/graalvm/compiler/nodes/StructuredGraph;
            0    2     2       context  Lorg/graalvm/compiler/phases/tiers/PhaseContext;
            0    2     3  newNodesMark  Lorg/graalvm/compiler/graph/Graph$Mark;
            0    2     4     dumpGraph  Z
    MethodParameters:
              Name  Flags
      graph         
      context       
      newNodesMark  
      dumpGraph     

  public void applyIncremental(org.graalvm.compiler.nodes.StructuredGraph, org.graalvm.compiler.phases.tiers.PhaseContext, java.lang.Iterable<? extends org.graalvm.compiler.graph.Node>);
    descriptor: (Lorg/graalvm/compiler/nodes/StructuredGraph;Lorg/graalvm/compiler/phases/tiers/PhaseContext;Ljava/lang/Iterable;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=4, args_size=4
        start local 0 // org.graalvm.compiler.phases.common.CanonicalizerPhase this
        start local 1 // org.graalvm.compiler.nodes.StructuredGraph graph
        start local 2 // org.graalvm.compiler.phases.tiers.PhaseContext context
        start local 3 // java.lang.Iterable workingSet
         0: .line 145
            aload 0 /* this */
            aload 1 /* graph */
            aload 2 /* context */
            aload 3 /* workingSet */
            iconst_1
            invokevirtual org.graalvm.compiler.phases.common.CanonicalizerPhase.applyIncremental:(Lorg/graalvm/compiler/nodes/StructuredGraph;Lorg/graalvm/compiler/phases/tiers/PhaseContext;Ljava/lang/Iterable;Z)V
         1: .line 146
            return
        end local 3 // java.lang.Iterable workingSet
        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.phases.common.CanonicalizerPhase this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    2     0        this  Lorg/graalvm/compiler/phases/common/CanonicalizerPhase;
            0    2     1       graph  Lorg/graalvm/compiler/nodes/StructuredGraph;
            0    2     2     context  Lorg/graalvm/compiler/phases/tiers/PhaseContext;
            0    2     3  workingSet  Ljava/lang/Iterable<+Lorg/graalvm/compiler/graph/Node;>;
    Signature: (Lorg/graalvm/compiler/nodes/StructuredGraph;Lorg/graalvm/compiler/phases/tiers/PhaseContext;Ljava/lang/Iterable<+Lorg/graalvm/compiler/graph/Node;>;)V
    MethodParameters:
            Name  Flags
      graph       
      context     
      workingSet  

  public void applyIncremental(org.graalvm.compiler.nodes.StructuredGraph, org.graalvm.compiler.phases.tiers.PhaseContext, java.lang.Iterable<? extends org.graalvm.compiler.graph.Node>, );
    descriptor: (Lorg/graalvm/compiler/nodes/StructuredGraph;Lorg/graalvm/compiler/phases/tiers/PhaseContext;Ljava/lang/Iterable;Z)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=5, args_size=5
        start local 0 // org.graalvm.compiler.phases.common.CanonicalizerPhase this
        start local 1 // org.graalvm.compiler.nodes.StructuredGraph graph
        start local 2 // org.graalvm.compiler.phases.tiers.PhaseContext context
        start local 3 // java.lang.Iterable workingSet
        start local 4 // boolean dumpGraph
         0: .line 149
            new org.graalvm.compiler.phases.common.CanonicalizerPhase$Instance
            dup
            aload 0 /* this */
            aload 2 /* context */
            aload 3 /* workingSet */
            invokespecial org.graalvm.compiler.phases.common.CanonicalizerPhase$Instance.<init>:(Lorg/graalvm/compiler/phases/common/CanonicalizerPhase;Lorg/graalvm/compiler/phases/tiers/PhaseContext;Ljava/lang/Iterable;)V
            aload 1 /* graph */
            iload 4 /* dumpGraph */
            invokevirtual org.graalvm.compiler.phases.common.CanonicalizerPhase$Instance.apply:(Lorg/graalvm/compiler/nodes/StructuredGraph;Z)V
         1: .line 150
            return
        end local 4 // boolean dumpGraph
        end local 3 // java.lang.Iterable workingSet
        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.phases.common.CanonicalizerPhase this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    2     0        this  Lorg/graalvm/compiler/phases/common/CanonicalizerPhase;
            0    2     1       graph  Lorg/graalvm/compiler/nodes/StructuredGraph;
            0    2     2     context  Lorg/graalvm/compiler/phases/tiers/PhaseContext;
            0    2     3  workingSet  Ljava/lang/Iterable<+Lorg/graalvm/compiler/graph/Node;>;
            0    2     4   dumpGraph  Z
    Signature: (Lorg/graalvm/compiler/nodes/StructuredGraph;Lorg/graalvm/compiler/phases/tiers/PhaseContext;Ljava/lang/Iterable<+Lorg/graalvm/compiler/graph/Node;>;Z)V
    MethodParameters:
            Name  Flags
      graph       
      context     
      workingSet  
      dumpGraph   

  public void applyIncremental(org.graalvm.compiler.nodes.StructuredGraph, org.graalvm.compiler.phases.tiers.PhaseContext, java.lang.Iterable<? extends org.graalvm.compiler.graph.Node>, org.graalvm.compiler.graph.Graph$Mark);
    descriptor: (Lorg/graalvm/compiler/nodes/StructuredGraph;Lorg/graalvm/compiler/phases/tiers/PhaseContext;Ljava/lang/Iterable;Lorg/graalvm/compiler/graph/Graph$Mark;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=5, args_size=5
        start local 0 // org.graalvm.compiler.phases.common.CanonicalizerPhase this
        start local 1 // org.graalvm.compiler.nodes.StructuredGraph graph
        start local 2 // org.graalvm.compiler.phases.tiers.PhaseContext context
        start local 3 // java.lang.Iterable workingSet
        start local 4 // org.graalvm.compiler.graph.Graph$Mark newNodesMark
         0: .line 153
            aload 0 /* this */
            aload 1 /* graph */
            aload 2 /* context */
            aload 3 /* workingSet */
            aload 4 /* newNodesMark */
            iconst_1
            invokevirtual org.graalvm.compiler.phases.common.CanonicalizerPhase.applyIncremental:(Lorg/graalvm/compiler/nodes/StructuredGraph;Lorg/graalvm/compiler/phases/tiers/PhaseContext;Ljava/lang/Iterable;Lorg/graalvm/compiler/graph/Graph$Mark;Z)V
         1: .line 154
            return
        end local 4 // org.graalvm.compiler.graph.Graph$Mark newNodesMark
        end local 3 // java.lang.Iterable workingSet
        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.phases.common.CanonicalizerPhase this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    2     0          this  Lorg/graalvm/compiler/phases/common/CanonicalizerPhase;
            0    2     1         graph  Lorg/graalvm/compiler/nodes/StructuredGraph;
            0    2     2       context  Lorg/graalvm/compiler/phases/tiers/PhaseContext;
            0    2     3    workingSet  Ljava/lang/Iterable<+Lorg/graalvm/compiler/graph/Node;>;
            0    2     4  newNodesMark  Lorg/graalvm/compiler/graph/Graph$Mark;
    Signature: (Lorg/graalvm/compiler/nodes/StructuredGraph;Lorg/graalvm/compiler/phases/tiers/PhaseContext;Ljava/lang/Iterable<+Lorg/graalvm/compiler/graph/Node;>;Lorg/graalvm/compiler/graph/Graph$Mark;)V
    MethodParameters:
              Name  Flags
      graph         
      context       
      workingSet    
      newNodesMark  

  public void applyIncremental(org.graalvm.compiler.nodes.StructuredGraph, org.graalvm.compiler.phases.tiers.PhaseContext, java.lang.Iterable<? extends org.graalvm.compiler.graph.Node>, org.graalvm.compiler.graph.Graph$Mark, );
    descriptor: (Lorg/graalvm/compiler/nodes/StructuredGraph;Lorg/graalvm/compiler/phases/tiers/PhaseContext;Ljava/lang/Iterable;Lorg/graalvm/compiler/graph/Graph$Mark;Z)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=6, args_size=6
        start local 0 // org.graalvm.compiler.phases.common.CanonicalizerPhase this
        start local 1 // org.graalvm.compiler.nodes.StructuredGraph graph
        start local 2 // org.graalvm.compiler.phases.tiers.PhaseContext context
        start local 3 // java.lang.Iterable workingSet
        start local 4 // org.graalvm.compiler.graph.Graph$Mark newNodesMark
        start local 5 // boolean dumpGraph
         0: .line 157
            new org.graalvm.compiler.phases.common.CanonicalizerPhase$Instance
            dup
            aload 0 /* this */
            aload 2 /* context */
            aload 3 /* workingSet */
            aload 4 /* newNodesMark */
            invokespecial org.graalvm.compiler.phases.common.CanonicalizerPhase$Instance.<init>:(Lorg/graalvm/compiler/phases/common/CanonicalizerPhase;Lorg/graalvm/compiler/phases/tiers/PhaseContext;Ljava/lang/Iterable;Lorg/graalvm/compiler/graph/Graph$Mark;)V
            aload 1 /* graph */
            iload 5 /* dumpGraph */
            invokevirtual org.graalvm.compiler.phases.common.CanonicalizerPhase$Instance.apply:(Lorg/graalvm/compiler/nodes/StructuredGraph;Z)V
         1: .line 158
            return
        end local 5 // boolean dumpGraph
        end local 4 // org.graalvm.compiler.graph.Graph$Mark newNodesMark
        end local 3 // java.lang.Iterable workingSet
        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.phases.common.CanonicalizerPhase this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    2     0          this  Lorg/graalvm/compiler/phases/common/CanonicalizerPhase;
            0    2     1         graph  Lorg/graalvm/compiler/nodes/StructuredGraph;
            0    2     2       context  Lorg/graalvm/compiler/phases/tiers/PhaseContext;
            0    2     3    workingSet  Ljava/lang/Iterable<+Lorg/graalvm/compiler/graph/Node;>;
            0    2     4  newNodesMark  Lorg/graalvm/compiler/graph/Graph$Mark;
            0    2     5     dumpGraph  Z
    Signature: (Lorg/graalvm/compiler/nodes/StructuredGraph;Lorg/graalvm/compiler/phases/tiers/PhaseContext;Ljava/lang/Iterable<+Lorg/graalvm/compiler/graph/Node;>;Lorg/graalvm/compiler/graph/Graph$Mark;Z)V
    MethodParameters:
              Name  Flags
      graph         
      context       
      workingSet    
      newNodesMark  
      dumpGraph     

  public org.graalvm.compiler.nodes.NodeView getNodeView();
    descriptor: ()Lorg/graalvm/compiler/nodes/NodeView;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.graalvm.compiler.phases.common.CanonicalizerPhase this
         0: .line 161
            getstatic org.graalvm.compiler.nodes.NodeView.DEFAULT:Lorg/graalvm/compiler/nodes/NodeView;
            areturn
        end local 0 // org.graalvm.compiler.phases.common.CanonicalizerPhase this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/graalvm/compiler/phases/common/CanonicalizerPhase;

  public boolean getCanonicalizeReads();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.graalvm.compiler.phases.common.CanonicalizerPhase this
         0: .line 537
            aload 0 /* this */
            getfield org.graalvm.compiler.phases.common.CanonicalizerPhase.canonicalizeReads:Z
            ireturn
        end local 0 // org.graalvm.compiler.phases.common.CanonicalizerPhase this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/graalvm/compiler/phases/common/CanonicalizerPhase;

  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.phases.common.CanonicalizerPhase.run:(Lorg/graalvm/compiler/nodes/StructuredGraph;Lorg/graalvm/compiler/phases/tiers/PhaseContext;)V
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature
}
Signature: Lorg/graalvm/compiler/phases/BasePhase<Lorg/graalvm/compiler/phases/tiers/PhaseContext;>;
SourceFile: "CanonicalizerPhase.java"
NestMembers:
  org.graalvm.compiler.phases.common.CanonicalizerPhase$CustomCanonicalizer  org.graalvm.compiler.phases.common.CanonicalizerPhase$Instance  org.graalvm.compiler.phases.common.CanonicalizerPhase$Instance$1  org.graalvm.compiler.phases.common.CanonicalizerPhase$Instance$Tool
InnerClasses:
  public Mark = org.graalvm.compiler.graph.Graph$Mark of org.graalvm.compiler.graph.Graph
  public abstract CustomCanonicalizer = org.graalvm.compiler.phases.common.CanonicalizerPhase$CustomCanonicalizer of org.graalvm.compiler.phases.common.CanonicalizerPhase
  private final Instance = org.graalvm.compiler.phases.common.CanonicalizerPhase$Instance of org.graalvm.compiler.phases.common.CanonicalizerPhase