Top Description Fields Constructors Methods
jdk.internal.foreign.abi.aarch64.windows

public Class WindowsAArch64CallArranger

extends CallArranger
Class Inheritance
Imports
jdk.internal.foreign.abi.aarch64.CallArranger, .TypeClass, jdk.internal.foreign.abi.ABIDescriptor, .VMStorage, java.lang.foreign.MemoryLayout

AArch64 CallArranger specialized for Windows ABI.

Field Summary

Modifier and TypeField and Description
private static final VMStorage
private static final ABIDescriptor
Inherited from jdk.internal.foreign.abi.aarch64.CallArranger:
CLINUXMACOSMAX_REGISTER_ARGUMENTSWINDOWS

Constructor Summary

AccessConstructor and Description
public

Method Summary

Modifier and TypeMethod and Description
protected ABIDescriptor
protected TypeClass
protected boolean
requiresSubSlotStackPacking()

Implements abstract jdk.internal.foreign.abi.aarch64.CallArranger.requiresSubSlotStackPacking.

Returns true if this ABI requires sub-slot (smaller than STACK_SLOT_SIZE) packing of arguments on the stack.
protected boolean
spillsVariadicStructsPartially()

Implements abstract jdk.internal.foreign.abi.aarch64.CallArranger.spillsVariadicStructsPartially.

Should some fields of structs that assigned to registers be passed in registers when there are not enough registers for all the fields of the struct?
protected boolean
useIntRegsForVariadicFloatingPointArgs()

Implements abstract jdk.internal.foreign.abi.aarch64.CallArranger.useIntRegsForVariadicFloatingPointArgs.

Are floating point arguments to variadic functions passed in general purpose registers instead of floating point registers?
protected boolean
varArgsOnStack()

Implements abstract jdk.internal.foreign.abi.aarch64.CallArranger.varArgsOnStack.

Are variadic arguments assigned to registers as in the standard calling convention, or always passed on the stack?
Inherited from jdk.internal.foreign.abi.aarch64.CallArranger:
arrangeDowncallarrangeUpcallgetBindingsgetBindings

Field Detail

INDIRECT_RESULTback to summary
private static final VMStorage INDIRECT_RESULT

Hides jdk.internal.foreign.abi.aarch64.CallArranger.INDIRECT_RESULT.

WindowsAArch64AbiDescriptorback to summary
private static final ABIDescriptor WindowsAArch64AbiDescriptor

Constructor Detail

WindowsAArch64CallArrangerback to summary
public WindowsAArch64CallArranger()

Method Detail

abiDescriptorback to summary
protected ABIDescriptor abiDescriptor()

Implements abstract jdk.internal.foreign.abi.aarch64.CallArranger.abiDescriptor.

Returns:ABIDescriptor

Doc from jdk.internal.foreign.abi.aarch64.CallArranger.abiDescriptor.

The ABIDescriptor used by the CallArranger for the current platform.

Annotations
@Override
getArgumentClassForBindingsback to summary
protected TypeClass getArgumentClassForBindings(MemoryLayout layout, boolean forVariadicFunction)

Overrides jdk.internal.foreign.abi.aarch64.CallArranger.getArgumentClassForBindings.

Annotations
@Override
requiresSubSlotStackPackingback to summary
protected boolean requiresSubSlotStackPacking()

Implements abstract jdk.internal.foreign.abi.aarch64.CallArranger.requiresSubSlotStackPacking.

Doc from jdk.internal.foreign.abi.aarch64.CallArranger.requiresSubSlotStackPacking.

Returns true if this ABI requires sub-slot (smaller than STACK_SLOT_SIZE) packing of arguments on the stack.

Returns:boolean

true if this ABI requires sub-slot (smaller than STACK_SLOT_SIZE) packing of arguments on the stack.

Annotations
@Override
spillsVariadicStructsPartiallyback to summary
protected boolean spillsVariadicStructsPartially()

Implements abstract jdk.internal.foreign.abi.aarch64.CallArranger.spillsVariadicStructsPartially.

Doc from jdk.internal.foreign.abi.aarch64.CallArranger.spillsVariadicStructsPartially.

Should some fields of structs that assigned to registers be passed in registers when there are not enough registers for all the fields of the struct? Returns true if this ABI passes some fields of a struct in registers.

Returns:boolean

true if this ABI passes some fields of a struct in registers.

Annotations
@Override
useIntRegsForVariadicFloatingPointArgsback to summary
protected boolean useIntRegsForVariadicFloatingPointArgs()

Implements abstract jdk.internal.foreign.abi.aarch64.CallArranger.useIntRegsForVariadicFloatingPointArgs.

Doc from jdk.internal.foreign.abi.aarch64.CallArranger.useIntRegsForVariadicFloatingPointArgs.

Are floating point arguments to variadic functions passed in general purpose registers instead of floating point registers? Returns true if this ABI uses general purpose registers for variadic floating point arguments.

Returns:boolean

true if this ABI uses general purpose registers for variadic floating point arguments.

Annotations
@Override
varArgsOnStackback to summary
protected boolean varArgsOnStack()

Implements abstract jdk.internal.foreign.abi.aarch64.CallArranger.varArgsOnStack.

Doc from jdk.internal.foreign.abi.aarch64.CallArranger.varArgsOnStack.

Are variadic arguments assigned to registers as in the standard calling convention, or always passed on the stack?

Returns:boolean

true if variadic arguments should be spilled to the stack.

Annotations
@Override