public class org.graalvm.compiler.nodes.PiNode extends org.graalvm.compiler.nodes.FloatingGuardedNode implements org.graalvm.compiler.nodes.spi.LIRLowerable, org.graalvm.compiler.nodes.spi.Virtualizable, org.graalvm.compiler.graph.IterableNodeType, org.graalvm.compiler.graph.spi.Canonicalizable, org.graalvm.compiler.nodes.spi.ValueProxy
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: org.graalvm.compiler.nodes.PiNode
super_class: org.graalvm.compiler.nodes.FloatingGuardedNode
{
public static final org.graalvm.compiler.graph.NodeClass<org.graalvm.compiler.nodes.PiNode> TYPE;
descriptor: Lorg/graalvm/compiler/graph/NodeClass;
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
Signature: Lorg/graalvm/compiler/graph/NodeClass<Lorg/graalvm/compiler/nodes/PiNode;>;
org.graalvm.compiler.nodes.ValueNode object;
descriptor: Lorg/graalvm/compiler/nodes/ValueNode;
flags: (0x0000)
RuntimeVisibleAnnotations:
org.graalvm.compiler.graph.Node$Input()
protected final org.graalvm.compiler.core.common.type.Stamp piStamp;
descriptor: Lorg/graalvm/compiler/core/common/type/Stamp;
flags: (0x0014) ACC_PROTECTED, ACC_FINAL
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=1, locals=0, args_size=0
0: ldc Lorg/graalvm/compiler/nodes/PiNode;
invokestatic org.graalvm.compiler.graph.NodeClass.create:(Ljava/lang/Class;)Lorg/graalvm/compiler/graph/NodeClass;
putstatic org.graalvm.compiler.nodes.PiNode.TYPE:Lorg/graalvm/compiler/graph/NodeClass;
return
LocalVariableTable:
Start End Slot Name Signature
public org.graalvm.compiler.nodes.ValueNode object();
descriptor: ()Lorg/graalvm/compiler/nodes/ValueNode;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.graalvm.compiler.nodes.PiNode.object:Lorg/graalvm/compiler/nodes/ValueNode;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/graalvm/compiler/nodes/PiNode;
protected void <init>(org.graalvm.compiler.graph.NodeClass<? extends org.graalvm.compiler.nodes.PiNode>, org.graalvm.compiler.nodes.ValueNode, org.graalvm.compiler.core.common.type.Stamp, org.graalvm.compiler.nodes.extended.GuardingNode);
descriptor: (Lorg/graalvm/compiler/graph/NodeClass;Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/core/common/type/Stamp;Lorg/graalvm/compiler/nodes/extended/GuardingNode;)V
flags: (0x0004) ACC_PROTECTED
Code:
stack=4, 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 3
aload 4
invokespecial org.graalvm.compiler.nodes.FloatingGuardedNode.<init>:(Lorg/graalvm/compiler/graph/NodeClass;Lorg/graalvm/compiler/core/common/type/Stamp;Lorg/graalvm/compiler/nodes/extended/GuardingNode;)V
1: aload 0
aload 2
putfield org.graalvm.compiler.nodes.PiNode.object:Lorg/graalvm/compiler/nodes/ValueNode;
2: aload 0
aload 3
putfield org.graalvm.compiler.nodes.PiNode.piStamp:Lorg/graalvm/compiler/core/common/type/Stamp;
3: aload 0
invokevirtual org.graalvm.compiler.nodes.PiNode.inferStamp:()Z
pop
4: return
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lorg/graalvm/compiler/nodes/PiNode;
0 5 1 c Lorg/graalvm/compiler/graph/NodeClass<+Lorg/graalvm/compiler/nodes/PiNode;>;
0 5 2 object Lorg/graalvm/compiler/nodes/ValueNode;
0 5 3 stamp Lorg/graalvm/compiler/core/common/type/Stamp;
0 5 4 guard Lorg/graalvm/compiler/nodes/extended/GuardingNode;
Signature: (Lorg/graalvm/compiler/graph/NodeClass<+Lorg/graalvm/compiler/nodes/PiNode;>;Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/core/common/type/Stamp;Lorg/graalvm/compiler/nodes/extended/GuardingNode;)V
MethodParameters:
Name Flags
c
object
stamp
guard
public void <init>(org.graalvm.compiler.nodes.ValueNode, org.graalvm.compiler.core.common.type.Stamp);
descriptor: (Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/core/common/type/Stamp;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
aload 1
aload 2
aconst_null
invokespecial org.graalvm.compiler.nodes.PiNode.<init>:(Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/core/common/type/Stamp;Lorg/graalvm/compiler/nodes/ValueNode;)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/nodes/PiNode;
0 2 1 object Lorg/graalvm/compiler/nodes/ValueNode;
0 2 2 stamp Lorg/graalvm/compiler/core/common/type/Stamp;
MethodParameters:
Name Flags
object
stamp
public void <init>(org.graalvm.compiler.nodes.ValueNode, org.graalvm.compiler.core.common.type.Stamp, org.graalvm.compiler.nodes.ValueNode);
descriptor: (Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/core/common/type/Stamp;Lorg/graalvm/compiler/nodes/ValueNode;)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
getstatic org.graalvm.compiler.nodes.PiNode.TYPE:Lorg/graalvm/compiler/graph/NodeClass;
aload 1
aload 2
aload 3
checkcast org.graalvm.compiler.nodes.extended.GuardingNode
invokespecial org.graalvm.compiler.nodes.PiNode.<init>:(Lorg/graalvm/compiler/graph/NodeClass;Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/core/common/type/Stamp;Lorg/graalvm/compiler/nodes/extended/GuardingNode;)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/nodes/PiNode;
0 2 1 object Lorg/graalvm/compiler/nodes/ValueNode;
0 2 2 stamp Lorg/graalvm/compiler/core/common/type/Stamp;
0 2 3 anchor Lorg/graalvm/compiler/nodes/ValueNode;
MethodParameters:
Name Flags
object
stamp
anchor
public void <init>(org.graalvm.compiler.nodes.ValueNode, org.graalvm.compiler.nodes.ValueNode);
descriptor: (Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/nodes/ValueNode;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
aload 1
aload 1
invokevirtual org.graalvm.compiler.nodes.ValueNode.stamp:()Lorg/graalvm/compiler/core/common/type/Stamp;
invokestatic org.graalvm.compiler.core.common.type.StampFactory.objectNonNull:()Lorg/graalvm/compiler/core/common/type/Stamp;
invokevirtual org.graalvm.compiler.core.common.type.Stamp.join:(Lorg/graalvm/compiler/core/common/type/Stamp;)Lorg/graalvm/compiler/core/common/type/Stamp;
aload 2
invokespecial org.graalvm.compiler.nodes.PiNode.<init>:(Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/core/common/type/Stamp;Lorg/graalvm/compiler/nodes/ValueNode;)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/nodes/PiNode;
0 2 1 object Lorg/graalvm/compiler/nodes/ValueNode;
0 2 2 anchor Lorg/graalvm/compiler/nodes/ValueNode;
MethodParameters:
Name Flags
object
anchor
public void <init>(org.graalvm.compiler.nodes.ValueNode, jdk.vm.ci.meta.ResolvedJavaType, boolean, boolean);
descriptor: (Lorg/graalvm/compiler/nodes/ValueNode;Ljdk/vm/ci/meta/ResolvedJavaType;ZZ)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, 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
iload 3
ifeq 1
aload 2
invokestatic org.graalvm.compiler.core.common.type.TypeReference.createExactTrusted:(Ljdk/vm/ci/meta/ResolvedJavaType;)Lorg/graalvm/compiler/core/common/type/TypeReference;
goto 2
StackMap locals: uninitialized-this org.graalvm.compiler.nodes.ValueNode jdk.vm.ci.meta.ResolvedJavaType int int
StackMap stack: uninitialized-this org.graalvm.compiler.nodes.ValueNode
1: aload 2
invokestatic org.graalvm.compiler.core.common.type.TypeReference.createWithoutAssumptions:(Ljdk/vm/ci/meta/ResolvedJavaType;)Lorg/graalvm/compiler/core/common/type/TypeReference;
StackMap locals: uninitialized-this org.graalvm.compiler.nodes.ValueNode jdk.vm.ci.meta.ResolvedJavaType int int
StackMap stack: uninitialized-this org.graalvm.compiler.nodes.ValueNode org.graalvm.compiler.core.common.type.TypeReference
2: iload 4
ifne 3
aload 1
invokevirtual org.graalvm.compiler.nodes.ValueNode.stamp:()Lorg/graalvm/compiler/core/common/type/Stamp;
invokestatic org.graalvm.compiler.nodes.type.StampTool.isPointerNonNull:(Lorg/graalvm/compiler/core/common/type/Stamp;)Z
ifne 3
iconst_0
goto 4
StackMap locals: uninitialized-this org.graalvm.compiler.nodes.ValueNode jdk.vm.ci.meta.ResolvedJavaType int int
StackMap stack: uninitialized-this org.graalvm.compiler.nodes.ValueNode org.graalvm.compiler.core.common.type.TypeReference
3: iconst_1
StackMap locals: uninitialized-this org.graalvm.compiler.nodes.ValueNode jdk.vm.ci.meta.ResolvedJavaType int int
StackMap stack: uninitialized-this org.graalvm.compiler.nodes.ValueNode org.graalvm.compiler.core.common.type.TypeReference int
4: invokestatic org.graalvm.compiler.core.common.type.StampFactory.object:(Lorg/graalvm/compiler/core/common/type/TypeReference;Z)Lorg/graalvm/compiler/core/common/type/ObjectStamp;
invokespecial org.graalvm.compiler.nodes.PiNode.<init>:(Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/core/common/type/Stamp;)V
5: return
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lorg/graalvm/compiler/nodes/PiNode;
0 6 1 object Lorg/graalvm/compiler/nodes/ValueNode;
0 6 2 toType Ljdk/vm/ci/meta/ResolvedJavaType;
0 6 3 exactType Z
0 6 4 nonNull Z
MethodParameters:
Name Flags
object
toType
exactType
nonNull
public void generate(org.graalvm.compiler.nodes.spi.NodeLIRBuilderTool);
descriptor: (Lorg/graalvm/compiler/nodes/spi/NodeLIRBuilderTool;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield org.graalvm.compiler.nodes.PiNode.object:Lorg/graalvm/compiler/nodes/ValueNode;
invokevirtual org.graalvm.compiler.nodes.ValueNode.getStackKind:()Ljdk/vm/ci/meta/JavaKind;
getstatic jdk.vm.ci.meta.JavaKind.Void:Ljdk/vm/ci/meta/JavaKind;
if_acmpeq 2
aload 0
getfield org.graalvm.compiler.nodes.PiNode.object:Lorg/graalvm/compiler/nodes/ValueNode;
invokevirtual org.graalvm.compiler.nodes.ValueNode.getStackKind:()Ljdk/vm/ci/meta/JavaKind;
getstatic jdk.vm.ci.meta.JavaKind.Illegal:Ljdk/vm/ci/meta/JavaKind;
if_acmpeq 2
1: aload 1
aload 0
aload 1
aload 0
getfield org.graalvm.compiler.nodes.PiNode.object:Lorg/graalvm/compiler/nodes/ValueNode;
invokeinterface org.graalvm.compiler.nodes.spi.NodeLIRBuilderTool.operand:(Lorg/graalvm/compiler/graph/Node;)Ljdk/vm/ci/meta/Value;
invokeinterface org.graalvm.compiler.nodes.spi.NodeLIRBuilderTool.setResult:(Lorg/graalvm/compiler/nodes/ValueNode;Ljdk/vm/ci/meta/Value;)Ljdk/vm/ci/meta/Value;
pop
2: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lorg/graalvm/compiler/nodes/PiNode;
0 3 1 generator Lorg/graalvm/compiler/nodes/spi/NodeLIRBuilderTool;
MethodParameters:
Name Flags
generator
public boolean inferStamp();
descriptor: ()Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
aload 0
invokevirtual org.graalvm.compiler.nodes.PiNode.computeStamp:()Lorg/graalvm/compiler/core/common/type/Stamp;
invokevirtual org.graalvm.compiler.nodes.PiNode.updateStamp:(Lorg/graalvm/compiler/core/common/type/Stamp;)Z
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/graalvm/compiler/nodes/PiNode;
private org.graalvm.compiler.core.common.type.Stamp computeStamp();
descriptor: ()Lorg/graalvm/compiler/core/common/type/Stamp;
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
getfield org.graalvm.compiler.nodes.PiNode.piStamp:Lorg/graalvm/compiler/core/common/type/Stamp;
invokestatic org.graalvm.compiler.core.common.type.StampFactory.forNodeIntrinsic:()Lorg/graalvm/compiler/core/common/type/Stamp;
if_acmpne 2
1: aload 0
getfield org.graalvm.compiler.nodes.PiNode.stamp:Lorg/graalvm/compiler/core/common/type/Stamp;
areturn
2: StackMap locals:
StackMap stack:
aload 0
getfield org.graalvm.compiler.nodes.PiNode.piStamp:Lorg/graalvm/compiler/core/common/type/Stamp;
aload 0
invokevirtual org.graalvm.compiler.nodes.PiNode.object:()Lorg/graalvm/compiler/nodes/ValueNode;
invokevirtual org.graalvm.compiler.nodes.ValueNode.stamp:()Lorg/graalvm/compiler/core/common/type/Stamp;
invokevirtual org.graalvm.compiler.core.common.type.Stamp.improveWith:(Lorg/graalvm/compiler/core/common/type/Stamp;)Lorg/graalvm/compiler/core/common/type/Stamp;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lorg/graalvm/compiler/nodes/PiNode;
public void virtualize(org.graalvm.compiler.nodes.spi.VirtualizerTool);
descriptor: (Lorg/graalvm/compiler/nodes/spi/VirtualizerTool;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=4, args_size=2
start local 0 start local 1 0: aload 1
aload 0
invokevirtual org.graalvm.compiler.nodes.PiNode.object:()Lorg/graalvm/compiler/nodes/ValueNode;
invokeinterface org.graalvm.compiler.nodes.spi.VirtualizerTool.getAlias:(Lorg/graalvm/compiler/nodes/ValueNode;)Lorg/graalvm/compiler/nodes/ValueNode;
astore 2
start local 2 1: aload 2
instanceof org.graalvm.compiler.nodes.virtual.VirtualObjectNode
ifeq 5
2: aload 2
checkcast org.graalvm.compiler.nodes.virtual.VirtualObjectNode
astore 3
start local 3 3: aload 0
invokestatic org.graalvm.compiler.nodes.type.StampTool.typeOrNull:(Lorg/graalvm/compiler/nodes/ValueNode;)Ljdk/vm/ci/meta/ResolvedJavaType;
ifnull 5
aload 0
invokestatic org.graalvm.compiler.nodes.type.StampTool.typeOrNull:(Lorg/graalvm/compiler/nodes/ValueNode;)Ljdk/vm/ci/meta/ResolvedJavaType;
aload 3
invokevirtual org.graalvm.compiler.nodes.virtual.VirtualObjectNode.type:()Ljdk/vm/ci/meta/ResolvedJavaType;
invokeinterface jdk.vm.ci.meta.ResolvedJavaType.isAssignableFrom:(Ljdk/vm/ci/meta/ResolvedJavaType;)Z
ifeq 5
4: aload 1
aload 3
invokeinterface org.graalvm.compiler.nodes.spi.VirtualizerTool.replaceWithVirtual:(Lorg/graalvm/compiler/nodes/virtual/VirtualObjectNode;)V
end local 3 5: StackMap locals: org.graalvm.compiler.nodes.ValueNode
StackMap stack:
return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lorg/graalvm/compiler/nodes/PiNode;
0 6 1 tool Lorg/graalvm/compiler/nodes/spi/VirtualizerTool;
1 6 2 alias Lorg/graalvm/compiler/nodes/ValueNode;
3 5 3 virtual Lorg/graalvm/compiler/nodes/virtual/VirtualObjectNode;
MethodParameters:
Name Flags
tool
public org.graalvm.compiler.graph.Node canonical(org.graalvm.compiler.graph.spi.CanonicalizerTool);
descriptor: (Lorg/graalvm/compiler/graph/spi/CanonicalizerTool;)Lorg/graalvm/compiler/graph/Node;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=9, args_size=2
start local 0 start local 1 0: aload 0
invokevirtual org.graalvm.compiler.nodes.PiNode.stamp:()Lorg/graalvm/compiler/core/common/type/Stamp;
invokestatic org.graalvm.compiler.core.common.type.StampFactory.forNodeIntrinsic:()Lorg/graalvm/compiler/core/common/type/Stamp;
if_acmpne 2
1: aload 0
areturn
2: StackMap locals:
StackMap stack:
aload 0
invokevirtual org.graalvm.compiler.nodes.PiNode.computeStamp:()Lorg/graalvm/compiler/core/common/type/Stamp;
astore 2
start local 2 3: aload 0
invokevirtual org.graalvm.compiler.nodes.PiNode.object:()Lorg/graalvm/compiler/nodes/ValueNode;
astore 3
start local 3 4: aload 2
aload 3
invokevirtual org.graalvm.compiler.nodes.ValueNode.stamp:()Lorg/graalvm/compiler/core/common/type/Stamp;
invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
ifeq 6
5: aload 3
areturn
6: StackMap locals: org.graalvm.compiler.core.common.type.Stamp org.graalvm.compiler.nodes.ValueNode
StackMap stack:
aload 0
invokevirtual org.graalvm.compiler.nodes.PiNode.getGuard:()Lorg/graalvm/compiler/nodes/extended/GuardingNode;
astore 4
start local 4 7: aload 4
ifnonnull 16
8: aload 3
instanceof org.graalvm.compiler.nodes.java.LoadFieldNode
ifeq 12
9: aload 3
checkcast org.graalvm.compiler.nodes.java.LoadFieldNode
astore 5
start local 5 10: aload 5
aload 5
invokevirtual org.graalvm.compiler.nodes.java.LoadFieldNode.stamp:()Lorg/graalvm/compiler/core/common/type/Stamp;
aload 0
getfield org.graalvm.compiler.nodes.PiNode.piStamp:Lorg/graalvm/compiler/core/common/type/Stamp;
invokevirtual org.graalvm.compiler.core.common.type.Stamp.improveWith:(Lorg/graalvm/compiler/core/common/type/Stamp;)Lorg/graalvm/compiler/core/common/type/Stamp;
invokevirtual org.graalvm.compiler.nodes.java.LoadFieldNode.setStamp:(Lorg/graalvm/compiler/core/common/type/Stamp;)V
11: aload 5
areturn
end local 5 12: StackMap locals: org.graalvm.compiler.nodes.extended.GuardingNode
StackMap stack:
aload 3
instanceof org.graalvm.compiler.nodes.extended.UnsafeLoadNode
ifeq 25
13: aload 3
checkcast org.graalvm.compiler.nodes.extended.UnsafeLoadNode
astore 5
start local 5 14: aload 5
aload 5
invokevirtual org.graalvm.compiler.nodes.extended.UnsafeLoadNode.stamp:()Lorg/graalvm/compiler/core/common/type/Stamp;
aload 0
getfield org.graalvm.compiler.nodes.PiNode.piStamp:Lorg/graalvm/compiler/core/common/type/Stamp;
invokevirtual org.graalvm.compiler.core.common.type.Stamp.improveWith:(Lorg/graalvm/compiler/core/common/type/Stamp;)Lorg/graalvm/compiler/core/common/type/Stamp;
invokevirtual org.graalvm.compiler.nodes.extended.UnsafeLoadNode.setStamp:(Lorg/graalvm/compiler/core/common/type/Stamp;)V
15: aload 5
areturn
end local 5 16: StackMap locals:
StackMap stack:
aload 4
invokeinterface org.graalvm.compiler.nodes.extended.GuardingNode.asNode:()Lorg/graalvm/compiler/nodes/ValueNode;
invokevirtual org.graalvm.compiler.nodes.ValueNode.usages:()Lorg/graalvm/compiler/graph/iterators/NodeIterable;
invokeinterface org.graalvm.compiler.graph.iterators.NodeIterable.iterator:()Ljava/util/Iterator;
astore 6
goto 24
StackMap locals: org.graalvm.compiler.nodes.PiNode org.graalvm.compiler.graph.spi.CanonicalizerTool org.graalvm.compiler.core.common.type.Stamp org.graalvm.compiler.nodes.ValueNode org.graalvm.compiler.nodes.extended.GuardingNode top java.util.Iterator
StackMap stack:
17: aload 6
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast org.graalvm.compiler.graph.Node
astore 5
start local 5 18: aload 5
instanceof org.graalvm.compiler.nodes.PiNode
ifeq 24
19: aload 5
checkcast org.graalvm.compiler.nodes.PiNode
astore 7
start local 7 20: aload 3
aload 7
invokevirtual org.graalvm.compiler.nodes.PiNode.object:()Lorg/graalvm/compiler/nodes/ValueNode;
if_acmpne 24
aload 2
aload 7
invokevirtual org.graalvm.compiler.nodes.PiNode.stamp:()Lorg/graalvm/compiler/core/common/type/Stamp;
invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
ifeq 24
21: aload 0
getfield org.graalvm.compiler.nodes.PiNode.piStamp:Lorg/graalvm/compiler/core/common/type/Stamp;
aload 7
getfield org.graalvm.compiler.nodes.PiNode.piStamp:Lorg/graalvm/compiler/core/common/type/Stamp;
invokevirtual org.graalvm.compiler.core.common.type.Stamp.join:(Lorg/graalvm/compiler/core/common/type/Stamp;)Lorg/graalvm/compiler/core/common/type/Stamp;
astore 8
start local 8 22: aload 8
aload 7
getfield org.graalvm.compiler.nodes.PiNode.piStamp:Lorg/graalvm/compiler/core/common/type/Stamp;
invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
ifeq 24
23: aload 7
areturn
end local 8 end local 7 end local 5 24: StackMap locals:
StackMap stack:
aload 6
invokeinterface java.util.Iterator.hasNext:()Z
ifne 17
25: StackMap locals: org.graalvm.compiler.nodes.PiNode org.graalvm.compiler.graph.spi.CanonicalizerTool org.graalvm.compiler.core.common.type.Stamp org.graalvm.compiler.nodes.ValueNode org.graalvm.compiler.nodes.extended.GuardingNode
StackMap stack:
aload 0
areturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 26 0 this Lorg/graalvm/compiler/nodes/PiNode;
0 26 1 tool Lorg/graalvm/compiler/graph/spi/CanonicalizerTool;
3 26 2 computedStamp Lorg/graalvm/compiler/core/common/type/Stamp;
4 26 3 o Lorg/graalvm/compiler/nodes/ValueNode;
7 26 4 g Lorg/graalvm/compiler/nodes/extended/GuardingNode;
10 12 5 loadFieldNode Lorg/graalvm/compiler/nodes/java/LoadFieldNode;
14 16 5 unsafeLoadNode Lorg/graalvm/compiler/nodes/extended/UnsafeLoadNode;
18 24 5 n Lorg/graalvm/compiler/graph/Node;
20 24 7 otherPi Lorg/graalvm/compiler/nodes/PiNode;
22 24 8 newStamp Lorg/graalvm/compiler/core/common/type/Stamp;
MethodParameters:
Name Flags
tool
public org.graalvm.compiler.nodes.ValueNode getOriginalNode();
descriptor: ()Lorg/graalvm/compiler/nodes/ValueNode;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.graalvm.compiler.nodes.PiNode.object:Lorg/graalvm/compiler/nodes/ValueNode;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/graalvm/compiler/nodes/PiNode;
public static java.lang.Class<?> asNonNullClass();
descriptor: (Ljava/lang/Object;)Ljava/lang/Class;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=4, locals=1, args_size=1
start local 0 0: aload 0
ldc Ljava/lang/Class;
iconst_1
iconst_1
invokestatic org.graalvm.compiler.nodes.PiNode.asNonNullClassIntrinsic:(Ljava/lang/Object;Ljava/lang/Class;ZZ)Ljava/lang/Class;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 object Ljava/lang/Object;
Signature: (Ljava/lang/Object;)Ljava/lang/Class<*>;
MethodParameters:
Name Flags
object
public static java.lang.Class<?> asNonNullObject();
descriptor: (Ljava/lang/Object;)Ljava/lang/Class;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=4, locals=1, args_size=1
start local 0 0: aload 0
ldc Ljava/lang/Object;
iconst_0
iconst_1
invokestatic org.graalvm.compiler.nodes.PiNode.asNonNullClassIntrinsic:(Ljava/lang/Object;Ljava/lang/Class;ZZ)Ljava/lang/Class;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 object Ljava/lang/Object;
Signature: (Ljava/lang/Object;)Ljava/lang/Class<*>;
MethodParameters:
Name Flags
object
private static native java.lang.Class<?> asNonNullClassIntrinsic(, java.lang.Class<?>, boolean, boolean);
descriptor: (Ljava/lang/Object;Ljava/lang/Class;ZZ)Ljava/lang/Class;
flags: (0x010a) ACC_PRIVATE, ACC_STATIC, ACC_NATIVE
Signature: (Ljava/lang/Object;Ljava/lang/Class<*>;ZZ)Ljava/lang/Class<*>;
RuntimeVisibleAnnotations:
org.graalvm.compiler.graph.Node$NodeIntrinsic(value = Lorg/graalvm/compiler/nodes/PiNode;)
RuntimeVisibleParameterAnnotations:
0:
1:
org.graalvm.compiler.graph.Node$ConstantNodeParameter()
2:
org.graalvm.compiler.graph.Node$ConstantNodeParameter()
3:
org.graalvm.compiler.graph.Node$ConstantNodeParameter()
MethodParameters:
Name Flags
object
toType
exactType
nonNull
public static native java.lang.Object piCast(java.lang.Object, org.graalvm.compiler.core.common.type.Stamp);
descriptor: (Ljava/lang/Object;Lorg/graalvm/compiler/core/common/type/Stamp;)Ljava/lang/Object;
flags: (0x0109) ACC_PUBLIC, ACC_STATIC, ACC_NATIVE
RuntimeVisibleAnnotations:
org.graalvm.compiler.graph.Node$NodeIntrinsic()
RuntimeVisibleParameterAnnotations:
0:
1:
org.graalvm.compiler.graph.Node$ConstantNodeParameter()
MethodParameters:
Name Flags
object
stamp
public static native java.lang.Object piCast(java.lang.Object, org.graalvm.compiler.core.common.type.Stamp, org.graalvm.compiler.nodes.extended.GuardingNode);
descriptor: (Ljava/lang/Object;Lorg/graalvm/compiler/core/common/type/Stamp;Lorg/graalvm/compiler/nodes/extended/GuardingNode;)Ljava/lang/Object;
flags: (0x0109) ACC_PUBLIC, ACC_STATIC, ACC_NATIVE
RuntimeVisibleAnnotations:
org.graalvm.compiler.graph.Node$NodeIntrinsic()
RuntimeVisibleParameterAnnotations:
0:
1:
org.graalvm.compiler.graph.Node$ConstantNodeParameter()
2:
MethodParameters:
Name Flags
object
stamp
anchor
public static native java.lang.Object piCastNonNull(java.lang.Object, org.graalvm.compiler.nodes.extended.GuardingNode);
descriptor: (Ljava/lang/Object;Lorg/graalvm/compiler/nodes/extended/GuardingNode;)Ljava/lang/Object;
flags: (0x0109) ACC_PUBLIC, ACC_STATIC, ACC_NATIVE
RuntimeVisibleAnnotations:
org.graalvm.compiler.graph.Node$NodeIntrinsic()
MethodParameters:
Name Flags
object
anchor
public static piCastNonNull(, java.lang.Class<?>);
descriptor: (Ljava/lang/Object;Ljava/lang/Class;)Ljava/lang/Object;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=4, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
iconst_0
iconst_1
invokestatic org.graalvm.compiler.nodes.PiNode.piCast:(Ljava/lang/Object;Ljava/lang/Class;ZZ)Ljava/lang/Object;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 object Ljava/lang/Object;
0 1 1 toType Ljava/lang/Class<*>;
Signature: (Ljava/lang/Object;Ljava/lang/Class<*>;)Ljava/lang/Object;
RuntimeVisibleParameterAnnotations:
0:
1:
org.graalvm.compiler.graph.Node$ConstantNodeParameter()
MethodParameters:
Name Flags
object
toType
public static native piCast(, java.lang.Class<?>, boolean, boolean);
descriptor: (Ljava/lang/Object;Ljava/lang/Class;ZZ)Ljava/lang/Object;
flags: (0x0109) ACC_PUBLIC, ACC_STATIC, ACC_NATIVE
Signature: (Ljava/lang/Object;Ljava/lang/Class<*>;ZZ)Ljava/lang/Object;
RuntimeVisibleAnnotations:
org.graalvm.compiler.graph.Node$NodeIntrinsic()
RuntimeVisibleParameterAnnotations:
0:
1:
org.graalvm.compiler.graph.Node$ConstantNodeParameter()
2:
org.graalvm.compiler.graph.Node$ConstantNodeParameter()
3:
org.graalvm.compiler.graph.Node$ConstantNodeParameter()
MethodParameters:
Name Flags
object
toType
exactType
nonNull
public org.graalvm.compiler.graph.Node getOriginalNode();
descriptor: ()Lorg/graalvm/compiler/graph/Node;
flags: (0x1041) ACC_PUBLIC, ACC_BRIDGE, ACC_SYNTHETIC
Code:
stack=1, locals=1, args_size=1
0: aload 0
invokevirtual org.graalvm.compiler.nodes.PiNode.getOriginalNode:()Lorg/graalvm/compiler/nodes/ValueNode;
areturn
LocalVariableTable:
Start End Slot Name Signature
}
SourceFile: "PiNode.java"
InnerClasses:
public abstract ConstantNodeParameter = org.graalvm.compiler.graph.Node$ConstantNodeParameter of org.graalvm.compiler.graph.Node
public abstract Input = org.graalvm.compiler.graph.Node$Input of org.graalvm.compiler.graph.Node
public abstract NodeIntrinsic = org.graalvm.compiler.graph.Node$NodeIntrinsic of org.graalvm.compiler.graph.Node
RuntimeVisibleAnnotations:
org.graalvm.compiler.nodeinfo.NodeInfo(cycles = org.graalvm.compiler.nodeinfo.NodeCycles.CYCLES_0:Lorg/graalvm/compiler/nodeinfo/NodeCycles;, size = org.graalvm.compiler.nodeinfo.NodeSize.SIZE_0:Lorg/graalvm/compiler/nodeinfo/NodeSize;)