public class SubstrateAMD64RegisterConfig extends Object implements SubstrateRegisterConfig
SubstrateRegisterConfig.ConfigKind| Constructor and Description |
|---|
SubstrateAMD64RegisterConfig(SubstrateRegisterConfig.ConfigKind config,
jdk.vm.ci.meta.MetaAccessProvider metaAccess,
jdk.vm.ci.code.TargetDescription target,
boolean useBasePointer) |
| 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. |
boolean |
shouldUseBasePointer() |
public SubstrateAMD64RegisterConfig(SubstrateRegisterConfig.ConfigKind config, jdk.vm.ci.meta.MetaAccessProvider metaAccess, jdk.vm.ci.code.TargetDescription target, boolean useBasePointer)
public jdk.vm.ci.code.Register getReturnRegister(jdk.vm.ci.meta.JavaKind kind)
getReturnRegister in interface jdk.vm.ci.code.RegisterConfigpublic jdk.vm.ci.code.Register getFrameRegister()
getFrameRegister in interface jdk.vm.ci.code.RegisterConfigpublic jdk.vm.ci.code.Register getThreadRegister()
SubstrateRegisterConfigIsolateThread.getThreadRegister in interface SubstrateRegisterConfigpublic jdk.vm.ci.code.Register getHeapBaseRegister()
SubstrateRegisterConfiggetHeapBaseRegister in interface SubstrateRegisterConfigpublic jdk.vm.ci.code.RegisterArray getAllocatableRegisters()
getAllocatableRegisters in interface jdk.vm.ci.code.RegisterConfigpublic jdk.vm.ci.code.RegisterArray getCalleeSaveRegisters()
getCalleeSaveRegisters in interface jdk.vm.ci.code.RegisterConfigpublic jdk.vm.ci.code.RegisterArray getCallerSaveRegisters()
getCallerSaveRegisters in interface jdk.vm.ci.code.RegisterConfigpublic boolean areAllAllocatableRegistersCallerSaved()
areAllAllocatableRegistersCallerSaved in interface jdk.vm.ci.code.RegisterConfigpublic jdk.vm.ci.code.RegisterAttributes[] getAttributesMap()
getAttributesMap in interface jdk.vm.ci.code.RegisterConfigpublic 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.RegisterConfigpublic boolean shouldUseBasePointer()
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.RegisterConfigpublic 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