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.DebugCounter COUNTER_CANONICALIZED_NODES;
descriptor: Lorg/graalvm/compiler/debug/DebugCounter;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static final org.graalvm.compiler.debug.DebugCounter COUNTER_PROCESSED_NODES;
descriptor: Lorg/graalvm/compiler/debug/DebugCounter;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static final org.graalvm.compiler.debug.DebugCounter COUNTER_CANONICALIZATION_CONSIDERED_NODES;
descriptor: Lorg/graalvm/compiler/debug/DebugCounter;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static final org.graalvm.compiler.debug.DebugCounter COUNTER_INFER_STAMP_CALLED;
descriptor: Lorg/graalvm/compiler/debug/DebugCounter;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static final org.graalvm.compiler.debug.DebugCounter COUNTER_STAMP_CHANGED;
descriptor: Lorg/graalvm/compiler/debug/DebugCounter;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static final org.graalvm.compiler.debug.DebugCounter COUNTER_SIMPLIFICATION_CONSIDERED_NODES;
descriptor: Lorg/graalvm/compiler/debug/DebugCounter;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static final org.graalvm.compiler.debug.DebugCounter COUNTER_GLOBAL_VALUE_NUMBERING_HITS;
descriptor: Lorg/graalvm/compiler/debug/DebugCounter;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
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: ldc "CanonicalizedNodes"
invokestatic org.graalvm.compiler.debug.Debug.counter:(Ljava/lang/CharSequence;)Lorg/graalvm/compiler/debug/DebugCounter;
putstatic org.graalvm.compiler.phases.common.CanonicalizerPhase.COUNTER_CANONICALIZED_NODES:Lorg/graalvm/compiler/debug/DebugCounter;
1: ldc "ProcessedNodes"
invokestatic org.graalvm.compiler.debug.Debug.counter:(Ljava/lang/CharSequence;)Lorg/graalvm/compiler/debug/DebugCounter;
putstatic org.graalvm.compiler.phases.common.CanonicalizerPhase.COUNTER_PROCESSED_NODES:Lorg/graalvm/compiler/debug/DebugCounter;
2: ldc "CanonicalizationConsideredNodes"
invokestatic org.graalvm.compiler.debug.Debug.counter:(Ljava/lang/CharSequence;)Lorg/graalvm/compiler/debug/DebugCounter;
putstatic org.graalvm.compiler.phases.common.CanonicalizerPhase.COUNTER_CANONICALIZATION_CONSIDERED_NODES:Lorg/graalvm/compiler/debug/DebugCounter;
3: ldc "InferStampCalled"
invokestatic org.graalvm.compiler.debug.Debug.counter:(Ljava/lang/CharSequence;)Lorg/graalvm/compiler/debug/DebugCounter;
putstatic org.graalvm.compiler.phases.common.CanonicalizerPhase.COUNTER_INFER_STAMP_CALLED:Lorg/graalvm/compiler/debug/DebugCounter;
4: ldc "StampChanged"
invokestatic org.graalvm.compiler.debug.Debug.counter:(Ljava/lang/CharSequence;)Lorg/graalvm/compiler/debug/DebugCounter;
putstatic org.graalvm.compiler.phases.common.CanonicalizerPhase.COUNTER_STAMP_CHANGED:Lorg/graalvm/compiler/debug/DebugCounter;
5: ldc "SimplificationConsideredNodes"
invokestatic org.graalvm.compiler.debug.Debug.counter:(Ljava/lang/CharSequence;)Lorg/graalvm/compiler/debug/DebugCounter;
putstatic org.graalvm.compiler.phases.common.CanonicalizerPhase.COUNTER_SIMPLIFICATION_CONSIDERED_NODES:Lorg/graalvm/compiler/debug/DebugCounter;
6: ldc "GlobalValueNumberingHits"
invokestatic org.graalvm.compiler.debug.Debug.counter:(Ljava/lang/CharSequence;)Lorg/graalvm/compiler/debug/DebugCounter;
putstatic org.graalvm.compiler.phases.common.CanonicalizerPhase.COUNTER_GLOBAL_VALUE_NUMBERING_HITS:Lorg/graalvm/compiler/debug/DebugCounter;
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 0: aload 0
aconst_null
invokespecial org.graalvm.compiler.phases.common.CanonicalizerPhase.<init>:(Lorg/graalvm/compiler/phases/common/CanonicalizerPhase$CustomCanonicalizer;)V
1: return
end local 0 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 start local 1 0: aload 0
invokespecial org.graalvm.compiler.phases.BasePhase.<init>:()V
1: aload 0
iconst_1
putfield org.graalvm.compiler.phases.common.CanonicalizerPhase.canonicalizeReads:Z
2: aload 0
iconst_1
putfield org.graalvm.compiler.phases.common.CanonicalizerPhase.simplify:Z
3: aload 0
aload 1
putfield org.graalvm.compiler.phases.common.CanonicalizerPhase.customCanonicalizer:Lorg/graalvm/compiler/phases/common/CanonicalizerPhase$CustomCanonicalizer;
4: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lorg/graalvm/compiler/phases/common/CanonicalizerPhase;
0 5 1 customCanonicalizer Lorg/graalvm/compiler/phases/common/CanonicalizerPhase$CustomCanonicalizer;
MethodParameters:
Name Flags
customCanonicalizer
public void disableReadCanonicalization();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
iconst_0
putfield org.graalvm.compiler.phases.common.CanonicalizerPhase.canonicalizeReads:Z
1: return
end local 0 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 0: aload 0
iconst_0
putfield org.graalvm.compiler.phases.common.CanonicalizerPhase.simplify:Z
1: return
end local 0 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 0: iconst_0
ireturn
end local 0 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 start local 1 start local 2 0: new org.graalvm.compiler.phases.common.CanonicalizerPhase$Instance
dup
aload 0
aload 2
invokespecial org.graalvm.compiler.phases.common.CanonicalizerPhase$Instance.<init>:(Lorg/graalvm/compiler/phases/common/CanonicalizerPhase;Lorg/graalvm/compiler/phases/tiers/PhaseContext;)V
aload 1
invokevirtual org.graalvm.compiler.phases.common.CanonicalizerPhase$Instance.run:(Lorg/graalvm/compiler/nodes/StructuredGraph;)V
1: return
end local 2 end local 1 end local 0 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 start local 1 start local 2 start local 3 0: aload 0
aload 1
aload 2
aload 3
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: return
end local 3 end local 2 end local 1 end local 0 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 start local 1 start local 2 start local 3 start local 4 0: new org.graalvm.compiler.phases.common.CanonicalizerPhase$Instance
dup
aload 0
aload 2
aload 3
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
iload 4
invokevirtual org.graalvm.compiler.phases.common.CanonicalizerPhase$Instance.apply:(Lorg/graalvm/compiler/nodes/StructuredGraph;Z)V
1: return
end local 4 end local 3 end local 2 end local 1 end local 0 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 start local 1 start local 2 start local 3 0: aload 0
aload 1
aload 2
aload 3
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: return
end local 3 end local 2 end local 1 end local 0 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 start local 1 start local 2 start local 3 start local 4 0: new org.graalvm.compiler.phases.common.CanonicalizerPhase$Instance
dup
aload 0
aload 2
aload 3
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
iload 4
invokevirtual org.graalvm.compiler.phases.common.CanonicalizerPhase$Instance.apply:(Lorg/graalvm/compiler/nodes/StructuredGraph;Z)V
1: return
end local 4 end local 3 end local 2 end local 1 end local 0 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 start local 1 start local 2 start local 3 start local 4 0: aload 0
aload 1
aload 2
aload 3
aload 4
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: return
end local 4 end local 3 end local 2 end local 1 end local 0 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 start local 1 start local 2 start local 3 start local 4 start local 5 0: new org.graalvm.compiler.phases.common.CanonicalizerPhase$Instance
dup
aload 0
aload 2
aload 3
aload 4
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
iload 5
invokevirtual org.graalvm.compiler.phases.common.CanonicalizerPhase$Instance.apply:(Lorg/graalvm/compiler/nodes/StructuredGraph;Z)V
1: return
end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 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 boolean getCanonicalizeReads();
descriptor: ()Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.graalvm.compiler.phases.common.CanonicalizerPhase.canonicalizeReads:Z
ireturn
end local 0 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: 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