public class org.graalvm.compiler.hotspot.sparc.SPARCHotSpotForeignCallsProvider 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.sparc.SPARCHotSpotForeignCallsProvider
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.sparc.SPARCHotSpotForeignCallsProvider.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/sparc/SPARCHotSpotForeignCallsProvider;
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=11, args_size=2
start local 0 start local 1 0: aload 0
getfield org.graalvm.compiler.hotspot.sparc.SPARCHotSpotForeignCallsProvider.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.sparc.SPARC.o0:Ljdk/vm/ci/code/Register;
aload 3
getfield jdk.vm.ci.code.TargetDescription.arch:Ljdk/vm/ci/code/Architecture;
getstatic jdk.vm.ci.meta.JavaKind.Object:Ljdk/vm/ci/meta/JavaKind;
invokestatic org.graalvm.compiler.core.common.LIRKind.fromJavaKind:(Ljdk/vm/ci/code/Architecture;Ljdk/vm/ci/meta/JavaKind;)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.sparc.SPARC.o1: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: getstatic jdk.vm.ci.sparc.SPARC.i0:Ljdk/vm/ci/code/Register;
aload 3
getfield jdk.vm.ci.code.TargetDescription.arch:Ljdk/vm/ci/code/Architecture;
getstatic jdk.vm.ci.meta.JavaKind.Object:Ljdk/vm/ci/meta/JavaKind;
invokestatic org.graalvm.compiler.core.common.LIRKind.fromJavaKind:(Ljdk/vm/ci/code/Architecture;Ljdk/vm/ci/meta/JavaKind;)Lorg/graalvm/compiler/core/common/LIRKind;
invokevirtual jdk.vm.ci.code.Register.asValue:(Ljdk/vm/ci/meta/ValueKind;)Ljdk/vm/ci/code/RegisterValue;
astore 7
start local 7 6: getstatic jdk.vm.ci.sparc.SPARC.i1: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 8
start local 8 7: 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 9
start local 9 8: 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 7
aastore
dup
iconst_1
aload 8
aastore
invokespecial jdk.vm.ci.code.CallingConvention.<init>:(ILjdk/vm/ci/meta/AllocatableValue;[Ljdk/vm/ci/meta/AllocatableValue;)V
astore 10
start local 10 9: 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_NOFP:Lorg/graalvm/compiler/hotspot/HotSpotForeignCallLinkage$Transition;
aload 9
aload 10
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.sparc.SPARCHotSpotForeignCallsProvider.register:(Lorg/graalvm/compiler/hotspot/HotSpotForeignCallLinkage;)Lorg/graalvm/compiler/hotspot/HotSpotForeignCallLinkage;
pop
10: 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_NOFP:Lorg/graalvm/compiler/hotspot/HotSpotForeignCallLinkage$Transition;
aload 9
aload 10
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.sparc.SPARCHotSpotForeignCallsProvider.register:(Lorg/graalvm/compiler/hotspot/HotSpotForeignCallLinkage;)Lorg/graalvm/compiler/hotspot/HotSpotForeignCallLinkage;
pop
11: 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 14
12: new org.graalvm.compiler.hotspot.sparc.SPARCDeoptimizationStub
dup
aload 1
aload 3
aload 0
getstatic org.graalvm.compiler.hotspot.HotSpotHostBackend.DEOPTIMIZATION_HANDLER:Lorg/graalvm/compiler/core/common/spi/ForeignCallDescriptor;
iconst_1
getstatic org.graalvm.compiler.hotspot.HotSpotForeignCallLinkage$Transition.LEAF:Lorg/graalvm/compiler/hotspot/HotSpotForeignCallLinkage$Transition;
getstatic org.graalvm.compiler.hotspot.sparc.SPARCHotSpotForeignCallsProvider.NO_LOCATIONS:[Lorg/graalvm/compiler/core/common/LocationIdentity;
invokevirtual org.graalvm.compiler.hotspot.sparc.SPARCHotSpotForeignCallsProvider.registerStubCall:(Lorg/graalvm/compiler/core/common/spi/ForeignCallDescriptor;ZLorg/graalvm/compiler/hotspot/HotSpotForeignCallLinkage$Transition;[Lorg/graalvm/compiler/core/common/LocationIdentity;)Lorg/graalvm/compiler/hotspot/HotSpotForeignCallLinkage;
invokespecial org.graalvm.compiler.hotspot.sparc.SPARCDeoptimizationStub.<init>:(Lorg/graalvm/compiler/hotspot/meta/HotSpotProviders;Ljdk/vm/ci/code/TargetDescription;Lorg/graalvm/compiler/hotspot/HotSpotForeignCallLinkage;)V
invokestatic org.graalvm.compiler.hotspot.sparc.SPARCHotSpotForeignCallsProvider.link:(Lorg/graalvm/compiler/hotspot/stubs/Stub;)V
13: new org.graalvm.compiler.hotspot.sparc.SPARCUncommonTrapStub
dup
aload 1
aload 3
aload 0
getstatic org.graalvm.compiler.hotspot.HotSpotHostBackend.UNCOMMON_TRAP_HANDLER:Lorg/graalvm/compiler/core/common/spi/ForeignCallDescriptor;
iconst_1
getstatic org.graalvm.compiler.hotspot.HotSpotForeignCallLinkage$Transition.LEAF:Lorg/graalvm/compiler/hotspot/HotSpotForeignCallLinkage$Transition;
getstatic org.graalvm.compiler.hotspot.sparc.SPARCHotSpotForeignCallsProvider.NO_LOCATIONS:[Lorg/graalvm/compiler/core/common/LocationIdentity;
invokevirtual org.graalvm.compiler.hotspot.sparc.SPARCHotSpotForeignCallsProvider.registerStubCall:(Lorg/graalvm/compiler/core/common/spi/ForeignCallDescriptor;ZLorg/graalvm/compiler/hotspot/HotSpotForeignCallLinkage$Transition;[Lorg/graalvm/compiler/core/common/LocationIdentity;)Lorg/graalvm/compiler/hotspot/HotSpotForeignCallLinkage;
invokespecial org.graalvm.compiler.hotspot.sparc.SPARCUncommonTrapStub.<init>:(Lorg/graalvm/compiler/hotspot/meta/HotSpotProviders;Ljdk/vm/ci/code/TargetDescription;Lorg/graalvm/compiler/hotspot/HotSpotForeignCallLinkage;)V
invokestatic org.graalvm.compiler.hotspot.sparc.SPARCHotSpotForeignCallsProvider.link:(Lorg/graalvm/compiler/hotspot/stubs/Stub;)V
14: StackMap locals: org.graalvm.compiler.hotspot.sparc.SPARCHotSpotForeignCallsProvider 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.RegisterValue jdk.vm.ci.code.RegisterValue jdk.vm.ci.code.CallingConvention jdk.vm.ci.code.CallingConvention
StackMap stack:
aload 2
getfield org.graalvm.compiler.hotspot.GraalHotSpotVMConfig.useCRC32Intrinsics:Z
ifeq 16
15: 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_NOFP: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.sparc.SPARCHotSpotForeignCallsProvider.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
16: StackMap locals:
StackMap stack:
aload 0
aload 1
invokespecial org.graalvm.compiler.hotspot.meta.HotSpotHostForeignCallsProvider.initialize:(Lorg/graalvm/compiler/hotspot/meta/HotSpotProviders;)V
17: return
end local 10 end local 9 end local 8 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 18 0 this Lorg/graalvm/compiler/hotspot/sparc/SPARCHotSpotForeignCallsProvider;
0 18 1 providers Lorg/graalvm/compiler/hotspot/meta/HotSpotProviders;
1 18 2 config Lorg/graalvm/compiler/hotspot/GraalHotSpotVMConfig;
2 18 3 target Ljdk/vm/ci/code/TargetDescription;
3 18 4 word Ljdk/vm/ci/meta/PlatformKind;
4 18 5 outgoingException Ljdk/vm/ci/code/RegisterValue;
5 18 6 outgoingExceptionPc Ljdk/vm/ci/code/RegisterValue;
6 18 7 incomingException Ljdk/vm/ci/code/RegisterValue;
7 18 8 incomingExceptionPc Ljdk/vm/ci/code/RegisterValue;
8 18 9 outgoingExceptionCc Ljdk/vm/ci/code/CallingConvention;
9 18 10 incomingExceptionCc 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.sparc.SPARCHotSpotForeignCallsProvider.nativeABICallerSaveRegisters:[Ljdk/vm/ci/meta/Value;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/graalvm/compiler/hotspot/sparc/SPARCHotSpotForeignCallsProvider;
}
SourceFile: "SPARCHotSpotForeignCallsProvider.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