public class org.graalvm.compiler.nodes.java.DynamicNewInstanceNode extends org.graalvm.compiler.nodes.java.AbstractNewObjectNode implements org.graalvm.compiler.graph.spi.Canonicalizable
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: org.graalvm.compiler.nodes.java.DynamicNewInstanceNode
super_class: org.graalvm.compiler.nodes.java.AbstractNewObjectNode
{
public static final org.graalvm.compiler.graph.NodeClass<org.graalvm.compiler.nodes.java.DynamicNewInstanceNode> 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/DynamicNewInstanceNode;>;
org.graalvm.compiler.nodes.ValueNode clazz;
descriptor: Lorg/graalvm/compiler/nodes/ValueNode;
flags: (0x0000)
RuntimeVisibleAnnotations:
org.graalvm.compiler.graph.Node$Input()
org.graalvm.compiler.nodes.ValueNode classClass;
descriptor: Lorg/graalvm/compiler/nodes/ValueNode;
flags: (0x0000)
RuntimeVisibleAnnotations:
org.graalvm.compiler.graph.Node$OptionalInput()
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 Lorg/graalvm/compiler/nodes/java/DynamicNewInstanceNode;
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 org.graalvm.compiler.nodes.java.DynamicNewInstanceNode.$assertionsDisabled:Z
3: ldc Lorg/graalvm/compiler/nodes/java/DynamicNewInstanceNode;
invokestatic org.graalvm.compiler.graph.NodeClass.create:(Ljava/lang/Class;)Lorg/graalvm/compiler/graph/NodeClass;
putstatic org.graalvm.compiler.nodes.java.DynamicNewInstanceNode.TYPE:Lorg/graalvm/compiler/graph/NodeClass;
return
LocalVariableTable:
Start End Slot Name Signature
public void <init>(org.graalvm.compiler.nodes.ValueNode, boolean);
descriptor: (Lorg/graalvm/compiler/nodes/ValueNode;Z)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
getstatic org.graalvm.compiler.nodes.java.DynamicNewInstanceNode.TYPE:Lorg/graalvm/compiler/graph/NodeClass;
aload 1
iload 2
aconst_null
invokespecial org.graalvm.compiler.nodes.java.DynamicNewInstanceNode.<init>:(Lorg/graalvm/compiler/graph/NodeClass;Lorg/graalvm/compiler/nodes/ValueNode;ZLorg/graalvm/compiler/nodes/FrameState;)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/java/DynamicNewInstanceNode;
0 2 1 clazz Lorg/graalvm/compiler/nodes/ValueNode;
0 2 2 fillContents Z
MethodParameters:
Name Flags
clazz
fillContents
protected void <init>(org.graalvm.compiler.graph.NodeClass<? extends org.graalvm.compiler.nodes.java.DynamicNewInstanceNode>, org.graalvm.compiler.nodes.ValueNode, boolean, org.graalvm.compiler.nodes.FrameState);
descriptor: (Lorg/graalvm/compiler/graph/NodeClass;Lorg/graalvm/compiler/nodes/ValueNode;ZLorg/graalvm/compiler/nodes/FrameState;)V
flags: (0x0004) ACC_PROTECTED
Code:
stack=5, 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
invokestatic org.graalvm.compiler.core.common.type.StampFactory.objectNonNull:()Lorg/graalvm/compiler/core/common/type/Stamp;
iload 3
aload 4
invokespecial org.graalvm.compiler.nodes.java.AbstractNewObjectNode.<init>:(Lorg/graalvm/compiler/graph/NodeClass;Lorg/graalvm/compiler/core/common/type/Stamp;ZLorg/graalvm/compiler/nodes/FrameState;)V
1: aload 0
aload 2
putfield org.graalvm.compiler.nodes.java.DynamicNewInstanceNode.clazz:Lorg/graalvm/compiler/nodes/ValueNode;
2: getstatic org.graalvm.compiler.nodes.java.DynamicNewInstanceNode.$assertionsDisabled:Z
ifne 3
aload 2
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
invokevirtual org.graalvm.compiler.core.common.type.ObjectStamp.nonNull:()Z
ifne 3
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
3: StackMap locals: org.graalvm.compiler.nodes.java.DynamicNewInstanceNode org.graalvm.compiler.graph.NodeClass org.graalvm.compiler.nodes.ValueNode int org.graalvm.compiler.nodes.FrameState
StackMap stack:
return
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lorg/graalvm/compiler/nodes/java/DynamicNewInstanceNode;
0 4 1 c Lorg/graalvm/compiler/graph/NodeClass<+Lorg/graalvm/compiler/nodes/java/DynamicNewInstanceNode;>;
0 4 2 clazz Lorg/graalvm/compiler/nodes/ValueNode;
0 4 3 fillContents Z
0 4 4 stateBefore Lorg/graalvm/compiler/nodes/FrameState;
Signature: (Lorg/graalvm/compiler/graph/NodeClass<+Lorg/graalvm/compiler/nodes/java/DynamicNewInstanceNode;>;Lorg/graalvm/compiler/nodes/ValueNode;ZLorg/graalvm/compiler/nodes/FrameState;)V
MethodParameters:
Name Flags
c
clazz
fillContents
stateBefore
public org.graalvm.compiler.nodes.ValueNode getInstanceType();
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.java.DynamicNewInstanceNode.clazz:Lorg/graalvm/compiler/nodes/ValueNode;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/graalvm/compiler/nodes/java/DynamicNewInstanceNode;
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=5, locals=3, args_size=2
start local 0 start local 1 0: aload 0
getfield org.graalvm.compiler.nodes.java.DynamicNewInstanceNode.clazz:Lorg/graalvm/compiler/nodes/ValueNode;
invokevirtual org.graalvm.compiler.nodes.ValueNode.isConstant:()Z
ifeq 6
1: getstatic org.graalvm.compiler.core.common.GraalOptions.GeneratePIC:Lorg/graalvm/compiler/options/OptionKey;
aload 1
invokeinterface org.graalvm.compiler.graph.spi.CanonicalizerTool.getOptions:()Lorg/graalvm/compiler/options/OptionValues;
invokevirtual org.graalvm.compiler.options.OptionKey.getValue:(Lorg/graalvm/compiler/options/OptionValues;)Ljava/lang/Object;
checkcast java.lang.Boolean
invokevirtual java.lang.Boolean.booleanValue:()Z
ifeq 3
2: aload 0
areturn
3: StackMap locals:
StackMap stack:
aload 1
invokeinterface org.graalvm.compiler.graph.spi.CanonicalizerTool.getConstantReflection:()Ljdk/vm/ci/meta/ConstantReflectionProvider;
aload 0
getfield org.graalvm.compiler.nodes.java.DynamicNewInstanceNode.clazz:Lorg/graalvm/compiler/nodes/ValueNode;
invokevirtual org.graalvm.compiler.nodes.ValueNode.asConstant:()Ljdk/vm/ci/meta/Constant;
invokeinterface jdk.vm.ci.meta.ConstantReflectionProvider.asJavaType:(Ljdk/vm/ci/meta/Constant;)Ljdk/vm/ci/meta/ResolvedJavaType;
astore 2
start local 2 4: aload 2
ifnull 6
aload 2
aload 1
invokeinterface org.graalvm.compiler.graph.spi.CanonicalizerTool.getMetaAccess:()Ljdk/vm/ci/meta/MetaAccessProvider;
invokestatic org.graalvm.compiler.nodes.java.DynamicNewInstanceNode.throwsInstantiationException:(Ljdk/vm/ci/meta/ResolvedJavaType;Ljdk/vm/ci/meta/MetaAccessProvider;)Z
ifne 6
aload 1
invokeinterface org.graalvm.compiler.graph.spi.CanonicalizerTool.getMetaAccessExtensionProvider:()Lorg/graalvm/compiler/core/common/spi/MetaAccessExtensionProvider;
aload 2
invokeinterface org.graalvm.compiler.core.common.spi.MetaAccessExtensionProvider.canConstantFoldDynamicAllocation:(Ljdk/vm/ci/meta/ResolvedJavaType;)Z
ifeq 6
5: new org.graalvm.compiler.nodes.java.NewInstanceNode
dup
aload 2
aload 0
invokevirtual org.graalvm.compiler.nodes.java.DynamicNewInstanceNode.fillContents:()Z
aload 0
invokevirtual org.graalvm.compiler.nodes.java.DynamicNewInstanceNode.stateBefore:()Lorg/graalvm/compiler/nodes/FrameState;
invokespecial org.graalvm.compiler.nodes.java.NewInstanceNode.<init>:(Ljdk/vm/ci/meta/ResolvedJavaType;ZLorg/graalvm/compiler/nodes/FrameState;)V
areturn
end local 2 6: StackMap locals:
StackMap stack:
aload 0
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Lorg/graalvm/compiler/nodes/java/DynamicNewInstanceNode;
0 7 1 tool Lorg/graalvm/compiler/graph/spi/CanonicalizerTool;
4 6 2 type Ljdk/vm/ci/meta/ResolvedJavaType;
MethodParameters:
Name Flags
tool
public static boolean throwsInstantiationException(java.lang.Class<?>, java.lang.Class<?>);
descriptor: (Ljava/lang/Class;Ljava/lang/Class;)Z
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
invokevirtual java.lang.Class.isPrimitive:()Z
ifne 1
aload 0
invokevirtual java.lang.Class.isArray:()Z
ifne 1
aload 0
invokevirtual java.lang.Class.isInterface:()Z
ifne 1
aload 0
invokevirtual java.lang.Class.getModifiers:()I
invokestatic java.lang.reflect.Modifier.isAbstract:(I)Z
ifne 1
aload 0
aload 1
if_acmpeq 1
iconst_0
ireturn
StackMap locals:
StackMap stack:
1: iconst_1
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 type Ljava/lang/Class<*>;
0 2 1 classClass Ljava/lang/Class<*>;
Signature: (Ljava/lang/Class<*>;Ljava/lang/Class<*>;)Z
MethodParameters:
Name Flags
type
classClass
public static boolean throwsInstantiationException(jdk.vm.ci.meta.ResolvedJavaType, jdk.vm.ci.meta.MetaAccessProvider);
descriptor: (Ljdk/vm/ci/meta/ResolvedJavaType;Ljdk/vm/ci/meta/MetaAccessProvider;)Z
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 0
invokeinterface jdk.vm.ci.meta.ResolvedJavaType.isPrimitive:()Z
ifne 1
aload 0
invokeinterface jdk.vm.ci.meta.ResolvedJavaType.isArray:()Z
ifne 1
aload 0
invokeinterface jdk.vm.ci.meta.ResolvedJavaType.isInterface:()Z
ifne 1
aload 0
invokeinterface jdk.vm.ci.meta.ResolvedJavaType.getModifiers:()I
invokestatic java.lang.reflect.Modifier.isAbstract:(I)Z
ifne 1
aload 0
aload 1
ldc Ljava/lang/Class;
invokeinterface jdk.vm.ci.meta.MetaAccessProvider.lookupJavaType:(Ljava/lang/Class;)Ljdk/vm/ci/meta/ResolvedJavaType;
invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
ifne 1
iconst_0
ireturn
StackMap locals:
StackMap stack:
1: iconst_1
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 type Ljdk/vm/ci/meta/ResolvedJavaType;
0 2 1 metaAccess Ljdk/vm/ci/meta/MetaAccessProvider;
MethodParameters:
Name Flags
type
metaAccess
public org.graalvm.compiler.nodes.ValueNode getClassClass();
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.java.DynamicNewInstanceNode.classClass:Lorg/graalvm/compiler/nodes/ValueNode;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/graalvm/compiler/nodes/java/DynamicNewInstanceNode;
public void setClassClass(org.graalvm.compiler.nodes.ValueNode);
descriptor: (Lorg/graalvm/compiler/nodes/ValueNode;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 0
getfield org.graalvm.compiler.nodes.java.DynamicNewInstanceNode.classClass:Lorg/graalvm/compiler/nodes/ValueNode;
aload 1
invokevirtual org.graalvm.compiler.nodes.java.DynamicNewInstanceNode.updateUsages:(Lorg/graalvm/compiler/graph/Node;Lorg/graalvm/compiler/graph/Node;)V
1: aload 0
aload 1
putfield org.graalvm.compiler.nodes.java.DynamicNewInstanceNode.classClass:Lorg/graalvm/compiler/nodes/ValueNode;
2: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lorg/graalvm/compiler/nodes/java/DynamicNewInstanceNode;
0 3 1 newClassClass Lorg/graalvm/compiler/nodes/ValueNode;
MethodParameters:
Name Flags
newClassClass
}
SourceFile: "DynamicNewInstanceNode.java"
InnerClasses:
public abstract Input = org.graalvm.compiler.graph.Node$Input of org.graalvm.compiler.graph.Node
public abstract OptionalInput = org.graalvm.compiler.graph.Node$OptionalInput of org.graalvm.compiler.graph.Node
RuntimeVisibleAnnotations:
org.graalvm.compiler.nodeinfo.NodeInfo()