public class SubstrateAArch64RegisterConfig extends Object implements SubstrateRegisterConfig
SubstrateRegisterConfig.ConfigKind
Modifier and Type | Field and Description |
---|---|
static jdk.vm.ci.code.Register |
HEAP_BASE_REGISTER_CANDIDATE |
static jdk.vm.ci.code.Register |
THREAD_REGISTER_CANDIDATE |
Constructor and Description |
---|
SubstrateAArch64RegisterConfig(SubstrateRegisterConfig.ConfigKind config,
jdk.vm.ci.meta.MetaAccessProvider metaAccess,
jdk.vm.ci.code.TargetDescription target) |
Modifier and Type | Method and Description |
---|---|
boolean |
areAllAllocatableRegistersCallerSaved() |
jdk.vm.ci.code.RegisterArray |
filterAllocatableRegisters(jdk.vm.ci.meta.PlatformKind kind,
jdk.vm.ci.code.RegisterArray registers) |
jdk.vm.ci.code.RegisterArray |
getAllocatableRegisters() |
jdk.vm.ci.code.RegisterAttributes[] |
getAttributesMap() |
jdk.vm.ci.code.RegisterArray |
getCalleeSaveRegisters() |
jdk.vm.ci.code.RegisterArray |
getCallerSaveRegisters() |
jdk.vm.ci.code.CallingConvention |
getCallingConvention(jdk.vm.ci.code.CallingConvention.Type t,
jdk.vm.ci.meta.JavaType returnType,
jdk.vm.ci.meta.JavaType[] parameterTypes,
jdk.vm.ci.code.ValueKindFactory<?> valueKindFactory) |
jdk.vm.ci.code.RegisterArray |
getCallingConventionRegisters(jdk.vm.ci.code.CallingConvention.Type t,
jdk.vm.ci.meta.JavaKind kind) |
jdk.vm.ci.code.Register |
getFrameRegister() |
jdk.vm.ci.code.Register |
getHeapBaseRegister()
Gets the register holding the heap base address for compressed pointers.
|
jdk.vm.ci.code.Register |
getReturnRegister(jdk.vm.ci.meta.JavaKind kind) |
jdk.vm.ci.code.Register |
getThreadRegister()
Gets the register that contains the current
IsolateThread . |
public static final jdk.vm.ci.code.Register HEAP_BASE_REGISTER_CANDIDATE
public static final jdk.vm.ci.code.Register THREAD_REGISTER_CANDIDATE
public SubstrateAArch64RegisterConfig(SubstrateRegisterConfig.ConfigKind config, jdk.vm.ci.meta.MetaAccessProvider metaAccess, jdk.vm.ci.code.TargetDescription target)
public jdk.vm.ci.code.Register getReturnRegister(jdk.vm.ci.meta.JavaKind kind)
getReturnRegister
in interface jdk.vm.ci.code.RegisterConfig
public jdk.vm.ci.code.Register getFrameRegister()
getFrameRegister
in interface jdk.vm.ci.code.RegisterConfig
public jdk.vm.ci.code.Register getThreadRegister()
SubstrateRegisterConfig
IsolateThread
.getThreadRegister
in interface SubstrateRegisterConfig
public jdk.vm.ci.code.Register getHeapBaseRegister()
SubstrateRegisterConfig
getHeapBaseRegister
in interface SubstrateRegisterConfig
public jdk.vm.ci.code.RegisterArray getAllocatableRegisters()
getAllocatableRegisters
in interface jdk.vm.ci.code.RegisterConfig
public jdk.vm.ci.code.RegisterArray getCalleeSaveRegisters()
getCalleeSaveRegisters
in interface jdk.vm.ci.code.RegisterConfig
public jdk.vm.ci.code.RegisterArray getCallerSaveRegisters()
getCallerSaveRegisters
in interface jdk.vm.ci.code.RegisterConfig
public boolean areAllAllocatableRegistersCallerSaved()
areAllAllocatableRegistersCallerSaved
in interface jdk.vm.ci.code.RegisterConfig
public jdk.vm.ci.code.RegisterAttributes[] getAttributesMap()
getAttributesMap
in interface jdk.vm.ci.code.RegisterConfig
public jdk.vm.ci.code.RegisterArray getCallingConventionRegisters(jdk.vm.ci.code.CallingConvention.Type t, jdk.vm.ci.meta.JavaKind kind)
getCallingConventionRegisters
in interface jdk.vm.ci.code.RegisterConfig
public jdk.vm.ci.code.CallingConvention getCallingConvention(jdk.vm.ci.code.CallingConvention.Type t, jdk.vm.ci.meta.JavaType returnType, jdk.vm.ci.meta.JavaType[] parameterTypes, jdk.vm.ci.code.ValueKindFactory<?> valueKindFactory)
getCallingConvention
in interface jdk.vm.ci.code.RegisterConfig
public jdk.vm.ci.code.RegisterArray filterAllocatableRegisters(jdk.vm.ci.meta.PlatformKind kind, jdk.vm.ci.code.RegisterArray registers)
filterAllocatableRegisters
in interface jdk.vm.ci.code.RegisterConfig