public abstract class org.graalvm.compiler.nodes.extended.UnsafeAccessNode extends org.graalvm.compiler.nodes.FixedWithNextNode implements org.graalvm.compiler.graph.spi.Canonicalizable
minor version: 0
major version: 59
flags: flags: (0x0421) ACC_PUBLIC, ACC_SUPER, ACC_ABSTRACT
this_class: org.graalvm.compiler.nodes.extended.UnsafeAccessNode
super_class: org.graalvm.compiler.nodes.FixedWithNextNode
{
public static final org.graalvm.compiler.graph.NodeClass<org.graalvm.compiler.nodes.extended.UnsafeAccessNode> 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/UnsafeAccessNode;>;
org.graalvm.compiler.nodes.ValueNode object;
descriptor: Lorg/graalvm/compiler/nodes/ValueNode;
flags: (0x0000)
RuntimeVisibleAnnotations:
org.graalvm.compiler.graph.Node$Input()
org.graalvm.compiler.nodes.ValueNode offset;
descriptor: Lorg/graalvm/compiler/nodes/ValueNode;
flags: (0x0000)
RuntimeVisibleAnnotations:
org.graalvm.compiler.graph.Node$Input()
protected final jdk.vm.ci.meta.JavaKind accessKind;
descriptor: Ljdk/vm/ci/meta/JavaKind;
flags: (0x0014) ACC_PROTECTED, ACC_FINAL
protected final jdk.internal.vm.compiler.word.LocationIdentity locationIdentity;
descriptor: Ljdk/internal/vm/compiler/word/LocationIdentity;
flags: (0x0014) ACC_PROTECTED, ACC_FINAL
protected final boolean forceAnyLocation;
descriptor: Z
flags: (0x0014) ACC_PROTECTED, ACC_FINAL
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/extended/UnsafeAccessNode;
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.extended.UnsafeAccessNode.$assertionsDisabled:Z
3: ldc Lorg/graalvm/compiler/nodes/extended/UnsafeAccessNode;
invokestatic org.graalvm.compiler.graph.NodeClass.create:(Ljava/lang/Class;)Lorg/graalvm/compiler/graph/NodeClass;
putstatic org.graalvm.compiler.nodes.extended.UnsafeAccessNode.TYPE:Lorg/graalvm/compiler/graph/NodeClass;
return
LocalVariableTable:
Start End Slot Name Signature
public abstract boolean isVolatile();
descriptor: ()Z
flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
protected void <init>(org.graalvm.compiler.graph.NodeClass<? extends org.graalvm.compiler.nodes.extended.UnsafeAccessNode>, org.graalvm.compiler.core.common.type.Stamp, 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/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
flags: (0x0004) ACC_PROTECTED
Code:
stack=3, locals=8, args_size=8
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 start local 6 start local 7 0: aload 0
aload 1
aload 2
invokespecial org.graalvm.compiler.nodes.FixedWithNextNode.<init>:(Lorg/graalvm/compiler/graph/NodeClass;Lorg/graalvm/compiler/core/common/type/Stamp;)V
1: aload 0
iload 7
putfield org.graalvm.compiler.nodes.extended.UnsafeAccessNode.forceAnyLocation:Z
2: getstatic org.graalvm.compiler.nodes.extended.UnsafeAccessNode.$assertionsDisabled:Z
ifne 3
aload 5
ifnonnull 3
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
3: StackMap locals: org.graalvm.compiler.nodes.extended.UnsafeAccessNode org.graalvm.compiler.graph.NodeClass org.graalvm.compiler.core.common.type.Stamp org.graalvm.compiler.nodes.ValueNode org.graalvm.compiler.nodes.ValueNode jdk.vm.ci.meta.JavaKind jdk.internal.vm.compiler.word.LocationIdentity int
StackMap stack:
getstatic org.graalvm.compiler.nodes.extended.UnsafeAccessNode.$assertionsDisabled:Z
ifne 4
aload 6
ifnonnull 4
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
4: StackMap locals:
StackMap stack:
aload 0
aload 3
putfield org.graalvm.compiler.nodes.extended.UnsafeAccessNode.object:Lorg/graalvm/compiler/nodes/ValueNode;
5: aload 0
aload 4
putfield org.graalvm.compiler.nodes.extended.UnsafeAccessNode.offset:Lorg/graalvm/compiler/nodes/ValueNode;
6: aload 0
aload 5
putfield org.graalvm.compiler.nodes.extended.UnsafeAccessNode.accessKind:Ljdk/vm/ci/meta/JavaKind;
7: aload 0
aload 6
putfield org.graalvm.compiler.nodes.extended.UnsafeAccessNode.locationIdentity:Ljdk/internal/vm/compiler/word/LocationIdentity;
8: return
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 9 0 this Lorg/graalvm/compiler/nodes/extended/UnsafeAccessNode;
0 9 1 c Lorg/graalvm/compiler/graph/NodeClass<+Lorg/graalvm/compiler/nodes/extended/UnsafeAccessNode;>;
0 9 2 stamp Lorg/graalvm/compiler/core/common/type/Stamp;
0 9 3 object Lorg/graalvm/compiler/nodes/ValueNode;
0 9 4 offset Lorg/graalvm/compiler/nodes/ValueNode;
0 9 5 accessKind Ljdk/vm/ci/meta/JavaKind;
0 9 6 locationIdentity Ljdk/internal/vm/compiler/word/LocationIdentity;
0 9 7 forceAnyLocation Z
Signature: (Lorg/graalvm/compiler/graph/NodeClass<+Lorg/graalvm/compiler/nodes/extended/UnsafeAccessNode;>;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
MethodParameters:
Name Flags
c
stamp
object
offset
accessKind
locationIdentity
forceAnyLocation
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: aload 0
getfield org.graalvm.compiler.nodes.extended.UnsafeAccessNode.locationIdentity:Ljdk/internal/vm/compiler/word/LocationIdentity;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/graalvm/compiler/nodes/extended/UnsafeAccessNode;
public boolean isAnyLocationForced();
descriptor: ()Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.graalvm.compiler.nodes.extended.UnsafeAccessNode.forceAnyLocation:Z
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/graalvm/compiler/nodes/extended/UnsafeAccessNode;
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.extended.UnsafeAccessNode.object:Lorg/graalvm/compiler/nodes/ValueNode;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/graalvm/compiler/nodes/extended/UnsafeAccessNode;
public org.graalvm.compiler.nodes.ValueNode offset();
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.extended.UnsafeAccessNode.offset:Lorg/graalvm/compiler/nodes/ValueNode;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/graalvm/compiler/nodes/extended/UnsafeAccessNode;
public jdk.vm.ci.meta.JavaKind accessKind();
descriptor: ()Ljdk/vm/ci/meta/JavaKind;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.graalvm.compiler.nodes.extended.UnsafeAccessNode.accessKind:Ljdk/vm/ci/meta/JavaKind;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/graalvm/compiler/nodes/extended/UnsafeAccessNode;
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=4, locals=6, args_size=2
start local 0 start local 1 0: aload 0
invokevirtual org.graalvm.compiler.nodes.extended.UnsafeAccessNode.isAnyLocationForced:()Z
ifne 16
aload 0
invokevirtual org.graalvm.compiler.nodes.extended.UnsafeAccessNode.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.UnsafeAccessNode.offset:()Lorg/graalvm/compiler/nodes/ValueNode;
invokevirtual org.graalvm.compiler.nodes.ValueNode.isConstant:()Z
ifeq 11
2: aload 0
invokevirtual org.graalvm.compiler.nodes.extended.UnsafeAccessNode.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 2
start local 2 3: aload 0
invokevirtual org.graalvm.compiler.nodes.extended.UnsafeAccessNode.object:()Lorg/graalvm/compiler/nodes/ValueNode;
invokestatic org.graalvm.compiler.nodes.type.StampTool.typeOrNull:(Lorg/graalvm/compiler/nodes/ValueNode;)Ljdk/vm/ci/meta/ResolvedJavaType;
astore 4
start local 4 4: aload 4
ifnull 11
5: aload 0
aload 1
invokeinterface org.graalvm.compiler.graph.spi.CanonicalizerTool.getConstantReflection:()Ljdk/vm/ci/meta/ConstantReflectionProvider;
invokevirtual org.graalvm.compiler.nodes.extended.UnsafeAccessNode.getStaticFieldUnsafeAccess:(Ljdk/vm/ci/meta/ConstantReflectionProvider;)Ljdk/vm/ci/meta/ResolvedJavaField;
astore 5
start local 5 6: aload 5
ifnonnull 8
7: aload 4
lload 2
aload 0
invokevirtual org.graalvm.compiler.nodes.extended.UnsafeAccessNode.accessKind:()Ljdk/vm/ci/meta/JavaKind;
invokeinterface jdk.vm.ci.meta.ResolvedJavaType.findInstanceFieldWithOffset:(JLjdk/vm/ci/meta/JavaKind;)Ljdk/vm/ci/meta/ResolvedJavaField;
astore 5
8: StackMap locals: long jdk.vm.ci.meta.ResolvedJavaType jdk.vm.ci.meta.ResolvedJavaField
StackMap stack:
aload 5
ifnull 11
aload 5
invokeinterface jdk.vm.ci.meta.ResolvedJavaField.getJavaKind:()Ljdk/vm/ci/meta/JavaKind;
aload 0
invokevirtual org.graalvm.compiler.nodes.extended.UnsafeAccessNode.accessKind:()Ljdk/vm/ci/meta/JavaKind;
if_acmpne 11
9: getstatic org.graalvm.compiler.nodes.extended.UnsafeAccessNode.$assertionsDisabled:Z
ifne 10
aload 0
invokevirtual org.graalvm.compiler.nodes.extended.UnsafeAccessNode.graph:()Lorg/graalvm/compiler/nodes/StructuredGraph;
invokevirtual org.graalvm.compiler.nodes.StructuredGraph.isAfterFloatingReadPhase:()Z
ifeq 10
new java.lang.AssertionError
dup
ldc "cannot add more precise memory location after floating read phase"
invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
athrow
10: StackMap locals:
StackMap stack:
aload 0
aload 0
invokevirtual org.graalvm.compiler.nodes.extended.UnsafeAccessNode.graph:()Lorg/graalvm/compiler/nodes/StructuredGraph;
invokevirtual org.graalvm.compiler.nodes.StructuredGraph.getAssumptions:()Ljdk/vm/ci/meta/Assumptions;
aload 5
aload 0
invokevirtual org.graalvm.compiler.nodes.extended.UnsafeAccessNode.isVolatile:()Z
invokevirtual org.graalvm.compiler.nodes.extended.UnsafeAccessNode.cloneAsFieldAccess:(Ljdk/vm/ci/meta/Assumptions;Ljdk/vm/ci/meta/ResolvedJavaField;Z)Lorg/graalvm/compiler/nodes/ValueNode;
areturn
end local 5 end local 4 end local 2 11: StackMap locals:
StackMap stack:
aload 0
invokevirtual org.graalvm.compiler.nodes.extended.UnsafeAccessNode.object:()Lorg/graalvm/compiler/nodes/ValueNode;
invokestatic org.graalvm.compiler.nodes.type.StampTool.typeOrNull:(Lorg/graalvm/compiler/nodes/ValueNode;)Ljdk/vm/ci/meta/ResolvedJavaType;
astore 2
start local 2 12: aload 2
ifnull 16
aload 2
invokeinterface jdk.vm.ci.meta.ResolvedJavaType.isArray:()Z
ifeq 16
13: aload 2
invokeinterface jdk.vm.ci.meta.ResolvedJavaType.getComponentType:()Ljdk/vm/ci/meta/ResolvedJavaType;
invokeinterface jdk.vm.ci.meta.ResolvedJavaType.getJavaKind:()Ljdk/vm/ci/meta/JavaKind;
invokestatic org.graalvm.compiler.nodes.NamedLocationIdentity.getArrayLocation:(Ljdk/vm/ci/meta/JavaKind;)Ljdk/internal/vm/compiler/word/LocationIdentity;
astore 3
start local 3 14: getstatic org.graalvm.compiler.nodes.extended.UnsafeAccessNode.$assertionsDisabled:Z
ifne 15
aload 0
invokevirtual org.graalvm.compiler.nodes.extended.UnsafeAccessNode.graph:()Lorg/graalvm/compiler/nodes/StructuredGraph;
invokevirtual org.graalvm.compiler.nodes.StructuredGraph.isAfterFloatingReadPhase:()Z
ifeq 15
new java.lang.AssertionError
dup
ldc "cannot add more precise memory location after floating read phase"
invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
athrow
15: StackMap locals: jdk.vm.ci.meta.ResolvedJavaType jdk.internal.vm.compiler.word.LocationIdentity
StackMap stack:
aload 0
aload 0
invokevirtual org.graalvm.compiler.nodes.extended.UnsafeAccessNode.offset:()Lorg/graalvm/compiler/nodes/ValueNode;
aload 3
aload 0
invokevirtual org.graalvm.compiler.nodes.extended.UnsafeAccessNode.isVolatile:()Z
invokevirtual org.graalvm.compiler.nodes.extended.UnsafeAccessNode.cloneAsArrayAccess:(Lorg/graalvm/compiler/nodes/ValueNode;Ljdk/internal/vm/compiler/word/LocationIdentity;Z)Lorg/graalvm/compiler/nodes/ValueNode;
areturn
end local 3 end local 2 16: StackMap locals:
StackMap stack:
aload 0
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 17 0 this Lorg/graalvm/compiler/nodes/extended/UnsafeAccessNode;
0 17 1 tool Lorg/graalvm/compiler/graph/spi/CanonicalizerTool;
3 11 2 constantOffset J
4 11 4 receiverType Ljdk/vm/ci/meta/ResolvedJavaType;
6 11 5 field Ljdk/vm/ci/meta/ResolvedJavaField;
12 16 2 receiverType Ljdk/vm/ci/meta/ResolvedJavaType;
14 16 3 identity Ljdk/internal/vm/compiler/word/LocationIdentity;
MethodParameters:
Name Flags
tool
protected org.graalvm.compiler.nodes.ValueNode cloneAsFieldAccess(jdk.vm.ci.meta.Assumptions, jdk.vm.ci.meta.ResolvedJavaField);
descriptor: (Ljdk/vm/ci/meta/Assumptions;Ljdk/vm/ci/meta/ResolvedJavaField;)Lorg/graalvm/compiler/nodes/ValueNode;
flags: (0x0004) ACC_PROTECTED
Code:
stack=4, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
aload 1
aload 2
aload 2
invokeinterface jdk.vm.ci.meta.ResolvedJavaField.isVolatile:()Z
invokevirtual org.graalvm.compiler.nodes.extended.UnsafeAccessNode.cloneAsFieldAccess:(Ljdk/vm/ci/meta/Assumptions;Ljdk/vm/ci/meta/ResolvedJavaField;Z)Lorg/graalvm/compiler/nodes/ValueNode;
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/graalvm/compiler/nodes/extended/UnsafeAccessNode;
0 1 1 assumptions Ljdk/vm/ci/meta/Assumptions;
0 1 2 field Ljdk/vm/ci/meta/ResolvedJavaField;
MethodParameters:
Name Flags
assumptions
field
protected abstract 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: (0x0404) ACC_PROTECTED, ACC_ABSTRACT
MethodParameters:
Name Flags
assumptions
field
volatileAccess
protected abstract 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: (0x0404) ACC_PROTECTED, ACC_ABSTRACT
MethodParameters:
Name Flags
location
identity
volatileAccess
private jdk.vm.ci.meta.ResolvedJavaField getStaticFieldUnsafeAccess(jdk.vm.ci.meta.ConstantReflectionProvider);
descriptor: (Ljdk/vm/ci/meta/ConstantReflectionProvider;)Ljdk/vm/ci/meta/ResolvedJavaField;
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=5, args_size=2
start local 0 start local 1 0: aload 0
invokevirtual org.graalvm.compiler.nodes.extended.UnsafeAccessNode.object:()Lorg/graalvm/compiler/nodes/ValueNode;
invokevirtual org.graalvm.compiler.nodes.ValueNode.isJavaConstant:()Z
ifeq 2
aload 0
invokevirtual org.graalvm.compiler.nodes.extended.UnsafeAccessNode.offset:()Lorg/graalvm/compiler/nodes/ValueNode;
invokevirtual org.graalvm.compiler.nodes.ValueNode.isJavaConstant:()Z
ifeq 2
1: aload 0
invokevirtual org.graalvm.compiler.nodes.extended.UnsafeAccessNode.object:()Lorg/graalvm/compiler/nodes/ValueNode;
invokevirtual org.graalvm.compiler.nodes.ValueNode.isNullConstant:()Z
ifne 2
aload 0
invokevirtual org.graalvm.compiler.nodes.extended.UnsafeAccessNode.offset:()Lorg/graalvm/compiler/nodes/ValueNode;
invokevirtual org.graalvm.compiler.nodes.ValueNode.isNullConstant:()Z
ifeq 3
2: StackMap locals:
StackMap stack:
aconst_null
areturn
3: StackMap locals:
StackMap stack:
aload 0
invokevirtual org.graalvm.compiler.nodes.extended.UnsafeAccessNode.object:()Lorg/graalvm/compiler/nodes/ValueNode;
invokevirtual org.graalvm.compiler.nodes.ValueNode.asJavaConstant:()Ljdk/vm/ci/meta/JavaConstant;
astore 2
start local 2 4: aload 0
invokevirtual org.graalvm.compiler.nodes.extended.UnsafeAccessNode.offset:()Lorg/graalvm/compiler/nodes/ValueNode;
invokevirtual org.graalvm.compiler.nodes.ValueNode.asJavaConstant:()Ljdk/vm/ci/meta/JavaConstant;
astore 3
start local 3 5: getstatic org.graalvm.compiler.nodes.extended.UnsafeAccessNode.$assertionsDisabled:Z
ifne 7
aload 2
ifnull 6
aload 3
ifnonnull 7
StackMap locals: jdk.vm.ci.meta.JavaConstant jdk.vm.ci.meta.JavaConstant
StackMap stack:
6: new java.lang.AssertionError
dup
ldc "Verified by the check at the beginning."
invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
athrow
7: StackMap locals:
StackMap stack:
aload 1
aload 2
invokeinterface jdk.vm.ci.meta.ConstantReflectionProvider.asJavaType:(Ljdk/vm/ci/meta/Constant;)Ljdk/vm/ci/meta/ResolvedJavaType;
astore 4
start local 4 8: aload 4
ifnonnull 10
9: aconst_null
areturn
10: StackMap locals: jdk.vm.ci.meta.ResolvedJavaType
StackMap stack:
aload 4
aload 3
invokeinterface jdk.vm.ci.meta.JavaConstant.asLong:()J
aload 0
getfield org.graalvm.compiler.nodes.extended.UnsafeAccessNode.accessKind:Ljdk/vm/ci/meta/JavaKind;
invokestatic org.graalvm.compiler.nodes.extended.UnsafeAccessNode.findStaticFieldWithOffset:(Ljdk/vm/ci/meta/ResolvedJavaType;JLjdk/vm/ci/meta/JavaKind;)Ljdk/vm/ci/meta/ResolvedJavaField;
areturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 11 0 this Lorg/graalvm/compiler/nodes/extended/UnsafeAccessNode;
0 11 1 constantReflection Ljdk/vm/ci/meta/ConstantReflectionProvider;
4 11 2 objectConstant Ljdk/vm/ci/meta/JavaConstant;
5 11 3 offsetConstant Ljdk/vm/ci/meta/JavaConstant;
8 11 4 staticReceiverType Ljdk/vm/ci/meta/ResolvedJavaType;
MethodParameters:
Name Flags
constantReflection
private static jdk.vm.ci.meta.ResolvedJavaField findStaticFieldWithOffset(jdk.vm.ci.meta.ResolvedJavaType, long, jdk.vm.ci.meta.JavaKind);
descriptor: (Ljdk/vm/ci/meta/ResolvedJavaType;JLjdk/vm/ci/meta/JavaKind;)Ljdk/vm/ci/meta/ResolvedJavaField;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=4, locals=5, args_size=3
start local 0 start local 1 start local 3 0: aload 0
invokeinterface jdk.vm.ci.meta.ResolvedJavaType.getStaticFields:()[Ljdk/vm/ci/meta/ResolvedJavaField;
astore 4
start local 4 1: lload 1
aload 3
aload 4
invokestatic org.graalvm.compiler.nodes.extended.UnsafeAccessNode.findFieldWithOffset:(JLjdk/vm/ci/meta/JavaKind;[Ljdk/vm/ci/meta/ResolvedJavaField;)Ljdk/vm/ci/meta/ResolvedJavaField;
2: areturn
end local 4 3: StackMap locals:
StackMap stack: java.lang.UnsupportedOperationException
pop
4: aconst_null
areturn
end local 3 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 type Ljdk/vm/ci/meta/ResolvedJavaType;
0 5 1 offset J
0 5 3 expectedEntryKind Ljdk/vm/ci/meta/JavaKind;
1 3 4 declaredFields [Ljdk/vm/ci/meta/ResolvedJavaField;
Exception table:
from to target type
0 2 3 Class java.lang.UnsupportedOperationException
MethodParameters:
Name Flags
type
offset
expectedEntryKind
private static jdk.vm.ci.meta.ResolvedJavaField findFieldWithOffset(long, jdk.vm.ci.meta.JavaKind, jdk.vm.ci.meta.ResolvedJavaField[]);
descriptor: (JLjdk/vm/ci/meta/JavaKind;[Ljdk/vm/ci/meta/ResolvedJavaField;)Ljdk/vm/ci/meta/ResolvedJavaField;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=6, locals=10, args_size=3
start local 0 start local 2 start local 3 0: aload 3
dup
astore 7
arraylength
istore 6
iconst_0
istore 5
goto 13
StackMap locals: long jdk.vm.ci.meta.JavaKind jdk.vm.ci.meta.ResolvedJavaField[] top int int jdk.vm.ci.meta.ResolvedJavaField[]
StackMap stack:
1: aload 7
iload 5
aaload
astore 4
start local 4 2: aload 4
invokeinterface jdk.vm.ci.meta.ResolvedJavaField.getOffset:()I
i2l
lstore 8
start local 8 3: invokestatic java.nio.ByteOrder.nativeOrder:()Ljava/nio/ByteOrder;
getstatic java.nio.ByteOrder.BIG_ENDIAN:Ljava/nio/ByteOrder;
if_acmpne 10
4: aload 2
invokevirtual jdk.vm.ci.meta.JavaKind.isPrimitive:()Z
ifeq 10
5: aload 2
getstatic jdk.vm.ci.meta.JavaKind.Void:Ljdk/vm/ci/meta/JavaKind;
invokevirtual jdk.vm.ci.meta.JavaKind.equals:(Ljava/lang/Object;)Z
ifne 10
6: aload 4
invokeinterface jdk.vm.ci.meta.ResolvedJavaField.getJavaKind:()Ljdk/vm/ci/meta/JavaKind;
invokevirtual jdk.vm.ci.meta.JavaKind.isPrimitive:()Z
ifeq 10
7: lload 8
aload 4
invokeinterface jdk.vm.ci.meta.ResolvedJavaField.getJavaKind:()Ljdk/vm/ci/meta/JavaKind;
invokevirtual jdk.vm.ci.meta.JavaKind.getByteCount:()I
8: aload 4
invokeinterface jdk.vm.ci.meta.ResolvedJavaField.getJavaKind:()Ljdk/vm/ci/meta/JavaKind;
invokevirtual jdk.vm.ci.meta.JavaKind.getByteCount:()I
iconst_4
aload 2
invokevirtual jdk.vm.ci.meta.JavaKind.getByteCount:()I
iadd
invokestatic java.lang.Math.min:(II)I
9: isub
i2l
ladd
lstore 8
10: StackMap locals: long jdk.vm.ci.meta.JavaKind jdk.vm.ci.meta.ResolvedJavaField[] jdk.vm.ci.meta.ResolvedJavaField int int jdk.vm.ci.meta.ResolvedJavaField[] long
StackMap stack:
lload 8
lload 0
lcmp
ifne 12
11: aload 4
areturn
end local 8 end local 4 12: StackMap locals: long jdk.vm.ci.meta.JavaKind jdk.vm.ci.meta.ResolvedJavaField[] top int int jdk.vm.ci.meta.ResolvedJavaField[]
StackMap stack:
iinc 5 1
StackMap locals:
StackMap stack:
13: iload 5
iload 6
if_icmplt 1
14: aconst_null
areturn
end local 3 end local 2 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 15 0 offset J
0 15 2 expectedEntryKind Ljdk/vm/ci/meta/JavaKind;
0 15 3 declaredFields [Ljdk/vm/ci/meta/ResolvedJavaField;
2 12 4 field Ljdk/vm/ci/meta/ResolvedJavaField;
3 12 8 resolvedFieldOffset J
MethodParameters:
Name Flags
offset
expectedEntryKind
declaredFields
}
SourceFile: "UnsafeAccessNode.java"
InnerClasses:
public abstract Input = org.graalvm.compiler.graph.Node$Input 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;)