public class com.oracle.svm.hosted.meta.HostedMemoryAccessProvider implements com.oracle.svm.core.graal.meta.SubstrateMemoryAccessProvider
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: com.oracle.svm.hosted.meta.HostedMemoryAccessProvider
super_class: java.lang.Object
{
private final com.oracle.svm.hosted.meta.HostedMetaAccess metaAccess;
descriptor: Lcom/oracle/svm/hosted/meta/HostedMetaAccess;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
static final boolean $assertionsDisabled;
descriptor: Z
flags: (0x1018) ACC_STATIC, ACC_FINAL, ACC_SYNTHETIC
private static volatile int[] $SWITCH_TABLE$jdk$vm$ci$meta$JavaKind;
descriptor: [I
flags: (0x104a) ACC_PRIVATE, ACC_STATIC, ACC_VOLATILE, 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/meta/HostedMemoryAccessProvider;
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.meta.HostedMemoryAccessProvider.$assertionsDisabled:Z
return
LocalVariableTable:
Start End Slot Name Signature
public void <init>(com.oracle.svm.hosted.meta.HostedMetaAccess);
descriptor: (Lcom/oracle/svm/hosted/meta/HostedMetaAccess;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: aload 0
aload 1
putfield com.oracle.svm.hosted.meta.HostedMemoryAccessProvider.metaAccess:Lcom/oracle/svm/hosted/meta/HostedMetaAccess;
2: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lcom/oracle/svm/hosted/meta/HostedMemoryAccessProvider;
0 3 1 metaAccess Lcom/oracle/svm/hosted/meta/HostedMetaAccess;
MethodParameters:
Name Flags
metaAccess
public jdk.vm.ci.meta.JavaConstant readPrimitiveConstant(jdk.vm.ci.meta.JavaKind, jdk.vm.ci.meta.Constant, long, int);
descriptor: (Ljdk/vm/ci/meta/JavaKind;Ljdk/vm/ci/meta/Constant;JI)Ljdk/vm/ci/meta/JavaConstant;
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=8, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 5 0: aload 0
aload 1
aload 2
checkcast jdk.vm.ci.meta.JavaConstant
lload 3
invokevirtual com.oracle.svm.hosted.meta.HostedMemoryAccessProvider.doRead:(Ljdk/vm/ci/meta/JavaKind;Ljdk/vm/ci/meta/JavaConstant;J)Ljdk/vm/ci/meta/JavaConstant;
astore 6
start local 6 1: aload 6
ifnonnull 3
2: aconst_null
areturn
3: StackMap locals: jdk.vm.ci.meta.JavaConstant
StackMap stack:
invokestatic com.oracle.svm.hosted.meta.HostedMemoryAccessProvider.$SWITCH_TABLE$jdk$vm$ci$meta$JavaKind:()[I
aload 1
invokevirtual jdk.vm.ci.meta.JavaKind.ordinal:()I
iaload
tableswitch { // 5 - 8
5: 4
6: 6
7: 6
8: 6
default: 9
}
4: StackMap locals:
StackMap stack:
aload 6
invokeinterface jdk.vm.ci.meta.JavaConstant.asInt:()I
invokestatic jdk.vm.ci.meta.JavaConstant.forInt:(I)Ljdk/vm/ci/meta/PrimitiveConstant;
astore 7
start local 7 5: goto 10
end local 7 6: StackMap locals:
StackMap stack:
getstatic com.oracle.svm.hosted.meta.HostedMemoryAccessProvider.$assertionsDisabled:Z
ifne 7
aload 6
invokeinterface jdk.vm.ci.meta.JavaConstant.getJavaKind:()Ljdk/vm/ci/meta/JavaKind;
aload 1
if_acmpeq 7
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
7: StackMap locals:
StackMap stack:
aload 6
astore 7
start local 7 8: goto 10
end local 7 9: StackMap locals:
StackMap stack:
invokestatic com.oracle.svm.core.util.VMError.shouldNotReachHere:()Ljava/lang/RuntimeException;
athrow
start local 7 10: StackMap locals: jdk.vm.ci.meta.JavaConstant
StackMap stack:
aload 7
areturn
end local 7 end local 6 end local 5 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 11 0 this Lcom/oracle/svm/hosted/meta/HostedMemoryAccessProvider;
0 11 1 stackKind Ljdk/vm/ci/meta/JavaKind;
0 11 2 base Ljdk/vm/ci/meta/Constant;
0 11 3 displacement J
0 11 5 bits I
1 11 6 result Ljdk/vm/ci/meta/JavaConstant;
5 6 7 wrappedResult Ljdk/vm/ci/meta/JavaConstant;
8 9 7 wrappedResult Ljdk/vm/ci/meta/JavaConstant;
10 11 7 wrappedResult Ljdk/vm/ci/meta/JavaConstant;
MethodParameters:
Name Flags
stackKind
base
displacement
bits
public jdk.vm.ci.meta.JavaConstant readObjectConstant(jdk.vm.ci.meta.Constant, long);
descriptor: (Ljdk/vm/ci/meta/Constant;J)Ljdk/vm/ci/meta/JavaConstant;
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=4, args_size=3
start local 0 start local 1 start local 2 0: aload 0
getstatic jdk.vm.ci.meta.JavaKind.Object:Ljdk/vm/ci/meta/JavaKind;
aload 1
checkcast jdk.vm.ci.meta.JavaConstant
lload 2
invokevirtual com.oracle.svm.hosted.meta.HostedMemoryAccessProvider.doRead:(Ljdk/vm/ci/meta/JavaKind;Ljdk/vm/ci/meta/JavaConstant;J)Ljdk/vm/ci/meta/JavaConstant;
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/svm/hosted/meta/HostedMemoryAccessProvider;
0 1 1 base Ljdk/vm/ci/meta/Constant;
0 1 2 displacement J
MethodParameters:
Name Flags
base
displacement
public jdk.vm.ci.meta.JavaConstant readNarrowObjectConstant(jdk.vm.ci.meta.Constant, long, org.graalvm.compiler.core.common.CompressEncoding);
descriptor: (Ljdk/vm/ci/meta/Constant;JLorg/graalvm/compiler/core/common/CompressEncoding;)Ljdk/vm/ci/meta/JavaConstant;
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=6, args_size=4
start local 0 start local 1 start local 2 start local 4 0: getstatic com.oracle.svm.hosted.meta.HostedMemoryAccessProvider.$assertionsDisabled:Z
ifne 1
getstatic com.oracle.svm.core.SubstrateOptions.SpawnIsolates:Lcom/oracle/svm/core/option/HostedOptionKey;
invokevirtual com.oracle.svm.core.option.HostedOptionKey.getValue:()Ljava/lang/Object;
checkcast java.lang.Boolean
invokevirtual java.lang.Boolean.booleanValue:()Z
ifne 1
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
1: StackMap locals:
StackMap stack:
aload 0
aload 1
lload 2
invokevirtual com.oracle.svm.hosted.meta.HostedMemoryAccessProvider.readObjectConstant:(Ljdk/vm/ci/meta/Constant;J)Ljdk/vm/ci/meta/JavaConstant;
astore 5
start local 5 2: aload 5
ifnonnull 4
3: aconst_null
areturn
4: StackMap locals: jdk.vm.ci.meta.JavaConstant
StackMap stack:
getstatic jdk.vm.ci.meta.JavaConstant.NULL_POINTER:Ljdk/vm/ci/meta/JavaConstant;
aload 5
invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
ifeq 6
5: getstatic com.oracle.svm.core.meta.CompressedNullConstant.COMPRESSED_NULL:Ljdk/vm/ci/meta/JavaConstant;
areturn
6: StackMap locals:
StackMap stack:
aload 5
checkcast com.oracle.svm.core.meta.SubstrateObjectConstant
invokevirtual com.oracle.svm.core.meta.SubstrateObjectConstant.compress:()Lcom/oracle/svm/core/meta/SubstrateObjectConstant;
areturn
end local 5 end local 4 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Lcom/oracle/svm/hosted/meta/HostedMemoryAccessProvider;
0 7 1 base Ljdk/vm/ci/meta/Constant;
0 7 2 displacement J
0 7 4 encoding Lorg/graalvm/compiler/core/common/CompressEncoding;
2 7 5 result Ljdk/vm/ci/meta/JavaConstant;
MethodParameters:
Name Flags
base
displacement
encoding
private jdk.vm.ci.meta.JavaConstant doRead(jdk.vm.ci.meta.JavaKind, jdk.vm.ci.meta.JavaConstant, long);
descriptor: (Ljdk/vm/ci/meta/JavaKind;Ljdk/vm/ci/meta/JavaConstant;J)Ljdk/vm/ci/meta/JavaConstant;
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=8, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 2
invokeinterface jdk.vm.ci.meta.JavaConstant.getJavaKind:()Ljdk/vm/ci/meta/JavaKind;
getstatic jdk.vm.ci.meta.JavaKind.Object:Ljdk/vm/ci/meta/JavaKind;
if_acmpeq 2
1: aconst_null
areturn
2: StackMap locals:
StackMap stack:
aload 0
getfield com.oracle.svm.hosted.meta.HostedMemoryAccessProvider.metaAccess:Lcom/oracle/svm/hosted/meta/HostedMetaAccess;
aload 2
invokevirtual com.oracle.svm.hosted.meta.HostedMetaAccess.lookupJavaType:(Ljdk/vm/ci/meta/JavaConstant;)Ljdk/vm/ci/meta/ResolvedJavaType;
checkcast com.oracle.svm.hosted.meta.HostedType
astore 5
start local 5 3: aload 5
lload 3
aconst_null
invokevirtual com.oracle.svm.hosted.meta.HostedType.findInstanceFieldWithOffset:(JLjdk/vm/ci/meta/JavaKind;)Ljdk/vm/ci/meta/ResolvedJavaField;
checkcast com.oracle.svm.hosted.meta.HostedField
astore 6
start local 6 4: aload 6
ifnonnull 6
5: aconst_null
areturn
6: StackMap locals: com.oracle.svm.hosted.meta.HostedType com.oracle.svm.hosted.meta.HostedField
StackMap stack:
getstatic com.oracle.svm.hosted.meta.HostedMemoryAccessProvider.$assertionsDisabled:Z
ifne 7
aload 6
invokevirtual com.oracle.svm.hosted.meta.HostedField.getStorageKind:()Ljdk/vm/ci/meta/JavaKind;
invokevirtual jdk.vm.ci.meta.JavaKind.getStackKind:()Ljdk/vm/ci/meta/JavaKind;
aload 1
if_acmpeq 7
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
7: StackMap locals:
StackMap stack:
aload 6
aload 2
invokevirtual com.oracle.svm.hosted.meta.HostedField.readValue:(Ljdk/vm/ci/meta/JavaConstant;)Ljdk/vm/ci/meta/JavaConstant;
astore 7
start local 7 8: getstatic com.oracle.svm.hosted.meta.HostedMemoryAccessProvider.$assertionsDisabled:Z
ifne 9
aload 7
invokeinterface jdk.vm.ci.meta.JavaConstant.getJavaKind:()Ljdk/vm/ci/meta/JavaKind;
invokevirtual jdk.vm.ci.meta.JavaKind.getStackKind:()Ljdk/vm/ci/meta/JavaKind;
aload 1
if_acmpeq 9
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
9: StackMap locals: jdk.vm.ci.meta.JavaConstant
StackMap stack:
aload 7
areturn
end local 7 end local 6 end local 5 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 10 0 this Lcom/oracle/svm/hosted/meta/HostedMemoryAccessProvider;
0 10 1 stackKind Ljdk/vm/ci/meta/JavaKind;
0 10 2 base Ljdk/vm/ci/meta/JavaConstant;
0 10 3 displacement J
3 10 5 type Lcom/oracle/svm/hosted/meta/HostedType;
4 10 6 field Lcom/oracle/svm/hosted/meta/HostedField;
8 10 7 result Ljdk/vm/ci/meta/JavaConstant;
MethodParameters:
Name Flags
stackKind
base
displacement
static int[] $SWITCH_TABLE$jdk$vm$ci$meta$JavaKind();
descriptor: ()[I
flags: (0x1008) ACC_STATIC, ACC_SYNTHETIC
Code:
stack=3, locals=1, args_size=0
0: getstatic com.oracle.svm.hosted.meta.HostedMemoryAccessProvider.$SWITCH_TABLE$jdk$vm$ci$meta$JavaKind:[I
dup
ifnull 1
areturn
StackMap locals:
StackMap stack: int[]
1: pop
invokestatic jdk.vm.ci.meta.JavaKind.values:()[Ljdk/vm/ci/meta/JavaKind;
arraylength
newarray 10
astore 0
2: aload 0
getstatic jdk.vm.ci.meta.JavaKind.Boolean:Ljdk/vm/ci/meta/JavaKind;
invokevirtual jdk.vm.ci.meta.JavaKind.ordinal:()I
iconst_1
iastore
3: goto 5
StackMap locals: int[]
StackMap stack: java.lang.NoSuchFieldError
4: pop
StackMap locals:
StackMap stack:
5: aload 0
getstatic jdk.vm.ci.meta.JavaKind.Byte:Ljdk/vm/ci/meta/JavaKind;
invokevirtual jdk.vm.ci.meta.JavaKind.ordinal:()I
iconst_2
iastore
6: goto 8
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
7: pop
StackMap locals:
StackMap stack:
8: aload 0
getstatic jdk.vm.ci.meta.JavaKind.Char:Ljdk/vm/ci/meta/JavaKind;
invokevirtual jdk.vm.ci.meta.JavaKind.ordinal:()I
iconst_4
iastore
9: goto 11
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
10: pop
StackMap locals:
StackMap stack:
11: aload 0
getstatic jdk.vm.ci.meta.JavaKind.Double:Ljdk/vm/ci/meta/JavaKind;
invokevirtual jdk.vm.ci.meta.JavaKind.ordinal:()I
bipush 8
iastore
12: goto 14
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
13: pop
StackMap locals:
StackMap stack:
14: aload 0
getstatic jdk.vm.ci.meta.JavaKind.Float:Ljdk/vm/ci/meta/JavaKind;
invokevirtual jdk.vm.ci.meta.JavaKind.ordinal:()I
bipush 6
iastore
15: goto 17
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
16: pop
StackMap locals:
StackMap stack:
17: aload 0
getstatic jdk.vm.ci.meta.JavaKind.Illegal:Ljdk/vm/ci/meta/JavaKind;
invokevirtual jdk.vm.ci.meta.JavaKind.ordinal:()I
bipush 11
iastore
18: goto 20
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
19: pop
StackMap locals:
StackMap stack:
20: aload 0
getstatic jdk.vm.ci.meta.JavaKind.Int:Ljdk/vm/ci/meta/JavaKind;
invokevirtual jdk.vm.ci.meta.JavaKind.ordinal:()I
iconst_5
iastore
21: goto 23
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
22: pop
StackMap locals:
StackMap stack:
23: aload 0
getstatic jdk.vm.ci.meta.JavaKind.Long:Ljdk/vm/ci/meta/JavaKind;
invokevirtual jdk.vm.ci.meta.JavaKind.ordinal:()I
bipush 7
iastore
24: goto 26
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
25: pop
StackMap locals:
StackMap stack:
26: aload 0
getstatic jdk.vm.ci.meta.JavaKind.Object:Ljdk/vm/ci/meta/JavaKind;
invokevirtual jdk.vm.ci.meta.JavaKind.ordinal:()I
bipush 9
iastore
27: goto 29
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
28: pop
StackMap locals:
StackMap stack:
29: aload 0
getstatic jdk.vm.ci.meta.JavaKind.Short:Ljdk/vm/ci/meta/JavaKind;
invokevirtual jdk.vm.ci.meta.JavaKind.ordinal:()I
iconst_3
iastore
30: goto 32
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
31: pop
StackMap locals:
StackMap stack:
32: aload 0
getstatic jdk.vm.ci.meta.JavaKind.Void:Ljdk/vm/ci/meta/JavaKind;
invokevirtual jdk.vm.ci.meta.JavaKind.ordinal:()I
bipush 10
iastore
33: goto 35
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
34: pop
StackMap locals:
StackMap stack:
35: aload 0
dup
putstatic com.oracle.svm.hosted.meta.HostedMemoryAccessProvider.$SWITCH_TABLE$jdk$vm$ci$meta$JavaKind:[I
areturn
LocalVariableTable:
Start End Slot Name Signature
Exception table:
from to target type
2 3 4 Class java.lang.NoSuchFieldError
5 6 7 Class java.lang.NoSuchFieldError
8 9 10 Class java.lang.NoSuchFieldError
11 12 13 Class java.lang.NoSuchFieldError
14 15 16 Class java.lang.NoSuchFieldError
17 18 19 Class java.lang.NoSuchFieldError
20 21 22 Class java.lang.NoSuchFieldError
23 24 25 Class java.lang.NoSuchFieldError
26 27 28 Class java.lang.NoSuchFieldError
29 30 31 Class java.lang.NoSuchFieldError
32 33 34 Class java.lang.NoSuchFieldError
}
SourceFile: "HostedMemoryAccessProvider.java"