public final class org.graalvm.compiler.nodes.java.ExceptionObjectNode extends org.graalvm.compiler.nodes.BeginStateSplitNode implements org.graalvm.compiler.nodes.spi.Lowerable, org.graalvm.compiler.nodes.memory.MemoryCheckpoint$Single
minor version: 0
major version: 59
flags: flags: (0x0031) ACC_PUBLIC, ACC_FINAL, ACC_SUPER
this_class: org.graalvm.compiler.nodes.java.ExceptionObjectNode
super_class: org.graalvm.compiler.nodes.BeginStateSplitNode
{
public static final org.graalvm.compiler.graph.NodeClass<org.graalvm.compiler.nodes.java.ExceptionObjectNode> 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/java/ExceptionObjectNode;>;
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=1, locals=0, args_size=0
0: ldc Lorg/graalvm/compiler/nodes/java/ExceptionObjectNode;
invokestatic org.graalvm.compiler.graph.NodeClass.create:(Ljava/lang/Class;)Lorg/graalvm/compiler/graph/NodeClass;
putstatic org.graalvm.compiler.nodes.java.ExceptionObjectNode.TYPE:Lorg/graalvm/compiler/graph/NodeClass;
return
LocalVariableTable:
Start End Slot Name Signature
public void <init>(jdk.vm.ci.meta.MetaAccessProvider);
descriptor: (Ljdk/vm/ci/meta/MetaAccessProvider;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getstatic org.graalvm.compiler.nodes.java.ExceptionObjectNode.TYPE:Lorg/graalvm/compiler/graph/NodeClass;
aload 1
ldc Ljava/lang/Throwable;
invokeinterface jdk.vm.ci.meta.MetaAccessProvider.lookupJavaType:(Ljava/lang/Class;)Ljdk/vm/ci/meta/ResolvedJavaType;
invokestatic org.graalvm.compiler.core.common.type.TypeReference.createTrustedWithoutAssumptions:(Ljdk/vm/ci/meta/ResolvedJavaType;)Lorg/graalvm/compiler/core/common/type/TypeReference;
invokestatic org.graalvm.compiler.core.common.type.StampFactory.objectNonNull:(Lorg/graalvm/compiler/core/common/type/TypeReference;)Lorg/graalvm/compiler/core/common/type/ObjectStamp;
invokespecial org.graalvm.compiler.nodes.BeginStateSplitNode.<init>:(Lorg/graalvm/compiler/graph/NodeClass;Lorg/graalvm/compiler/core/common/type/Stamp;)V
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/graalvm/compiler/nodes/java/ExceptionObjectNode;
0 2 1 metaAccess Ljdk/vm/ci/meta/MetaAccessProvider;
MethodParameters:
Name Flags
metaAccess
public jdk.internal.vm.compiler.word.LocationIdentity getLocationIdentity();
descriptor: ()Ljdk/internal/vm/compiler/word/LocationIdentity;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: invokestatic jdk.internal.vm.compiler.word.LocationIdentity.any:()Ljdk/internal/vm/compiler/word/LocationIdentity;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/graalvm/compiler/nodes/java/ExceptionObjectNode;
public boolean hasSideEffect();
descriptor: ()Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: iconst_1
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/graalvm/compiler/nodes/java/ExceptionObjectNode;
public void lower(org.graalvm.compiler.nodes.spi.LoweringTool);
descriptor: (Lorg/graalvm/compiler/nodes/spi/LoweringTool;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=5, args_size=2
start local 0 start local 1 0: aload 0
invokevirtual org.graalvm.compiler.nodes.java.ExceptionObjectNode.graph:()Lorg/graalvm/compiler/nodes/StructuredGraph;
invokevirtual org.graalvm.compiler.nodes.StructuredGraph.getGuardsStage:()Lorg/graalvm/compiler/nodes/StructuredGraph$GuardsStage;
getstatic org.graalvm.compiler.nodes.StructuredGraph$GuardsStage.FIXED_DEOPTS:Lorg/graalvm/compiler/nodes/StructuredGraph$GuardsStage;
if_acmpne 9
1: aload 0
invokevirtual org.graalvm.compiler.nodes.java.ExceptionObjectNode.predecessor:()Lorg/graalvm/compiler/graph/Node;
checkcast org.graalvm.compiler.nodes.InvokeWithExceptionNode
invokevirtual org.graalvm.compiler.nodes.InvokeWithExceptionNode.getLocationIdentity:()Ljdk/internal/vm/compiler/word/LocationIdentity;
astore 2
start local 2 2: aload 0
invokevirtual org.graalvm.compiler.nodes.java.ExceptionObjectNode.graph:()Lorg/graalvm/compiler/nodes/StructuredGraph;
aload 2
invokestatic org.graalvm.compiler.nodes.KillingBeginNode.create:(Ljdk/internal/vm/compiler/word/LocationIdentity;)Lorg/graalvm/compiler/nodes/AbstractBeginNode;
invokevirtual org.graalvm.compiler.nodes.StructuredGraph.add:(Lorg/graalvm/compiler/graph/Node;)Lorg/graalvm/compiler/graph/Node;
checkcast org.graalvm.compiler.nodes.AbstractBeginNode
astore 3
start local 3 3: aload 0
invokevirtual org.graalvm.compiler.nodes.java.ExceptionObjectNode.graph:()Lorg/graalvm/compiler/nodes/StructuredGraph;
new org.graalvm.compiler.nodes.java.LoadExceptionObjectNode
dup
aload 0
getstatic org.graalvm.compiler.nodes.NodeView.DEFAULT:Lorg/graalvm/compiler/nodes/NodeView;
invokevirtual org.graalvm.compiler.nodes.java.ExceptionObjectNode.stamp:(Lorg/graalvm/compiler/nodes/NodeView;)Lorg/graalvm/compiler/core/common/type/Stamp;
invokespecial org.graalvm.compiler.nodes.java.LoadExceptionObjectNode.<init>:(Lorg/graalvm/compiler/core/common/type/Stamp;)V
invokevirtual org.graalvm.compiler.nodes.StructuredGraph.add:(Lorg/graalvm/compiler/graph/Node;)Lorg/graalvm/compiler/graph/Node;
checkcast org.graalvm.compiler.nodes.java.LoadExceptionObjectNode
astore 4
start local 4 4: aload 4
aload 0
invokevirtual org.graalvm.compiler.nodes.java.ExceptionObjectNode.stateAfter:()Lorg/graalvm/compiler/nodes/FrameState;
invokevirtual org.graalvm.compiler.nodes.java.LoadExceptionObjectNode.setStateAfter:(Lorg/graalvm/compiler/nodes/FrameState;)V
5: aload 0
getstatic org.graalvm.compiler.nodeinfo.InputType.Value:Lorg/graalvm/compiler/nodeinfo/InputType;
aload 4
invokevirtual org.graalvm.compiler.nodes.java.ExceptionObjectNode.replaceAtUsages:(Lorg/graalvm/compiler/nodeinfo/InputType;Lorg/graalvm/compiler/graph/Node;)V
6: aload 0
invokevirtual org.graalvm.compiler.nodes.java.ExceptionObjectNode.graph:()Lorg/graalvm/compiler/nodes/StructuredGraph;
aload 0
aload 3
invokevirtual org.graalvm.compiler.nodes.StructuredGraph.replaceFixedWithFixed:(Lorg/graalvm/compiler/nodes/FixedWithNextNode;Lorg/graalvm/compiler/nodes/FixedWithNextNode;)V
7: aload 3
invokevirtual org.graalvm.compiler.nodes.AbstractBeginNode.graph:()Lorg/graalvm/compiler/nodes/StructuredGraph;
aload 3
aload 4
invokevirtual org.graalvm.compiler.nodes.StructuredGraph.addAfterFixed:(Lorg/graalvm/compiler/nodes/FixedWithNextNode;Lorg/graalvm/compiler/nodes/FixedNode;)V
8: aload 4
aload 1
invokevirtual org.graalvm.compiler.nodes.java.LoadExceptionObjectNode.lower:(Lorg/graalvm/compiler/nodes/spi/LoweringTool;)V
end local 4 end local 3 end local 2 9: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 10 0 this Lorg/graalvm/compiler/nodes/java/ExceptionObjectNode;
0 10 1 tool Lorg/graalvm/compiler/nodes/spi/LoweringTool;
2 9 2 locationsKilledByInvoke Ljdk/internal/vm/compiler/word/LocationIdentity;
3 9 3 entry Lorg/graalvm/compiler/nodes/AbstractBeginNode;
4 9 4 loadException Lorg/graalvm/compiler/nodes/java/LoadExceptionObjectNode;
MethodParameters:
Name Flags
tool
public boolean verify();
descriptor: ()Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=1, args_size=1
start local 0 0: aload 0
aload 0
invokevirtual org.graalvm.compiler.nodes.java.ExceptionObjectNode.stateAfter:()Lorg/graalvm/compiler/nodes/FrameState;
ifnull 1
iconst_1
goto 2
StackMap locals:
StackMap stack: org.graalvm.compiler.nodes.java.ExceptionObjectNode
1: iconst_0
StackMap locals: org.graalvm.compiler.nodes.java.ExceptionObjectNode
StackMap stack: org.graalvm.compiler.nodes.java.ExceptionObjectNode int
2: ldc "an exception handler needs a frame state"
iconst_0
anewarray java.lang.Object
invokevirtual org.graalvm.compiler.nodes.java.ExceptionObjectNode.assertTrue:(ZLjava/lang/String;[Ljava/lang/Object;)Z
pop
3: aload 0
aload 0
invokevirtual org.graalvm.compiler.nodes.java.ExceptionObjectNode.stateAfter:()Lorg/graalvm/compiler/nodes/FrameState;
invokevirtual org.graalvm.compiler.nodes.FrameState.stackSize:()I
iconst_1
if_icmpne 4
aload 0
invokevirtual org.graalvm.compiler.nodes.java.ExceptionObjectNode.stateAfter:()Lorg/graalvm/compiler/nodes/FrameState;
iconst_0
invokevirtual org.graalvm.compiler.nodes.FrameState.stackAt:(I)Lorg/graalvm/compiler/nodes/ValueNode;
getstatic org.graalvm.compiler.nodes.NodeView.DEFAULT:Lorg/graalvm/compiler/nodes/NodeView;
invokevirtual org.graalvm.compiler.nodes.ValueNode.stamp:(Lorg/graalvm/compiler/nodes/NodeView;)Lorg/graalvm/compiler/core/common/type/Stamp;
invokevirtual org.graalvm.compiler.core.common.type.Stamp.getStackKind:()Ljdk/vm/ci/meta/JavaKind;
getstatic jdk.vm.ci.meta.JavaKind.Object:Ljdk/vm/ci/meta/JavaKind;
if_acmpne 4
iconst_1
goto 5
StackMap locals:
StackMap stack: org.graalvm.compiler.nodes.java.ExceptionObjectNode
4: iconst_0
5: StackMap locals: org.graalvm.compiler.nodes.java.ExceptionObjectNode
StackMap stack: org.graalvm.compiler.nodes.java.ExceptionObjectNode int
ldc "an exception handler's frame state must have only the exception on the stack"
iconst_0
anewarray java.lang.Object
6: invokevirtual org.graalvm.compiler.nodes.java.ExceptionObjectNode.assertTrue:(ZLjava/lang/String;[Ljava/lang/Object;)Z
pop
7: aload 0
invokespecial org.graalvm.compiler.nodes.BeginStateSplitNode.verify:()Z
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 this Lorg/graalvm/compiler/nodes/java/ExceptionObjectNode;
}
SourceFile: "ExceptionObjectNode.java"
InnerClasses:
public final GuardsStage = org.graalvm.compiler.nodes.StructuredGraph$GuardsStage of org.graalvm.compiler.nodes.StructuredGraph
public abstract Single = org.graalvm.compiler.nodes.memory.MemoryCheckpoint$Single of org.graalvm.compiler.nodes.memory.MemoryCheckpoint
RuntimeVisibleAnnotations:
org.graalvm.compiler.nodeinfo.NodeInfo(allowedUsageTypes = {org.graalvm.compiler.nodeinfo.InputType.Memory:Lorg/graalvm/compiler/nodeinfo/InputType;}, cycles = org.graalvm.compiler.nodeinfo.NodeCycles.CYCLES_8:Lorg/graalvm/compiler/nodeinfo/NodeCycles;, size = org.graalvm.compiler.nodeinfo.NodeSize.SIZE_8:Lorg/graalvm/compiler/nodeinfo/NodeSize;)