public class org.graalvm.compiler.nodes.extended.RawLoadNode extends org.graalvm.compiler.nodes.extended.UnsafeAccessNode implements org.graalvm.compiler.nodes.spi.Lowerable, org.graalvm.compiler.nodes.spi.Virtualizable, 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.extended.RawLoadNode
super_class: org.graalvm.compiler.nodes.extended.UnsafeAccessNode
{
public static final org.graalvm.compiler.graph.NodeClass<org.graalvm.compiler.nodes.extended.RawLoadNode> 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/extended/RawLoadNode;>;
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=1, locals=0, args_size=0
0: ldc Lorg/graalvm/compiler/nodes/extended/RawLoadNode;
invokestatic org.graalvm.compiler.graph.NodeClass.create:(Ljava/lang/Class;)Lorg/graalvm/compiler/graph/NodeClass;
putstatic org.graalvm.compiler.nodes.extended.RawLoadNode.TYPE:Lorg/graalvm/compiler/graph/NodeClass;
return
LocalVariableTable:
Start End Slot Name Signature
public void <init>(org.graalvm.compiler.nodes.ValueNode, org.graalvm.compiler.nodes.ValueNode, jdk.vm.ci.meta.JavaKind, jdk.internal.vm.compiler.word.LocationIdentity);
descriptor: (Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/nodes/ValueNode;Ljdk/vm/ci/meta/JavaKind;Ljdk/internal/vm/compiler/word/LocationIdentity;)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_0
invokespecial org.graalvm.compiler.nodes.extended.RawLoadNode.<init>:(Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/nodes/ValueNode;Ljdk/vm/ci/meta/JavaKind;Ljdk/internal/vm/compiler/word/LocationIdentity;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/nodes/extended/RawLoadNode;
0 2 1 object Lorg/graalvm/compiler/nodes/ValueNode;
0 2 2 offset Lorg/graalvm/compiler/nodes/ValueNode;
0 2 3 accessKind Ljdk/vm/ci/meta/JavaKind;
0 2 4 locationIdentity Ljdk/internal/vm/compiler/word/LocationIdentity;
MethodParameters:
Name Flags
object
offset
accessKind
locationIdentity
public void <init>(org.graalvm.compiler.nodes.ValueNode, org.graalvm.compiler.nodes.ValueNode, jdk.vm.ci.meta.JavaKind, jdk.internal.vm.compiler.word.LocationIdentity, boolean);
descriptor: (Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/nodes/ValueNode;Ljdk/vm/ci/meta/JavaKind;Ljdk/internal/vm/compiler/word/LocationIdentity;Z)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=8, locals=6, args_size=6
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 0: aload 0
getstatic org.graalvm.compiler.nodes.extended.RawLoadNode.TYPE:Lorg/graalvm/compiler/graph/NodeClass;
aload 3
invokevirtual jdk.vm.ci.meta.JavaKind.getStackKind:()Ljdk/vm/ci/meta/JavaKind;
invokestatic org.graalvm.compiler.core.common.type.StampFactory.forKind:(Ljdk/vm/ci/meta/JavaKind;)Lorg/graalvm/compiler/core/common/type/Stamp;
aload 1
aload 2
aload 3
aload 4
iload 5
invokespecial org.graalvm.compiler.nodes.extended.UnsafeAccessNode.<init>:(Lorg/graalvm/compiler/graph/NodeClass;Lorg/graalvm/compiler/core/common/type/Stamp;Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/nodes/ValueNode;Ljdk/vm/ci/meta/JavaKind;Ljdk/internal/vm/compiler/word/LocationIdentity;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/nodes/extended/RawLoadNode;
0 2 1 object Lorg/graalvm/compiler/nodes/ValueNode;
0 2 2 offset Lorg/graalvm/compiler/nodes/ValueNode;
0 2 3 accessKind Ljdk/vm/ci/meta/JavaKind;
0 2 4 locationIdentity Ljdk/internal/vm/compiler/word/LocationIdentity;
0 2 5 forceAnyLocation Z
MethodParameters:
Name Flags
object
offset
accessKind
locationIdentity
forceAnyLocation
public void <init>(org.graalvm.compiler.core.common.type.Stamp, org.graalvm.compiler.nodes.ValueNode, org.graalvm.compiler.nodes.ValueNode, jdk.internal.vm.compiler.word.LocationIdentity, jdk.vm.ci.meta.JavaKind);
descriptor: (Lorg/graalvm/compiler/core/common/type/Stamp;Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/nodes/ValueNode;Ljdk/internal/vm/compiler/word/LocationIdentity;Ljdk/vm/ci/meta/JavaKind;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=8, locals=6, args_size=6
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 0: aload 0
getstatic org.graalvm.compiler.nodes.extended.RawLoadNode.TYPE:Lorg/graalvm/compiler/graph/NodeClass;
aload 1
aload 2
aload 3
aload 5
aload 4
iconst_0
invokespecial org.graalvm.compiler.nodes.extended.UnsafeAccessNode.<init>:(Lorg/graalvm/compiler/graph/NodeClass;Lorg/graalvm/compiler/core/common/type/Stamp;Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/nodes/ValueNode;Ljdk/vm/ci/meta/JavaKind;Ljdk/internal/vm/compiler/word/LocationIdentity;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/nodes/extended/RawLoadNode;
0 2 1 stamp Lorg/graalvm/compiler/core/common/type/Stamp;
0 2 2 object Lorg/graalvm/compiler/nodes/ValueNode;
0 2 3 offset Lorg/graalvm/compiler/nodes/ValueNode;
0 2 4 locationIdentity Ljdk/internal/vm/compiler/word/LocationIdentity;
0 2 5 accessKind Ljdk/vm/ci/meta/JavaKind;
RuntimeVisibleParameterAnnotations:
0:
org.graalvm.compiler.graph.Node$InjectedNodeParameter()
1:
2:
3:
4:
MethodParameters:
Name Flags
stamp
object
offset
locationIdentity
accessKind
protected void <init>(org.graalvm.compiler.graph.NodeClass<? extends org.graalvm.compiler.nodes.extended.RawLoadNode>, org.graalvm.compiler.nodes.ValueNode, org.graalvm.compiler.nodes.ValueNode, jdk.vm.ci.meta.JavaKind, jdk.internal.vm.compiler.word.LocationIdentity);
descriptor: (Lorg/graalvm/compiler/graph/NodeClass;Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/nodes/ValueNode;Ljdk/vm/ci/meta/JavaKind;Ljdk/internal/vm/compiler/word/LocationIdentity;)V
flags: (0x0004) ACC_PROTECTED
Code:
stack=8, locals=6, args_size=6
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 0: aload 0
aload 1
aload 4
invokevirtual jdk.vm.ci.meta.JavaKind.getStackKind:()Ljdk/vm/ci/meta/JavaKind;
invokestatic org.graalvm.compiler.core.common.type.StampFactory.forKind:(Ljdk/vm/ci/meta/JavaKind;)Lorg/graalvm/compiler/core/common/type/Stamp;
aload 2
aload 3
aload 4
aload 5
iconst_0
invokespecial org.graalvm.compiler.nodes.extended.UnsafeAccessNode.<init>:(Lorg/graalvm/compiler/graph/NodeClass;Lorg/graalvm/compiler/core/common/type/Stamp;Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/nodes/ValueNode;Ljdk/vm/ci/meta/JavaKind;Ljdk/internal/vm/compiler/word/LocationIdentity;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/nodes/extended/RawLoadNode;
0 2 1 c Lorg/graalvm/compiler/graph/NodeClass<+Lorg/graalvm/compiler/nodes/extended/RawLoadNode;>;
0 2 2 object Lorg/graalvm/compiler/nodes/ValueNode;
0 2 3 offset Lorg/graalvm/compiler/nodes/ValueNode;
0 2 4 accessKind Ljdk/vm/ci/meta/JavaKind;
0 2 5 locationIdentity Ljdk/internal/vm/compiler/word/LocationIdentity;
Signature: (Lorg/graalvm/compiler/graph/NodeClass<+Lorg/graalvm/compiler/nodes/extended/RawLoadNode;>;Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/nodes/ValueNode;Ljdk/vm/ci/meta/JavaKind;Ljdk/internal/vm/compiler/word/LocationIdentity;)V
MethodParameters:
Name Flags
c
object
offset
accessKind
locationIdentity
public void virtualize(org.graalvm.compiler.nodes.spi.VirtualizerTool);
descriptor: (Lorg/graalvm/compiler/nodes/spi/VirtualizerTool;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=15, args_size=2
start local 0 start local 1 0: aload 1
aload 0
invokevirtual org.graalvm.compiler.nodes.extended.RawLoadNode.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 28
2: aload 2
checkcast org.graalvm.compiler.nodes.virtual.VirtualObjectNode
astore 3
start local 3 3: aload 1
aload 0
invokevirtual org.graalvm.compiler.nodes.extended.RawLoadNode.offset:()Lorg/graalvm/compiler/nodes/ValueNode;
invokeinterface org.graalvm.compiler.nodes.spi.VirtualizerTool.getAlias:(Lorg/graalvm/compiler/nodes/ValueNode;)Lorg/graalvm/compiler/nodes/ValueNode;
astore 4
start local 4 4: aload 4
invokevirtual org.graalvm.compiler.nodes.ValueNode.isConstant:()Z
ifeq 28
5: aload 4
invokevirtual org.graalvm.compiler.nodes.ValueNode.asJavaConstant:()Ljdk/vm/ci/meta/JavaConstant;
invokeinterface jdk.vm.ci.meta.JavaConstant.asLong:()J
lstore 5
start local 5 6: aload 3
aload 1
invokeinterface org.graalvm.compiler.nodes.spi.VirtualizerTool.getMetaAccess:()Ljdk/vm/ci/meta/MetaAccessProvider;
lload 5
aload 0
invokevirtual org.graalvm.compiler.nodes.extended.RawLoadNode.accessKind:()Ljdk/vm/ci/meta/JavaKind;
invokevirtual org.graalvm.compiler.nodes.virtual.VirtualObjectNode.entryIndexForOffset:(Ljdk/vm/ci/meta/MetaAccessProvider;JLjdk/vm/ci/meta/JavaKind;)I
istore 7
start local 7 7: iload 7
iconst_m1
if_icmpeq 28
8: aload 1
aload 3
iload 7
invokeinterface org.graalvm.compiler.nodes.spi.VirtualizerTool.getEntry:(Lorg/graalvm/compiler/nodes/virtual/VirtualObjectNode;I)Lorg/graalvm/compiler/nodes/ValueNode;
astore 8
start local 8 9: aload 3
aload 1
invokeinterface org.graalvm.compiler.nodes.spi.VirtualizerTool.getMetaAccessExtensionProvider:()Lorg/graalvm/compiler/core/common/spi/MetaAccessExtensionProvider;
iload 7
invokevirtual org.graalvm.compiler.nodes.virtual.VirtualObjectNode.entryKind:(Lorg/graalvm/compiler/core/common/spi/MetaAccessExtensionProvider;I)Ljdk/vm/ci/meta/JavaKind;
astore 9
start local 9 10: aload 3
aload 1
invokeinterface org.graalvm.compiler.nodes.spi.VirtualizerTool.getMetaAccessExtensionProvider:()Lorg/graalvm/compiler/core/common/spi/MetaAccessExtensionProvider;
aload 0
invokevirtual org.graalvm.compiler.nodes.extended.RawLoadNode.accessKind:()Ljdk/vm/ci/meta/JavaKind;
invokevirtual org.graalvm.compiler.nodes.virtual.VirtualObjectNode.isVirtualByteArrayAccess:(Lorg/graalvm/compiler/core/common/spi/MetaAccessExtensionProvider;Ljdk/vm/ci/meta/JavaKind;)Z
ifeq 14
11: aload 3
aload 8
iload 7
aload 0
invokevirtual org.graalvm.compiler.nodes.extended.RawLoadNode.accessKind:()Ljdk/vm/ci/meta/JavaKind;
aload 1
invokevirtual org.graalvm.compiler.nodes.virtual.VirtualObjectNode.canVirtualizeLargeByteArrayUnsafeRead:(Lorg/graalvm/compiler/nodes/ValueNode;ILjdk/vm/ci/meta/JavaKind;Lorg/graalvm/compiler/nodes/spi/VirtualizerTool;)Z
ifeq 28
12: aload 1
aload 8
aload 0
invokevirtual org.graalvm.compiler.nodes.extended.RawLoadNode.accessKind:()Ljdk/vm/ci/meta/JavaKind;
aload 0
getfield org.graalvm.compiler.nodes.extended.RawLoadNode.stamp:Lorg/graalvm/compiler/core/common/type/Stamp;
invokestatic org.graalvm.compiler.nodes.virtual.VirtualArrayNode.virtualizeByteArrayRead:(Lorg/graalvm/compiler/nodes/ValueNode;Ljdk/vm/ci/meta/JavaKind;Lorg/graalvm/compiler/core/common/type/Stamp;)Lorg/graalvm/compiler/nodes/ValueNode;
invokeinterface org.graalvm.compiler.nodes.spi.VirtualizerTool.replaceWith:(Lorg/graalvm/compiler/nodes/ValueNode;)V
13: goto 28
StackMap locals: org.graalvm.compiler.nodes.extended.RawLoadNode org.graalvm.compiler.nodes.spi.VirtualizerTool org.graalvm.compiler.nodes.ValueNode org.graalvm.compiler.nodes.virtual.VirtualObjectNode org.graalvm.compiler.nodes.ValueNode long int org.graalvm.compiler.nodes.ValueNode jdk.vm.ci.meta.JavaKind
StackMap stack:
14: aload 8
invokevirtual org.graalvm.compiler.nodes.ValueNode.getStackKind:()Ljdk/vm/ci/meta/JavaKind;
aload 0
invokevirtual org.graalvm.compiler.nodes.extended.RawLoadNode.getStackKind:()Ljdk/vm/ci/meta/JavaKind;
if_acmpeq 15
aload 9
aload 0
invokevirtual org.graalvm.compiler.nodes.extended.RawLoadNode.accessKind:()Ljdk/vm/ci/meta/JavaKind;
if_acmpne 28
15: StackMap locals:
StackMap stack:
aload 8
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 0
getstatic org.graalvm.compiler.nodes.NodeView.DEFAULT:Lorg/graalvm/compiler/nodes/NodeView;
invokevirtual org.graalvm.compiler.nodes.extended.RawLoadNode.stamp:(Lorg/graalvm/compiler/nodes/NodeView;)Lorg/graalvm/compiler/core/common/type/Stamp;
invokevirtual org.graalvm.compiler.core.common.type.Stamp.isCompatible:(Lorg/graalvm/compiler/core/common/type/Stamp;)Z
ifne 27
16: aload 8
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;
instanceof org.graalvm.compiler.core.common.type.PrimitiveStamp
ifeq 26
aload 0
getfield org.graalvm.compiler.nodes.extended.RawLoadNode.stamp:Lorg/graalvm/compiler/core/common/type/Stamp;
instanceof org.graalvm.compiler.core.common.type.PrimitiveStamp
ifeq 26
17: aload 0
getfield org.graalvm.compiler.nodes.extended.RawLoadNode.stamp:Lorg/graalvm/compiler/core/common/type/Stamp;
checkcast org.graalvm.compiler.core.common.type.PrimitiveStamp
astore 10
start local 10 18: aload 8
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.PrimitiveStamp
astore 11
start local 11 19: aload 10
invokevirtual org.graalvm.compiler.core.common.type.PrimitiveStamp.getBits:()I
istore 12
start local 12 20: aload 11
invokevirtual org.graalvm.compiler.core.common.type.PrimitiveStamp.getBits:()I
istore 13
start local 13 21: iload 12
iload 13
if_icmpne 25
22: aload 11
aload 8
getstatic org.graalvm.compiler.nodes.NodeView.DEFAULT:Lorg/graalvm/compiler/nodes/NodeView;
invokestatic org.graalvm.compiler.nodes.calc.ReinterpretNode.create:(Lorg/graalvm/compiler/core/common/type/Stamp;Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/nodes/NodeView;)Lorg/graalvm/compiler/nodes/ValueNode;
astore 14
start local 14 23: aload 1
aload 14
checkcast org.graalvm.compiler.nodes.ValueNode
invokeinterface org.graalvm.compiler.nodes.spi.VirtualizerTool.replaceWith:(Lorg/graalvm/compiler/nodes/ValueNode;)V
24: return
end local 14 25: StackMap locals: org.graalvm.compiler.nodes.extended.RawLoadNode org.graalvm.compiler.nodes.spi.VirtualizerTool org.graalvm.compiler.nodes.ValueNode org.graalvm.compiler.nodes.virtual.VirtualObjectNode org.graalvm.compiler.nodes.ValueNode long int org.graalvm.compiler.nodes.ValueNode jdk.vm.ci.meta.JavaKind org.graalvm.compiler.core.common.type.PrimitiveStamp org.graalvm.compiler.core.common.type.PrimitiveStamp int int
StackMap stack:
return
end local 13 end local 12 end local 11 end local 10 26: StackMap locals: org.graalvm.compiler.nodes.extended.RawLoadNode org.graalvm.compiler.nodes.spi.VirtualizerTool org.graalvm.compiler.nodes.ValueNode org.graalvm.compiler.nodes.virtual.VirtualObjectNode org.graalvm.compiler.nodes.ValueNode long int org.graalvm.compiler.nodes.ValueNode jdk.vm.ci.meta.JavaKind
StackMap stack:
return
27: StackMap locals:
StackMap stack:
aload 1
aload 8
invokeinterface org.graalvm.compiler.nodes.spi.VirtualizerTool.replaceWith:(Lorg/graalvm/compiler/nodes/ValueNode;)V
end local 9 end local 8 end local 7 end local 5 end local 4 end local 3 28: StackMap locals: org.graalvm.compiler.nodes.extended.RawLoadNode org.graalvm.compiler.nodes.spi.VirtualizerTool org.graalvm.compiler.nodes.ValueNode
StackMap stack:
return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 29 0 this Lorg/graalvm/compiler/nodes/extended/RawLoadNode;
0 29 1 tool Lorg/graalvm/compiler/nodes/spi/VirtualizerTool;
1 29 2 alias Lorg/graalvm/compiler/nodes/ValueNode;
3 28 3 virtual Lorg/graalvm/compiler/nodes/virtual/VirtualObjectNode;
4 28 4 offsetValue Lorg/graalvm/compiler/nodes/ValueNode;
6 28 5 off J
7 28 7 entryIndex I
9 28 8 entry Lorg/graalvm/compiler/nodes/ValueNode;
10 28 9 entryKind Ljdk/vm/ci/meta/JavaKind;
18 26 10 p1 Lorg/graalvm/compiler/core/common/type/PrimitiveStamp;
19 26 11 p2 Lorg/graalvm/compiler/core/common/type/PrimitiveStamp;
20 26 12 width1 I
21 26 13 width2 I
23 25 14 replacement Lorg/graalvm/compiler/graph/Node;
MethodParameters:
Name Flags
tool
public boolean isVolatile();
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/nodes/extended/RawLoadNode;
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=12, args_size=2
start local 0 start local 1 0: aload 0
invokevirtual org.graalvm.compiler.nodes.extended.RawLoadNode.isAnyLocationForced:()Z
ifne 16
aload 0
invokevirtual org.graalvm.compiler.nodes.extended.RawLoadNode.getLocationIdentity:()Ljdk/internal/vm/compiler/word/LocationIdentity;
invokevirtual jdk.internal.vm.compiler.word.LocationIdentity.isAny:()Z
ifeq 16
1: aload 0
invokevirtual org.graalvm.compiler.nodes.extended.RawLoadNode.object:()Lorg/graalvm/compiler/nodes/ValueNode;
astore 2
start local 2 2: aload 0
invokevirtual org.graalvm.compiler.nodes.extended.RawLoadNode.offset:()Lorg/graalvm/compiler/nodes/ValueNode;
invokevirtual org.graalvm.compiler.nodes.ValueNode.isConstant:()Z
ifeq 16
aload 2
invokevirtual org.graalvm.compiler.nodes.ValueNode.isConstant:()Z
ifeq 16
aload 2
invokevirtual org.graalvm.compiler.nodes.ValueNode.isNullConstant:()Z
ifne 16
3: aload 2
checkcast org.graalvm.compiler.nodes.ConstantNode
astore 3
start local 3 4: aload 3
invokestatic org.graalvm.compiler.nodes.type.StampTool.typeOrNull:(Lorg/graalvm/compiler/nodes/ValueNode;)Ljdk/vm/ci/meta/ResolvedJavaType;
astore 4
start local 4 5: aload 4
ifnull 16
aload 4
invokeinterface jdk.vm.ci.meta.ResolvedJavaType.isArray:()Z
ifeq 16
6: aload 3
invokevirtual org.graalvm.compiler.nodes.ConstantNode.asJavaConstant:()Ljdk/vm/ci/meta/JavaConstant;
astore 5
start local 5 7: aload 5
ifnull 16
8: aload 3
invokevirtual org.graalvm.compiler.nodes.ConstantNode.getStableDimension:()I
istore 6
start local 6 9: iload 6
ifle 16
10: aload 1
invokestatic org.graalvm.compiler.nodes.NodeView.from:(Lorg/graalvm/compiler/graph/spi/CanonicalizerTool;)Lorg/graalvm/compiler/nodes/NodeView;
astore 7
start local 7 11: aload 0
invokevirtual org.graalvm.compiler.nodes.extended.RawLoadNode.offset:()Lorg/graalvm/compiler/nodes/ValueNode;
invokevirtual org.graalvm.compiler.nodes.ValueNode.asJavaConstant:()Ljdk/vm/ci/meta/JavaConstant;
invokeinterface jdk.vm.ci.meta.JavaConstant.asLong:()J
lstore 8
start local 8 12: aload 0
aload 7
invokevirtual org.graalvm.compiler.nodes.extended.RawLoadNode.stamp:(Lorg/graalvm/compiler/nodes/NodeView;)Lorg/graalvm/compiler/core/common/type/Stamp;
aload 1
invokeinterface org.graalvm.compiler.graph.spi.CanonicalizerTool.getConstantReflection:()Ljdk/vm/ci/meta/ConstantReflectionProvider;
invokeinterface jdk.vm.ci.meta.ConstantReflectionProvider.getMemoryAccessProvider:()Ljdk/vm/ci/meta/MemoryAccessProvider;
aload 5
lload 8
invokevirtual org.graalvm.compiler.core.common.type.Stamp.readConstant:(Ljdk/vm/ci/meta/MemoryAccessProvider;Ljdk/vm/ci/meta/Constant;J)Ljdk/vm/ci/meta/Constant;
astore 10
start local 10 13: aload 3
invokevirtual org.graalvm.compiler.nodes.ConstantNode.isDefaultStable:()Z
istore 11
start local 11 14: aload 10
ifnull 16
iload 11
ifne 15
aload 10
invokeinterface jdk.vm.ci.meta.Constant.isDefaultForKind:()Z
ifne 16
15: StackMap locals: org.graalvm.compiler.nodes.extended.RawLoadNode org.graalvm.compiler.graph.spi.CanonicalizerTool org.graalvm.compiler.nodes.ValueNode org.graalvm.compiler.nodes.ConstantNode jdk.vm.ci.meta.ResolvedJavaType jdk.vm.ci.meta.JavaConstant int org.graalvm.compiler.nodes.NodeView long jdk.vm.ci.meta.Constant int
StackMap stack:
aload 0
aload 7
invokevirtual org.graalvm.compiler.nodes.extended.RawLoadNode.stamp:(Lorg/graalvm/compiler/nodes/NodeView;)Lorg/graalvm/compiler/core/common/type/Stamp;
aload 10
iload 6
iconst_1
isub
iload 11
aload 1
invokeinterface org.graalvm.compiler.graph.spi.CanonicalizerTool.getMetaAccess:()Ljdk/vm/ci/meta/MetaAccessProvider;
invokestatic org.graalvm.compiler.nodes.ConstantNode.forConstant:(Lorg/graalvm/compiler/core/common/type/Stamp;Ljdk/vm/ci/meta/Constant;IZLjdk/vm/ci/meta/MetaAccessProvider;)Lorg/graalvm/compiler/nodes/ConstantNode;
areturn
end local 11 end local 10 end local 8 end local 7 end local 6 end local 5 end local 4 end local 3 end local 2 16: StackMap locals: org.graalvm.compiler.nodes.extended.RawLoadNode org.graalvm.compiler.graph.spi.CanonicalizerTool
StackMap stack:
aload 0
aload 1
invokespecial org.graalvm.compiler.nodes.extended.UnsafeAccessNode.canonical:(Lorg/graalvm/compiler/graph/spi/CanonicalizerTool;)Lorg/graalvm/compiler/graph/Node;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 17 0 this Lorg/graalvm/compiler/nodes/extended/RawLoadNode;
0 17 1 tool Lorg/graalvm/compiler/graph/spi/CanonicalizerTool;
2 16 2 targetObject Lorg/graalvm/compiler/nodes/ValueNode;
4 16 3 objectConstant Lorg/graalvm/compiler/nodes/ConstantNode;
5 16 4 type Ljdk/vm/ci/meta/ResolvedJavaType;
7 16 5 arrayConstant Ljdk/vm/ci/meta/JavaConstant;
9 16 6 stableDimension I
11 16 7 view Lorg/graalvm/compiler/nodes/NodeView;
12 16 8 constantOffset J
13 16 10 constant Ljdk/vm/ci/meta/Constant;
14 16 11 isDefaultStable Z
MethodParameters:
Name Flags
tool
protected org.graalvm.compiler.nodes.ValueNode cloneAsFieldAccess(jdk.vm.ci.meta.Assumptions, jdk.vm.ci.meta.ResolvedJavaField, boolean);
descriptor: (Ljdk/vm/ci/meta/Assumptions;Ljdk/vm/ci/meta/ResolvedJavaField;Z)Lorg/graalvm/compiler/nodes/ValueNode;
flags: (0x0004) ACC_PROTECTED
Code:
stack=4, locals=4, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 1
aload 2
invokeinterface jdk.vm.ci.meta.ResolvedJavaField.isStatic:()Z
ifeq 1
aconst_null
goto 2
StackMap locals:
StackMap stack: jdk.vm.ci.meta.Assumptions
1: aload 0
invokevirtual org.graalvm.compiler.nodes.extended.RawLoadNode.object:()Lorg/graalvm/compiler/nodes/ValueNode;
StackMap locals: org.graalvm.compiler.nodes.extended.RawLoadNode jdk.vm.ci.meta.Assumptions jdk.vm.ci.meta.ResolvedJavaField int
StackMap stack: jdk.vm.ci.meta.Assumptions org.graalvm.compiler.nodes.ValueNode
2: aload 2
iload 3
invokestatic org.graalvm.compiler.nodes.java.LoadFieldNode.create:(Ljdk/vm/ci/meta/Assumptions;Lorg/graalvm/compiler/nodes/ValueNode;Ljdk/vm/ci/meta/ResolvedJavaField;Z)Lorg/graalvm/compiler/nodes/java/LoadFieldNode;
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lorg/graalvm/compiler/nodes/extended/RawLoadNode;
0 3 1 assumptions Ljdk/vm/ci/meta/Assumptions;
0 3 2 field Ljdk/vm/ci/meta/ResolvedJavaField;
0 3 3 volatileAccess Z
MethodParameters:
Name Flags
assumptions
field
volatileAccess
protected org.graalvm.compiler.nodes.ValueNode cloneAsArrayAccess(org.graalvm.compiler.nodes.ValueNode, jdk.internal.vm.compiler.word.LocationIdentity, boolean);
descriptor: (Lorg/graalvm/compiler/nodes/ValueNode;Ljdk/internal/vm/compiler/word/LocationIdentity;Z)Lorg/graalvm/compiler/nodes/ValueNode;
flags: (0x0004) ACC_PROTECTED
Code:
stack=6, locals=4, args_size=4
start local 0 start local 1 start local 2 start local 3 0: iload 3
ifeq 2
1: new org.graalvm.compiler.nodes.extended.RawVolatileLoadNode
dup
aload 0
invokevirtual org.graalvm.compiler.nodes.extended.RawLoadNode.object:()Lorg/graalvm/compiler/nodes/ValueNode;
aload 1
aload 0
invokevirtual org.graalvm.compiler.nodes.extended.RawLoadNode.accessKind:()Ljdk/vm/ci/meta/JavaKind;
aload 2
invokespecial org.graalvm.compiler.nodes.extended.RawVolatileLoadNode.<init>:(Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/nodes/ValueNode;Ljdk/vm/ci/meta/JavaKind;Ljdk/internal/vm/compiler/word/LocationIdentity;)V
areturn
2: StackMap locals:
StackMap stack:
new org.graalvm.compiler.nodes.extended.RawLoadNode
dup
aload 0
invokevirtual org.graalvm.compiler.nodes.extended.RawLoadNode.object:()Lorg/graalvm/compiler/nodes/ValueNode;
aload 1
aload 0
invokevirtual org.graalvm.compiler.nodes.extended.RawLoadNode.accessKind:()Ljdk/vm/ci/meta/JavaKind;
aload 2
invokespecial org.graalvm.compiler.nodes.extended.RawLoadNode.<init>:(Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/nodes/ValueNode;Ljdk/vm/ci/meta/JavaKind;Ljdk/internal/vm/compiler/word/LocationIdentity;)V
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lorg/graalvm/compiler/nodes/extended/RawLoadNode;
0 3 1 location Lorg/graalvm/compiler/nodes/ValueNode;
0 3 2 identity Ljdk/internal/vm/compiler/word/LocationIdentity;
0 3 3 volatileAccess Z
MethodParameters:
Name Flags
location
identity
volatileAccess
public static native java.lang.Object load(java.lang.Object, long, jdk.vm.ci.meta.JavaKind, jdk.internal.vm.compiler.word.LocationIdentity);
descriptor: (Ljava/lang/Object;JLjdk/vm/ci/meta/JavaKind;Ljdk/internal/vm/compiler/word/LocationIdentity;)Ljava/lang/Object;
flags: (0x0109) ACC_PUBLIC, ACC_STATIC, ACC_NATIVE
RuntimeVisibleAnnotations:
org.graalvm.compiler.graph.Node$NodeIntrinsic()
RuntimeVisibleParameterAnnotations:
0:
1:
2:
org.graalvm.compiler.graph.Node$ConstantNodeParameter()
3:
org.graalvm.compiler.graph.Node$ConstantNodeParameter()
MethodParameters:
Name Flags
object
offset
kind
locationIdentity
}
SourceFile: "RawLoadNode.java"
InnerClasses:
public abstract ConstantNodeParameter = org.graalvm.compiler.graph.Node$ConstantNodeParameter of org.graalvm.compiler.graph.Node
public abstract InjectedNodeParameter = org.graalvm.compiler.graph.Node$InjectedNodeParameter 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_2:Lorg/graalvm/compiler/nodeinfo/NodeCycles;, size = org.graalvm.compiler.nodeinfo.NodeSize.SIZE_1:Lorg/graalvm/compiler/nodeinfo/NodeSize;)