public class com.oracle.svm.hosted.phases.StrengthenStampsPhase extends org.graalvm.compiler.phases.Phase
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: com.oracle.svm.hosted.phases.StrengthenStampsPhase
super_class: org.graalvm.compiler.phases.Phase
{
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: ldc Lcom/oracle/svm/hosted/phases/StrengthenStampsPhase;
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 com.oracle.svm.hosted.phases.StrengthenStampsPhase.$assertionsDisabled:Z
return
LocalVariableTable:
Start End Slot Name Signature
public void <init>();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokespecial org.graalvm.compiler.phases.Phase.<init>:()V
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/svm/hosted/phases/StrengthenStampsPhase;
protected void run(org.graalvm.compiler.nodes.StructuredGraph);
descriptor: (Lorg/graalvm/compiler/nodes/StructuredGraph;)V
flags: (0x0004) ACC_PROTECTED
Code:
stack=6, locals=6, args_size=2
start local 0 start local 1 0: aload 1
invokevirtual org.graalvm.compiler.nodes.StructuredGraph.getNodes:()Lorg/graalvm/compiler/graph/iterators/NodeIterable;
invokeinterface org.graalvm.compiler.graph.iterators.NodeIterable.iterator:()Ljava/util/Iterator;
astore 3
goto 23
StackMap locals: com.oracle.svm.hosted.phases.StrengthenStampsPhase org.graalvm.compiler.nodes.StructuredGraph top java.util.Iterator
StackMap stack:
1: aload 3
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast org.graalvm.compiler.graph.Node
astore 2
start local 2 2: aload 2
instanceof org.graalvm.compiler.nodes.ValueNode
ifeq 8
aload 2
instanceof org.graalvm.compiler.nodes.spi.LimitedValueProxy
ifne 8
aload 2
instanceof org.graalvm.compiler.nodes.PhiNode
ifne 8
3: aload 2
checkcast org.graalvm.compiler.nodes.ValueNode
astore 4
start local 4 4: aload 4
invokevirtual org.graalvm.compiler.nodes.ValueNode.inferStamp:()Z
pop
5: aload 0
aload 4
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;
invokevirtual com.oracle.svm.hosted.phases.StrengthenStampsPhase.strengthen:(Lorg/graalvm/compiler/core/common/type/Stamp;)Lorg/graalvm/compiler/core/common/type/Stamp;
astore 5
start local 5 6: aload 5
ifnull 8
7: aload 4
aload 5
invokevirtual org.graalvm.compiler.nodes.ValueNode.setStamp:(Lorg/graalvm/compiler/core/common/type/Stamp;)V
end local 5 end local 4 8: StackMap locals: com.oracle.svm.hosted.phases.StrengthenStampsPhase org.graalvm.compiler.nodes.StructuredGraph org.graalvm.compiler.graph.Node java.util.Iterator
StackMap stack:
aload 2
instanceof org.graalvm.compiler.nodes.java.LoadFieldNode
ifeq 12
9: aload 2
checkcast org.graalvm.compiler.nodes.java.LoadFieldNode
astore 4
start local 4 10: aload 0
aload 4
aload 0
aload 4
invokevirtual org.graalvm.compiler.nodes.java.LoadFieldNode.field:()Ljdk/vm/ci/meta/ResolvedJavaField;
invokevirtual com.oracle.svm.hosted.phases.StrengthenStampsPhase.toHosted:(Ljdk/vm/ci/meta/ResolvedJavaField;)Lcom/oracle/svm/hosted/meta/HostedField;
invokevirtual com.oracle.svm.hosted.meta.HostedField.getFieldTypeProfile:()Ljdk/vm/ci/meta/JavaTypeProfile;
invokevirtual com.oracle.svm.hosted.phases.StrengthenStampsPhase.updateStamp:(Lorg/graalvm/compiler/nodes/ValueNode;Ljdk/vm/ci/meta/JavaTypeProfile;)V
end local 4 11: goto 23
StackMap locals:
StackMap stack:
12: aload 2
instanceof org.graalvm.compiler.nodes.java.InstanceOfNode
ifeq 18
13: aload 2
checkcast org.graalvm.compiler.nodes.java.InstanceOfNode
astore 4
start local 4 14: aload 0
aload 4
invokevirtual org.graalvm.compiler.nodes.java.InstanceOfNode.getCheckedStamp:()Lorg/graalvm/compiler/core/common/type/ObjectStamp;
invokevirtual com.oracle.svm.hosted.phases.StrengthenStampsPhase.strengthen:(Lorg/graalvm/compiler/core/common/type/Stamp;)Lorg/graalvm/compiler/core/common/type/Stamp;
checkcast org.graalvm.compiler.core.common.type.ObjectStamp
astore 5
start local 5 15: aload 5
ifnull 23
16: aload 4
aload 1
aload 5
aload 4
invokevirtual org.graalvm.compiler.nodes.java.InstanceOfNode.getValue:()Lorg/graalvm/compiler/nodes/ValueNode;
aload 4
invokevirtual org.graalvm.compiler.nodes.java.InstanceOfNode.profile:()Ljdk/vm/ci/meta/JavaTypeProfile;
aload 4
invokevirtual org.graalvm.compiler.nodes.java.InstanceOfNode.getAnchor:()Lorg/graalvm/compiler/nodes/extended/AnchoringNode;
invokestatic org.graalvm.compiler.nodes.java.InstanceOfNode.createHelper:(Lorg/graalvm/compiler/core/common/type/ObjectStamp;Lorg/graalvm/compiler/nodes/ValueNode;Ljdk/vm/ci/meta/JavaTypeProfile;Lorg/graalvm/compiler/nodes/extended/AnchoringNode;)Lorg/graalvm/compiler/nodes/LogicNode;
invokevirtual org.graalvm.compiler.nodes.StructuredGraph.addOrUniqueWithInputs:(Lorg/graalvm/compiler/graph/Node;)Lorg/graalvm/compiler/graph/Node;
invokevirtual org.graalvm.compiler.nodes.java.InstanceOfNode.replaceAndDelete:(Lorg/graalvm/compiler/graph/Node;)V
end local 5 end local 4 17: goto 23
StackMap locals:
StackMap stack:
18: aload 2
instanceof org.graalvm.compiler.nodes.PiNode
ifeq 23
19: aload 2
checkcast org.graalvm.compiler.nodes.PiNode
astore 4
start local 4 20: aload 0
aload 4
invokevirtual org.graalvm.compiler.nodes.PiNode.piStamp:()Lorg/graalvm/compiler/core/common/type/Stamp;
invokevirtual com.oracle.svm.hosted.phases.StrengthenStampsPhase.strengthen:(Lorg/graalvm/compiler/core/common/type/Stamp;)Lorg/graalvm/compiler/core/common/type/Stamp;
astore 5
start local 5 21: aload 5
ifnull 23
22: aload 4
aload 5
invokevirtual org.graalvm.compiler.nodes.PiNode.strengthenPiStamp:(Lorg/graalvm/compiler/core/common/type/Stamp;)V
end local 5 end local 4 end local 2 23: StackMap locals: com.oracle.svm.hosted.phases.StrengthenStampsPhase org.graalvm.compiler.nodes.StructuredGraph top java.util.Iterator
StackMap stack:
aload 3
invokeinterface java.util.Iterator.hasNext:()Z
ifne 1
24: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 25 0 this Lcom/oracle/svm/hosted/phases/StrengthenStampsPhase;
0 25 1 graph Lorg/graalvm/compiler/nodes/StructuredGraph;
2 23 2 n Lorg/graalvm/compiler/graph/Node;
4 8 4 node Lorg/graalvm/compiler/nodes/ValueNode;
6 8 5 newStamp Lorg/graalvm/compiler/core/common/type/Stamp;
10 11 4 node Lorg/graalvm/compiler/nodes/java/LoadFieldNode;
14 17 4 node Lorg/graalvm/compiler/nodes/java/InstanceOfNode;
15 17 5 newStamp Lorg/graalvm/compiler/core/common/type/ObjectStamp;
20 23 4 node Lorg/graalvm/compiler/nodes/PiNode;
21 23 5 newStamp Lorg/graalvm/compiler/core/common/type/Stamp;
MethodParameters:
Name Flags
graph
private org.graalvm.compiler.core.common.type.Stamp strengthen(org.graalvm.compiler.core.common.type.Stamp);
descriptor: (Lorg/graalvm/compiler/core/common/type/Stamp;)Lorg/graalvm/compiler/core/common/type/Stamp;
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=8, args_size=2
start local 0 start local 1 0: aload 1
instanceof org.graalvm.compiler.core.common.type.AbstractObjectStamp
ifne 2
1: aconst_null
areturn
2: StackMap locals:
StackMap stack:
aload 1
checkcast org.graalvm.compiler.core.common.type.AbstractObjectStamp
astore 2
start local 2 3: aload 0
aload 2
invokevirtual org.graalvm.compiler.core.common.type.AbstractObjectStamp.type:()Ljdk/vm/ci/meta/ResolvedJavaType;
invokevirtual com.oracle.svm.hosted.phases.StrengthenStampsPhase.toHosted:(Ljdk/vm/ci/meta/ResolvedJavaType;)Lcom/oracle/svm/hosted/meta/HostedType;
astore 3
start local 3 4: aload 3
ifnonnull 6
5: aconst_null
areturn
6: StackMap locals: org.graalvm.compiler.core.common.type.AbstractObjectStamp com.oracle.svm.hosted.meta.HostedType
StackMap stack:
aload 3
invokevirtual com.oracle.svm.hosted.meta.HostedType.getStrengthenStampType:()Lcom/oracle/svm/hosted/meta/HostedType;
astore 4
start local 4 7: aload 3
aload 4
invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
ifeq 9
8: aconst_null
areturn
9: StackMap locals: com.oracle.svm.hosted.meta.HostedType
StackMap stack:
aload 4
ifnonnull 15
10: aload 2
invokevirtual org.graalvm.compiler.core.common.type.AbstractObjectStamp.nonNull:()Z
ifeq 13
11: getstatic jdk.vm.ci.meta.JavaKind.Object:Ljdk/vm/ci/meta/JavaKind;
invokestatic org.graalvm.compiler.core.common.type.StampFactory.empty:(Ljdk/vm/ci/meta/JavaKind;)Lorg/graalvm/compiler/core/common/type/Stamp;
astore 5
start local 5 12: goto 23
end local 5 13: StackMap locals:
StackMap stack:
invokestatic org.graalvm.compiler.core.common.type.StampFactory.alwaysNull:()Lorg/graalvm/compiler/core/common/type/Stamp;
astore 5
start local 5 14: goto 23
end local 5 15: StackMap locals:
StackMap stack:
aload 2
invokevirtual org.graalvm.compiler.core.common.type.AbstractObjectStamp.isExactType:()Z
ifeq 18
16: getstatic jdk.vm.ci.meta.JavaKind.Object:Ljdk/vm/ci/meta/JavaKind;
invokestatic org.graalvm.compiler.core.common.type.StampFactory.empty:(Ljdk/vm/ci/meta/JavaKind;)Lorg/graalvm/compiler/core/common/type/Stamp;
astore 5
start local 5 17: goto 23
end local 5 18: StackMap locals:
StackMap stack:
aload 0
aload 4
invokevirtual com.oracle.svm.hosted.phases.StrengthenStampsPhase.toTarget:(Ljdk/vm/ci/meta/ResolvedJavaType;)Ljdk/vm/ci/meta/ResolvedJavaType;
astore 6
start local 6 19: aload 6
ifnonnull 21
20: aconst_null
areturn
21: StackMap locals: com.oracle.svm.hosted.phases.StrengthenStampsPhase org.graalvm.compiler.core.common.type.Stamp org.graalvm.compiler.core.common.type.AbstractObjectStamp com.oracle.svm.hosted.meta.HostedType com.oracle.svm.hosted.meta.HostedType top jdk.vm.ci.meta.ResolvedJavaType
StackMap stack:
aload 6
invokestatic org.graalvm.compiler.core.common.type.TypeReference.createTrustedWithoutAssumptions:(Ljdk/vm/ci/meta/ResolvedJavaType;)Lorg/graalvm/compiler/core/common/type/TypeReference;
astore 7
start local 7 22: aload 7
aload 2
invokevirtual org.graalvm.compiler.core.common.type.AbstractObjectStamp.nonNull:()Z
invokestatic org.graalvm.compiler.core.common.type.StampFactory.object:(Lorg/graalvm/compiler/core/common/type/TypeReference;Z)Lorg/graalvm/compiler/core/common/type/ObjectStamp;
astore 5
end local 7 end local 6 start local 5 23: StackMap locals: com.oracle.svm.hosted.phases.StrengthenStampsPhase org.graalvm.compiler.core.common.type.Stamp org.graalvm.compiler.core.common.type.AbstractObjectStamp com.oracle.svm.hosted.meta.HostedType com.oracle.svm.hosted.meta.HostedType org.graalvm.compiler.core.common.type.Stamp
StackMap stack:
aload 5
areturn
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 24 0 this Lcom/oracle/svm/hosted/phases/StrengthenStampsPhase;
0 24 1 s Lorg/graalvm/compiler/core/common/type/Stamp;
3 24 2 stamp Lorg/graalvm/compiler/core/common/type/AbstractObjectStamp;
4 24 3 originalType Lcom/oracle/svm/hosted/meta/HostedType;
7 24 4 strengthenType Lcom/oracle/svm/hosted/meta/HostedType;
12 13 5 newStamp Lorg/graalvm/compiler/core/common/type/Stamp;
14 15 5 newStamp Lorg/graalvm/compiler/core/common/type/Stamp;
17 18 5 newStamp Lorg/graalvm/compiler/core/common/type/Stamp;
23 24 5 newStamp Lorg/graalvm/compiler/core/common/type/Stamp;
19 23 6 targetType Ljdk/vm/ci/meta/ResolvedJavaType;
22 23 7 typeRef Lorg/graalvm/compiler/core/common/type/TypeReference;
MethodParameters:
Name Flags
s
private void updateStamp(org.graalvm.compiler.nodes.ValueNode, jdk.vm.ci.meta.JavaTypeProfile);
descriptor: (Lorg/graalvm/compiler/nodes/ValueNode;Ljdk/vm/ci/meta/JavaTypeProfile;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=6, locals=4, args_size=3
start local 0 start local 1 start local 2 0: aload 1
invokevirtual org.graalvm.compiler.nodes.ValueNode.getStackKind:()Ljdk/vm/ci/meta/JavaKind;
getstatic jdk.vm.ci.meta.JavaKind.Object:Ljdk/vm/ci/meta/JavaKind;
if_acmpeq 2
1: return
2: StackMap locals:
StackMap stack:
aload 2
ifnull 7
3: aload 0
aload 1
aload 2
invokevirtual com.oracle.svm.hosted.phases.StrengthenStampsPhase.strengthenStamp:(Lorg/graalvm/compiler/nodes/ValueNode;Ljdk/vm/ci/meta/JavaTypeProfile;)Lorg/graalvm/compiler/core/common/type/Stamp;
astore 3
start local 3 4: aload 3
aload 1
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;
invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
ifne 7
5: aload 1
invokevirtual org.graalvm.compiler.nodes.ValueNode.getDebug:()Lorg/graalvm/compiler/debug/DebugContext;
ldc "STAMP UPDATE method %s node %s old %s new %s\n"
aload 1
invokevirtual org.graalvm.compiler.nodes.ValueNode.graph:()Lorg/graalvm/compiler/nodes/StructuredGraph;
invokevirtual org.graalvm.compiler.nodes.StructuredGraph.method:()Ljdk/vm/ci/meta/ResolvedJavaMethod;
ldc "%H.%n(%p)"
invokeinterface jdk.vm.ci.meta.ResolvedJavaMethod.format:(Ljava/lang/String;)Ljava/lang/String;
aload 1
aload 1
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;
aload 3
invokevirtual org.graalvm.compiler.debug.DebugContext.log:(Ljava/lang/String;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)V
6: aload 1
aload 3
invokevirtual org.graalvm.compiler.nodes.ValueNode.setStamp:(Lorg/graalvm/compiler/core/common/type/Stamp;)V
end local 3 7: StackMap locals:
StackMap stack:
return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 this Lcom/oracle/svm/hosted/phases/StrengthenStampsPhase;
0 8 1 node Lorg/graalvm/compiler/nodes/ValueNode;
0 8 2 typeProfile Ljdk/vm/ci/meta/JavaTypeProfile;
4 7 3 newStamp Lorg/graalvm/compiler/core/common/type/Stamp;
MethodParameters:
Name Flags
node
typeProfile
private org.graalvm.compiler.core.common.type.Stamp strengthenStamp(org.graalvm.compiler.nodes.ValueNode, jdk.vm.ci.meta.JavaTypeProfile);
descriptor: (Lorg/graalvm/compiler/nodes/ValueNode;Ljdk/vm/ci/meta/JavaTypeProfile;)Lorg/graalvm/compiler/core/common/type/Stamp;
flags: (0x0002) ACC_PRIVATE
Code:
stack=9, locals=10, args_size=3
start local 0 start local 1 start local 2 0: aload 1
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;
checkcast org.graalvm.compiler.core.common.type.ObjectStamp
astore 3
start local 3 1: aload 0
aload 3
invokevirtual org.graalvm.compiler.core.common.type.ObjectStamp.type:()Ljdk/vm/ci/meta/ResolvedJavaType;
invokevirtual com.oracle.svm.hosted.phases.StrengthenStampsPhase.toHosted:(Ljdk/vm/ci/meta/ResolvedJavaType;)Lcom/oracle/svm/hosted/meta/HostedType;
astore 4
start local 4 2: aload 3
invokevirtual org.graalvm.compiler.core.common.type.ObjectStamp.alwaysNull:()Z
ifeq 4
3: aload 3
areturn
4: StackMap locals: org.graalvm.compiler.core.common.type.ObjectStamp com.oracle.svm.hosted.meta.HostedType
StackMap stack:
aload 3
invokevirtual org.graalvm.compiler.core.common.type.ObjectStamp.nonNull:()Z
ifne 5
aload 2
invokevirtual jdk.vm.ci.meta.JavaTypeProfile.getNullSeen:()Ljdk/vm/ci/meta/TriState;
getstatic jdk.vm.ci.meta.TriState.FALSE:Ljdk/vm/ci/meta/TriState;
if_acmpeq 5
iconst_0
goto 6
StackMap locals:
StackMap stack:
5: iconst_1
StackMap locals:
StackMap stack: int
6: istore 5
start local 5 7: aload 2
invokevirtual jdk.vm.ci.meta.JavaTypeProfile.getTypes:()[Ljdk/vm/ci/meta/JavaTypeProfile$ProfiledType;
astore 6
start local 6 8: aload 6
arraylength
iconst_1
if_icmpne 20
9: aload 6
iconst_0
aaload
invokevirtual jdk.vm.ci.meta.JavaTypeProfile$ProfiledType.getType:()Ljdk/vm/ci/meta/ResolvedJavaType;
astore 7
start local 7 10: getstatic com.oracle.svm.hosted.phases.StrengthenStampsPhase.$assertionsDisabled:Z
ifne 11
aload 4
ifnull 11
aload 4
aload 7
invokevirtual com.oracle.svm.hosted.meta.HostedType.isAssignableFrom:(Ljdk/vm/ci/meta/ResolvedJavaType;)Z
ifne 11
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
11: StackMap locals: int jdk.vm.ci.meta.JavaTypeProfile$ProfiledType[] jdk.vm.ci.meta.ResolvedJavaType
StackMap stack:
aload 3
invokevirtual org.graalvm.compiler.core.common.type.ObjectStamp.isExactType:()Z
ifeq 12
aload 7
aload 4
invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
ifeq 12
iload 5
aload 3
invokevirtual org.graalvm.compiler.core.common.type.ObjectStamp.nonNull:()Z
if_icmpeq 19
12: StackMap locals:
StackMap stack:
aload 0
aload 7
invokevirtual com.oracle.svm.hosted.phases.StrengthenStampsPhase.toTarget:(Ljdk/vm/ci/meta/ResolvedJavaType;)Ljdk/vm/ci/meta/ResolvedJavaType;
astore 8
start local 8 13: aload 8
ifnonnull 15
14: aload 3
areturn
15: StackMap locals: jdk.vm.ci.meta.ResolvedJavaType
StackMap stack:
aload 8
invokestatic org.graalvm.compiler.core.common.type.TypeReference.createExactTrusted:(Ljdk/vm/ci/meta/ResolvedJavaType;)Lorg/graalvm/compiler/core/common/type/TypeReference;
astore 9
start local 9 16: iload 5
ifeq 17
aload 9
invokestatic org.graalvm.compiler.core.common.type.StampFactory.objectNonNull:(Lorg/graalvm/compiler/core/common/type/TypeReference;)Lorg/graalvm/compiler/core/common/type/ObjectStamp;
goto 18
StackMap locals: org.graalvm.compiler.core.common.type.TypeReference
StackMap stack:
17: aload 9
invokestatic org.graalvm.compiler.core.common.type.StampFactory.object:(Lorg/graalvm/compiler/core/common/type/TypeReference;)Lorg/graalvm/compiler/core/common/type/ObjectStamp;
StackMap locals:
StackMap stack: org.graalvm.compiler.core.common.type.ObjectStamp
18: areturn
end local 9 end local 8 19: StackMap locals:
StackMap stack:
aload 3
areturn
end local 7 20: StackMap locals:
StackMap stack:
aload 6
arraylength
ifne 33
21: iload 5
ifne 23
22: invokestatic org.graalvm.compiler.core.common.type.StampFactory.alwaysNull:()Lorg/graalvm/compiler/core/common/type/Stamp;
areturn
23: StackMap locals:
StackMap stack:
aload 1
invokevirtual org.graalvm.compiler.nodes.ValueNode.graph:()Lorg/graalvm/compiler/nodes/StructuredGraph;
astore 7
start local 7 24: aload 1
instanceof org.graalvm.compiler.nodes.ParameterNode
ifeq 27
25: aload 7
invokevirtual org.graalvm.compiler.nodes.StructuredGraph.start:()Lorg/graalvm/compiler/nodes/StartNode;
astore 8
start local 8 26: goto 31
end local 8 StackMap locals: org.graalvm.compiler.nodes.StructuredGraph
StackMap stack:
27: aload 1
instanceof org.graalvm.compiler.nodes.InvokeWithExceptionNode
ifeq 30
28: aload 1
checkcast org.graalvm.compiler.nodes.InvokeWithExceptionNode
invokevirtual org.graalvm.compiler.nodes.InvokeWithExceptionNode.next:()Lorg/graalvm/compiler/nodes/AbstractBeginNode;
astore 8
start local 8 29: goto 31
end local 8 30: StackMap locals:
StackMap stack:
aload 1
checkcast org.graalvm.compiler.nodes.FixedWithNextNode
astore 8
start local 8 31: StackMap locals: org.graalvm.compiler.nodes.FixedWithNextNode
StackMap stack:
aload 7
aload 8
aload 7
new org.graalvm.compiler.nodes.FixedGuardNode
dup
iconst_1
aload 7
invokestatic org.graalvm.compiler.nodes.LogicConstantNode.forBoolean:(ZLorg/graalvm/compiler/graph/Graph;)Lorg/graalvm/compiler/nodes/LogicConstantNode;
getstatic jdk.vm.ci.meta.DeoptimizationReason.UnreachedCode:Ljdk/vm/ci/meta/DeoptimizationReason;
getstatic jdk.vm.ci.meta.DeoptimizationAction.None:Ljdk/vm/ci/meta/DeoptimizationAction;
iconst_1
invokespecial org.graalvm.compiler.nodes.FixedGuardNode.<init>:(Lorg/graalvm/compiler/nodes/LogicNode;Ljdk/vm/ci/meta/DeoptimizationReason;Ljdk/vm/ci/meta/DeoptimizationAction;Z)V
invokevirtual org.graalvm.compiler.nodes.StructuredGraph.add:(Lorg/graalvm/compiler/graph/Node;)Lorg/graalvm/compiler/graph/Node;
checkcast org.graalvm.compiler.nodes.FixedNode
invokevirtual org.graalvm.compiler.nodes.StructuredGraph.addAfterFixed:(Lorg/graalvm/compiler/nodes/FixedWithNextNode;Lorg/graalvm/compiler/nodes/FixedNode;)V
32: aload 3
areturn
end local 8 end local 7 33: StackMap locals:
StackMap stack:
aload 3
invokevirtual org.graalvm.compiler.core.common.type.ObjectStamp.isExactType:()Z
ifeq 36
34: aload 4
astore 7
start local 7 35: goto 47
end local 7 36: StackMap locals:
StackMap stack:
getstatic com.oracle.svm.hosted.phases.StrengthenStampsPhase.$assertionsDisabled:Z
ifne 37
aload 6
arraylength
iconst_1
if_icmpgt 37
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
37: StackMap locals:
StackMap stack:
getstatic com.oracle.svm.hosted.phases.StrengthenStampsPhase.$assertionsDisabled:Z
ifne 38
aload 4
ifnull 38
aload 4
aload 6
iconst_0
aaload
invokevirtual jdk.vm.ci.meta.JavaTypeProfile$ProfiledType.getType:()Ljdk/vm/ci/meta/ResolvedJavaType;
invokevirtual com.oracle.svm.hosted.meta.HostedType.isAssignableFrom:(Ljdk/vm/ci/meta/ResolvedJavaType;)Z
ifne 38
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
38: StackMap locals:
StackMap stack:
aload 6
iconst_0
aaload
invokevirtual jdk.vm.ci.meta.JavaTypeProfile$ProfiledType.getType:()Ljdk/vm/ci/meta/ResolvedJavaType;
astore 7
start local 7 39: iconst_1
istore 8
start local 8 40: goto 44
41: StackMap locals: jdk.vm.ci.meta.ResolvedJavaType int
StackMap stack:
getstatic com.oracle.svm.hosted.phases.StrengthenStampsPhase.$assertionsDisabled:Z
ifne 42
aload 4
ifnull 42
aload 4
aload 6
iload 8
aaload
invokevirtual jdk.vm.ci.meta.JavaTypeProfile$ProfiledType.getType:()Ljdk/vm/ci/meta/ResolvedJavaType;
invokevirtual com.oracle.svm.hosted.meta.HostedType.isAssignableFrom:(Ljdk/vm/ci/meta/ResolvedJavaType;)Z
ifne 42
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
42: StackMap locals:
StackMap stack:
aload 7
aload 6
iload 8
aaload
invokevirtual jdk.vm.ci.meta.JavaTypeProfile$ProfiledType.getType:()Ljdk/vm/ci/meta/ResolvedJavaType;
invokeinterface jdk.vm.ci.meta.ResolvedJavaType.findLeastCommonAncestor:(Ljdk/vm/ci/meta/ResolvedJavaType;)Ljdk/vm/ci/meta/ResolvedJavaType;
astore 7
43: iinc 8 1
StackMap locals:
StackMap stack:
44: iload 8
aload 6
arraylength
if_icmplt 41
end local 8 45: aload 4
ifnull 47
aload 4
aload 7
invokevirtual com.oracle.svm.hosted.meta.HostedType.isAssignableFrom:(Ljdk/vm/ci/meta/ResolvedJavaType;)Z
ifne 47
46: aload 4
astore 7
47: StackMap locals:
StackMap stack:
aload 7
aload 4
invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
ifeq 48
iload 5
aload 3
invokevirtual org.graalvm.compiler.core.common.type.ObjectStamp.nonNull:()Z
if_icmpeq 55
48: StackMap locals:
StackMap stack:
aload 0
aload 7
invokevirtual com.oracle.svm.hosted.phases.StrengthenStampsPhase.toTarget:(Ljdk/vm/ci/meta/ResolvedJavaType;)Ljdk/vm/ci/meta/ResolvedJavaType;
astore 8
start local 8 49: aload 8
ifnonnull 51
50: aload 3
areturn
51: StackMap locals: jdk.vm.ci.meta.ResolvedJavaType
StackMap stack:
aload 8
invokestatic org.graalvm.compiler.core.common.type.TypeReference.createTrustedWithoutAssumptions:(Ljdk/vm/ci/meta/ResolvedJavaType;)Lorg/graalvm/compiler/core/common/type/TypeReference;
astore 9
start local 9 52: iload 5
ifeq 53
aload 9
invokestatic org.graalvm.compiler.core.common.type.StampFactory.objectNonNull:(Lorg/graalvm/compiler/core/common/type/TypeReference;)Lorg/graalvm/compiler/core/common/type/ObjectStamp;
goto 54
StackMap locals: org.graalvm.compiler.core.common.type.TypeReference
StackMap stack:
53: aload 9
invokestatic org.graalvm.compiler.core.common.type.StampFactory.object:(Lorg/graalvm/compiler/core/common/type/TypeReference;)Lorg/graalvm/compiler/core/common/type/ObjectStamp;
StackMap locals:
StackMap stack: org.graalvm.compiler.core.common.type.ObjectStamp
54: areturn
end local 9 end local 8 55: StackMap locals:
StackMap stack:
aload 3
areturn
end local 7 end local 6 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 56 0 this Lcom/oracle/svm/hosted/phases/StrengthenStampsPhase;
0 56 1 node Lorg/graalvm/compiler/nodes/ValueNode;
0 56 2 typeProfile Ljdk/vm/ci/meta/JavaTypeProfile;
1 56 3 oldStamp Lorg/graalvm/compiler/core/common/type/ObjectStamp;
2 56 4 oldType Lcom/oracle/svm/hosted/meta/HostedType;
7 56 5 nonNull Z
8 56 6 exactTypes [Ljdk/vm/ci/meta/JavaTypeProfile$ProfiledType;
10 20 7 exactType Ljdk/vm/ci/meta/ResolvedJavaType;
13 19 8 targetType Ljdk/vm/ci/meta/ResolvedJavaType;
16 19 9 typeRef Lorg/graalvm/compiler/core/common/type/TypeReference;
24 33 7 graph Lorg/graalvm/compiler/nodes/StructuredGraph;
26 27 8 insertionPoint Lorg/graalvm/compiler/nodes/FixedWithNextNode;
29 30 8 insertionPoint Lorg/graalvm/compiler/nodes/FixedWithNextNode;
31 33 8 insertionPoint Lorg/graalvm/compiler/nodes/FixedWithNextNode;
35 36 7 baseType Ljdk/vm/ci/meta/ResolvedJavaType;
39 56 7 baseType Ljdk/vm/ci/meta/ResolvedJavaType;
40 45 8 i I
49 55 8 targetType Ljdk/vm/ci/meta/ResolvedJavaType;
52 55 9 typeRef Lorg/graalvm/compiler/core/common/type/TypeReference;
MethodParameters:
Name Flags
node
typeProfile
protected com.oracle.svm.hosted.meta.HostedType toHosted(jdk.vm.ci.meta.ResolvedJavaType);
descriptor: (Ljdk/vm/ci/meta/ResolvedJavaType;)Lcom/oracle/svm/hosted/meta/HostedType;
flags: (0x0004) ACC_PROTECTED
Code:
stack=1, locals=2, args_size=2
start local 0 start local 1 0: aload 1
checkcast com.oracle.svm.hosted.meta.HostedType
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/svm/hosted/phases/StrengthenStampsPhase;
0 1 1 type Ljdk/vm/ci/meta/ResolvedJavaType;
MethodParameters:
Name Flags
type
protected com.oracle.svm.hosted.meta.HostedMethod toHosted(jdk.vm.ci.meta.ResolvedJavaMethod);
descriptor: (Ljdk/vm/ci/meta/ResolvedJavaMethod;)Lcom/oracle/svm/hosted/meta/HostedMethod;
flags: (0x0004) ACC_PROTECTED
Code:
stack=1, locals=2, args_size=2
start local 0 start local 1 0: aload 1
checkcast com.oracle.svm.hosted.meta.HostedMethod
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/svm/hosted/phases/StrengthenStampsPhase;
0 1 1 method Ljdk/vm/ci/meta/ResolvedJavaMethod;
MethodParameters:
Name Flags
method
protected com.oracle.svm.hosted.meta.HostedField toHosted(jdk.vm.ci.meta.ResolvedJavaField);
descriptor: (Ljdk/vm/ci/meta/ResolvedJavaField;)Lcom/oracle/svm/hosted/meta/HostedField;
flags: (0x0004) ACC_PROTECTED
Code:
stack=1, locals=2, args_size=2
start local 0 start local 1 0: aload 1
checkcast com.oracle.svm.hosted.meta.HostedField
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/svm/hosted/phases/StrengthenStampsPhase;
0 1 1 field Ljdk/vm/ci/meta/ResolvedJavaField;
MethodParameters:
Name Flags
field
protected jdk.vm.ci.meta.ResolvedJavaType toTarget(jdk.vm.ci.meta.ResolvedJavaType);
descriptor: (Ljdk/vm/ci/meta/ResolvedJavaType;)Ljdk/vm/ci/meta/ResolvedJavaType;
flags: (0x0004) ACC_PROTECTED
Code:
stack=1, locals=2, args_size=2
start local 0 start local 1 0: aload 1
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/svm/hosted/phases/StrengthenStampsPhase;
0 1 1 type Ljdk/vm/ci/meta/ResolvedJavaType;
MethodParameters:
Name Flags
type
}
SourceFile: "StrengthenStampsPhase.java"
InnerClasses:
public ProfiledType = jdk.vm.ci.meta.JavaTypeProfile$ProfiledType of jdk.vm.ci.meta.JavaTypeProfile