public class org.graalvm.compiler.hotspot.aarch64.AArch64HotSpotForeignCallsProvider extends org.graalvm.compiler.hotspot.meta.HotSpotHostForeignCallsProvider
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: org.graalvm.compiler.hotspot.aarch64.AArch64HotSpotForeignCallsProvider
super_class: org.graalvm.compiler.hotspot.meta.HotSpotHostForeignCallsProvider
{
private final jdk.vm.ci.meta.Value[] nativeABICallerSaveRegisters;
descriptor: [Ljdk/vm/ci/meta/Value;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
public void <init>(jdk.vm.ci.hotspot.HotSpotJVMCIRuntimeProvider, org.graalvm.compiler.hotspot.HotSpotGraalRuntimeProvider, jdk.vm.ci.meta.MetaAccessProvider, jdk.vm.ci.code.CodeCacheProvider, org.graalvm.compiler.word.WordTypes, jdk.vm.ci.meta.Value[]);
descriptor: (Ljdk/vm/ci/hotspot/HotSpotJVMCIRuntimeProvider;Lorg/graalvm/compiler/hotspot/HotSpotGraalRuntimeProvider;Ljdk/vm/ci/meta/MetaAccessProvider;Ljdk/vm/ci/code/CodeCacheProvider;Lorg/graalvm/compiler/word/WordTypes;[Ljdk/vm/ci/meta/Value;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=6, locals=7, args_size=7
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 start local 6 0: aload 0
aload 1
aload 2
aload 3
aload 4
aload 5
invokespecial org.graalvm.compiler.hotspot.meta.HotSpotHostForeignCallsProvider.<init>:(Ljdk/vm/ci/hotspot/HotSpotJVMCIRuntimeProvider;Lorg/graalvm/compiler/hotspot/HotSpotGraalRuntimeProvider;Ljdk/vm/ci/meta/MetaAccessProvider;Ljdk/vm/ci/code/CodeCacheProvider;Lorg/graalvm/compiler/word/WordTypes;)V
1: aload 0
aload 6
putfield org.graalvm.compiler.hotspot.aarch64.AArch64HotSpotForeignCallsProvider.nativeABICallerSaveRegisters:[Ljdk/vm/ci/meta/Value;
2: return
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 3 0 this Lorg/graalvm/compiler/hotspot/aarch64/AArch64HotSpotForeignCallsProvider;
0 3 1 jvmciRuntime Ljdk/vm/ci/hotspot/HotSpotJVMCIRuntimeProvider;
0 3 2 runtime Lorg/graalvm/compiler/hotspot/HotSpotGraalRuntimeProvider;
0 3 3 metaAccess Ljdk/vm/ci/meta/MetaAccessProvider;
0 3 4 codeCache Ljdk/vm/ci/code/CodeCacheProvider;
0 3 5 wordTypes Lorg/graalvm/compiler/word/WordTypes;
0 3 6 nativeABICallerSaveRegisters [Ljdk/vm/ci/meta/Value;
MethodParameters:
Name Flags
jvmciRuntime
runtime
metaAccess
codeCache
wordTypes
nativeABICallerSaveRegisters
public void initialize(org.graalvm.compiler.hotspot.meta.HotSpotProviders);
descriptor: (Lorg/graalvm/compiler/hotspot/meta/HotSpotProviders;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=15, locals=8, args_size=2
start local 0 start local 1 0: aload 0
getfield org.graalvm.compiler.hotspot.aarch64.AArch64HotSpotForeignCallsProvider.runtime:Lorg/graalvm/compiler/hotspot/HotSpotGraalRuntimeProvider;
invokeinterface org.graalvm.compiler.hotspot.HotSpotGraalRuntimeProvider.getVMConfig:()Lorg/graalvm/compiler/hotspot/GraalHotSpotVMConfig;
astore 2
start local 2 1: aload 1
invokevirtual org.graalvm.compiler.hotspot.meta.HotSpotProviders.getCodeCache:()Ljdk/vm/ci/hotspot/HotSpotCodeCacheProvider;
invokevirtual jdk.vm.ci.hotspot.HotSpotCodeCacheProvider.getTarget:()Ljdk/vm/ci/code/TargetDescription;
astore 3
start local 3 2: aload 3
getfield jdk.vm.ci.code.TargetDescription.arch:Ljdk/vm/ci/code/Architecture;
invokevirtual jdk.vm.ci.code.Architecture.getWordKind:()Ljdk/vm/ci/meta/PlatformKind;
astore 4
start local 4 3: getstatic jdk.vm.ci.aarch64.AArch64.r0:Ljdk/vm/ci/code/Register;
aload 4
invokestatic org.graalvm.compiler.core.common.LIRKind.reference:(Ljdk/vm/ci/meta/PlatformKind;)Lorg/graalvm/compiler/core/common/LIRKind;
invokevirtual jdk.vm.ci.code.Register.asValue:(Ljdk/vm/ci/meta/ValueKind;)Ljdk/vm/ci/code/RegisterValue;
astore 5
start local 5 4: getstatic jdk.vm.ci.aarch64.AArch64.r3:Ljdk/vm/ci/code/Register;
aload 4
invokestatic org.graalvm.compiler.core.common.LIRKind.value:(Ljdk/vm/ci/meta/PlatformKind;)Lorg/graalvm/compiler/core/common/LIRKind;
invokevirtual jdk.vm.ci.code.Register.asValue:(Ljdk/vm/ci/meta/ValueKind;)Ljdk/vm/ci/code/RegisterValue;
astore 6
start local 6 5: new jdk.vm.ci.code.CallingConvention
dup
iconst_0
getstatic jdk.vm.ci.meta.Value.ILLEGAL:Ljdk/vm/ci/meta/AllocatableValue;
iconst_2
anewarray jdk.vm.ci.meta.AllocatableValue
dup
iconst_0
aload 5
aastore
dup
iconst_1
aload 6
aastore
invokespecial jdk.vm.ci.code.CallingConvention.<init>:(ILjdk/vm/ci/meta/AllocatableValue;[Ljdk/vm/ci/meta/AllocatableValue;)V
astore 7
start local 7 6: aload 0
new org.graalvm.compiler.hotspot.HotSpotForeignCallLinkageImpl
dup
getstatic org.graalvm.compiler.hotspot.HotSpotBackend.EXCEPTION_HANDLER:Lorg/graalvm/compiler/core/common/spi/ForeignCallDescriptor;
lconst_0
getstatic org.graalvm.compiler.hotspot.HotSpotForeignCallLinkage$RegisterEffect.PRESERVES_REGISTERS:Lorg/graalvm/compiler/hotspot/HotSpotForeignCallLinkage$RegisterEffect;
getstatic org.graalvm.compiler.hotspot.HotSpotForeignCallLinkage$Transition.LEAF:Lorg/graalvm/compiler/hotspot/HotSpotForeignCallLinkage$Transition;
aload 7
aconst_null
iconst_0
iconst_1
anewarray org.graalvm.compiler.core.common.LocationIdentity
dup
iconst_0
invokestatic org.graalvm.compiler.core.common.LocationIdentity.any:()Lorg/graalvm/compiler/core/common/LocationIdentity;
aastore
invokespecial org.graalvm.compiler.hotspot.HotSpotForeignCallLinkageImpl.<init>:(Lorg/graalvm/compiler/core/common/spi/ForeignCallDescriptor;JLorg/graalvm/compiler/hotspot/HotSpotForeignCallLinkage$RegisterEffect;Lorg/graalvm/compiler/hotspot/HotSpotForeignCallLinkage$Transition;Ljdk/vm/ci/code/CallingConvention;Ljdk/vm/ci/code/CallingConvention;Z[Lorg/graalvm/compiler/core/common/LocationIdentity;)V
invokevirtual org.graalvm.compiler.hotspot.aarch64.AArch64HotSpotForeignCallsProvider.register:(Lorg/graalvm/compiler/hotspot/HotSpotForeignCallLinkage;)Lorg/graalvm/compiler/hotspot/HotSpotForeignCallLinkage;
pop
7: aload 0
new org.graalvm.compiler.hotspot.HotSpotForeignCallLinkageImpl
dup
getstatic org.graalvm.compiler.hotspot.HotSpotBackend.EXCEPTION_HANDLER_IN_CALLER:Lorg/graalvm/compiler/core/common/spi/ForeignCallDescriptor;
ldc -2401018188504514833
getstatic org.graalvm.compiler.hotspot.HotSpotForeignCallLinkage$RegisterEffect.PRESERVES_REGISTERS:Lorg/graalvm/compiler/hotspot/HotSpotForeignCallLinkage$RegisterEffect;
getstatic org.graalvm.compiler.hotspot.HotSpotForeignCallLinkage$Transition.LEAF:Lorg/graalvm/compiler/hotspot/HotSpotForeignCallLinkage$Transition;
aload 7
aconst_null
iconst_0
iconst_1
anewarray org.graalvm.compiler.core.common.LocationIdentity
dup
iconst_0
invokestatic org.graalvm.compiler.core.common.LocationIdentity.any:()Lorg/graalvm/compiler/core/common/LocationIdentity;
aastore
invokespecial org.graalvm.compiler.hotspot.HotSpotForeignCallLinkageImpl.<init>:(Lorg/graalvm/compiler/core/common/spi/ForeignCallDescriptor;JLorg/graalvm/compiler/hotspot/HotSpotForeignCallLinkage$RegisterEffect;Lorg/graalvm/compiler/hotspot/HotSpotForeignCallLinkage$Transition;Ljdk/vm/ci/code/CallingConvention;Ljdk/vm/ci/code/CallingConvention;Z[Lorg/graalvm/compiler/core/common/LocationIdentity;)V
invokevirtual org.graalvm.compiler.hotspot.aarch64.AArch64HotSpotForeignCallsProvider.register:(Lorg/graalvm/compiler/hotspot/HotSpotForeignCallLinkage;)Lorg/graalvm/compiler/hotspot/HotSpotForeignCallLinkage;
pop
8: getstatic org.graalvm.compiler.hotspot.HotSpotBackend$Options.PreferGraalStubs:Lorg/graalvm/compiler/options/OptionValue;
invokevirtual org.graalvm.compiler.options.OptionValue.getValue:()Ljava/lang/Object;
checkcast java.lang.Boolean
invokevirtual java.lang.Boolean.booleanValue:()Z
ifeq 10
9: ldc "PreferGraalStubs"
invokestatic org.graalvm.compiler.debug.GraalError.unimplemented:(Ljava/lang/String;)Ljava/lang/RuntimeException;
athrow
10: StackMap locals: org.graalvm.compiler.hotspot.aarch64.AArch64HotSpotForeignCallsProvider org.graalvm.compiler.hotspot.meta.HotSpotProviders org.graalvm.compiler.hotspot.GraalHotSpotVMConfig jdk.vm.ci.code.TargetDescription jdk.vm.ci.meta.PlatformKind jdk.vm.ci.code.RegisterValue jdk.vm.ci.code.RegisterValue jdk.vm.ci.code.CallingConvention
StackMap stack:
aload 2
getfield org.graalvm.compiler.hotspot.GraalHotSpotVMConfig.useCRC32Intrinsics:Z
ifeq 12
11: aload 0
getstatic org.graalvm.compiler.hotspot.replacements.CRC32Substitutions.UPDATE_BYTES_CRC32:Lorg/graalvm/compiler/core/common/spi/ForeignCallDescriptor;
aload 2
getfield org.graalvm.compiler.hotspot.GraalHotSpotVMConfig.updateBytesCRC32Stub:J
getstatic jdk.vm.ci.hotspot.HotSpotCallingConventionType.NativeCall:Ljdk/vm/ci/hotspot/HotSpotCallingConventionType;
getstatic org.graalvm.compiler.hotspot.HotSpotForeignCallLinkage$RegisterEffect.PRESERVES_REGISTERS:Lorg/graalvm/compiler/hotspot/HotSpotForeignCallLinkage$RegisterEffect;
getstatic org.graalvm.compiler.hotspot.HotSpotForeignCallLinkage$Transition.LEAF:Lorg/graalvm/compiler/hotspot/HotSpotForeignCallLinkage$Transition;
iconst_0
iconst_1
anewarray org.graalvm.compiler.core.common.LocationIdentity
dup
iconst_0
invokestatic org.graalvm.compiler.core.common.LocationIdentity.any:()Lorg/graalvm/compiler/core/common/LocationIdentity;
aastore
invokevirtual org.graalvm.compiler.hotspot.aarch64.AArch64HotSpotForeignCallsProvider.registerForeignCall:(Lorg/graalvm/compiler/core/common/spi/ForeignCallDescriptor;JLjdk/vm/ci/code/CallingConvention$Type;Lorg/graalvm/compiler/hotspot/HotSpotForeignCallLinkage$RegisterEffect;Lorg/graalvm/compiler/hotspot/HotSpotForeignCallLinkage$Transition;Z[Lorg/graalvm/compiler/core/common/LocationIdentity;)Lorg/graalvm/compiler/hotspot/HotSpotForeignCallLinkage;
pop
12: StackMap locals:
StackMap stack:
aload 0
aload 1
invokespecial org.graalvm.compiler.hotspot.meta.HotSpotHostForeignCallsProvider.initialize:(Lorg/graalvm/compiler/hotspot/meta/HotSpotProviders;)V
13: 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 14 0 this Lorg/graalvm/compiler/hotspot/aarch64/AArch64HotSpotForeignCallsProvider;
0 14 1 providers Lorg/graalvm/compiler/hotspot/meta/HotSpotProviders;
1 14 2 config Lorg/graalvm/compiler/hotspot/GraalHotSpotVMConfig;
2 14 3 target Ljdk/vm/ci/code/TargetDescription;
3 14 4 word Ljdk/vm/ci/meta/PlatformKind;
4 14 5 exception Ljdk/vm/ci/code/RegisterValue;
5 14 6 exceptionPc Ljdk/vm/ci/code/RegisterValue;
6 14 7 exceptionCc Ljdk/vm/ci/code/CallingConvention;
MethodParameters:
Name Flags
providers
public jdk.vm.ci.meta.Value[] getNativeABICallerSaveRegisters();
descriptor: ()[Ljdk/vm/ci/meta/Value;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.graalvm.compiler.hotspot.aarch64.AArch64HotSpotForeignCallsProvider.nativeABICallerSaveRegisters:[Ljdk/vm/ci/meta/Value;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/graalvm/compiler/hotspot/aarch64/AArch64HotSpotForeignCallsProvider;
}
SourceFile: "AArch64HotSpotForeignCallsProvider.java"
InnerClasses:
public abstract Type = jdk.vm.ci.code.CallingConvention$Type of jdk.vm.ci.code.CallingConvention
public Options = org.graalvm.compiler.hotspot.HotSpotBackend$Options of org.graalvm.compiler.hotspot.HotSpotBackend
public final RegisterEffect = org.graalvm.compiler.hotspot.HotSpotForeignCallLinkage$RegisterEffect of org.graalvm.compiler.hotspot.HotSpotForeignCallLinkage
public final Transition = org.graalvm.compiler.hotspot.HotSpotForeignCallLinkage$Transition of org.graalvm.compiler.hotspot.HotSpotForeignCallLinkage