| Modifier and Type | Class and Description |
|---|---|
| pack-priv abstract class | |
| public static record | |
| pack-priv class | |
| pack-priv class | |
| pack-priv class |
| Modifier and Type | Field and Description |
|---|---|
| protected static final ABIDescriptor | |
| private static final VMStorage | |
| public static final CallArranger | |
| public static final CallArranger | |
| private static final int | |
| public static final int | |
| private static final int | |
| public static final CallArranger |
| Access | Constructor and Description |
|---|---|
| protected |
| Modifier and Type | Method and Description |
|---|---|
| protected abstract ABIDescriptor | |
| public MethodHandle | |
| public AbstractLinker. | |
| protected TypeClass | |
| public CallArranger. | |
| public CallArranger. | |
| private static boolean | |
| protected abstract boolean | Returns: true if this ABI requires sub-slot (smaller than STACK_SLOT_SIZE) packing of arguments on the stack.Returns true if this ABI requires sub-slot (smaller than STACK_SLOT_SIZE) packing of arguments on the stack. |
| protected abstract boolean | Returns: true if this ABI passes some fields of a struct in registers.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 abstract boolean | Returns: true if this ABI uses general purpose registers for variadic floating point arguments.Are floating point arguments to variadic functions passed in general purpose registers instead of floating point registers? |
| protected abstract boolean | Returns: true if variadic arguments should be spilled to the stack.Are variadic arguments assigned to registers as in the standard calling convention, or always passed on the stack? |
| C | back to summary |
|---|---|
| protected static final ABIDescriptor C | |
| INDIRECT_RESULT | back to summary |
|---|---|
| private static final VMStorage INDIRECT_RESULT | |
| LINUX | back to summary |
|---|---|
| public static final CallArranger LINUX | |
| MACOS | back to summary |
|---|---|
| public static final CallArranger MACOS | |
| MAX_COPY_SIZE | back to summary |
|---|---|
| private static final int MAX_COPY_SIZE | |
| MAX_REGISTER_ARGUMENTS | back to summary |
|---|---|
| public static final int MAX_REGISTER_ARGUMENTS | |
| STACK_SLOT_SIZE | back to summary |
|---|---|
| private static final int STACK_SLOT_SIZE | |
| WINDOWS | back to summary |
|---|---|
| public static final CallArranger WINDOWS | |
| CallArranger | back to summary |
|---|---|
| protected CallArranger() | |
| abiDescriptor | back to summary |
|---|---|
protected abstract ABIDescriptor abiDescriptor()
| |
| arrangeDowncall | back to summary |
|---|---|
| public MethodHandle arrangeDowncall(MethodType mt, FunctionDescriptor cDesc, LinkerOptions options) | |
| arrangeUpcall | back to summary |
|---|---|
| public AbstractLinker. | |
| getArgumentClassForBindings | back to summary |
|---|---|
| protected TypeClass getArgumentClassForBindings(MemoryLayout layout, boolean forVariadicFunction) | |
| getBindings | back to summary |
|---|---|
| public CallArranger. | |
| getBindings | back to summary |
|---|---|
| public CallArranger. | |
| isInMemoryReturn | back to summary |
|---|---|
| private static boolean isInMemoryReturn(Optional<MemoryLayout> returnLayout) | |
| requiresSubSlotStackPacking | back to summary |
|---|---|
| protected abstract boolean requiresSubSlotStackPacking() Returns true if this ABI requires sub-slot (smaller than STACK_SLOT_SIZE) packing of arguments on the stack.
| |
| spillsVariadicStructsPartially | back to summary |
|---|---|
| protected abstract boolean 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.
| |
| useIntRegsForVariadicFloatingPointArgs | back to summary |
|---|---|
| protected abstract boolean 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.
| |
| varArgsOnStack | back to summary |
|---|---|
| protected abstract boolean varArgsOnStack() Are variadic arguments assigned to registers as in the standard calling convention, or always passed on the stack?
| |
| Modifier and Type | Field and Description |
|---|---|
| protected final CallArranger. |
| Access | Constructor and Description |
|---|---|
| protected |
| Modifier and Type | Method and Description |
|---|---|
| pack-priv abstract List | |
| pack-priv abstract List |
| storageCalculator | back to summary |
|---|---|
| protected final CallArranger. | |
| BindingCalculator | back to summary |
|---|---|
| protected BindingCalculator(boolean forArguments, boolean forVariadicFunction) | |
| getBindings | back to summary |
|---|---|
| pack-priv abstract List | |
| getIndirectBindings | back to summary |
|---|---|
| pack-priv abstract List | |
| Modifier and Type | Field and Description |
|---|---|
| private final CallingSequence | callingSequence
Record Component accessed by callingSequence(). |
| private final boolean | isInMemoryReturn
Record Component accessed by isInMemoryReturn(). |
| Access | Constructor and Description |
|---|---|
| public |
| Modifier and Type | Method and Description |
|---|---|
| public CallingSequence | |
| public final boolean | equals(Object o)
Implements abstract java. Indicates whether some other object is "equal to" this one. |
| public final int | |
| public boolean | |
| public final String | toString()
Implements abstract java. Returns a string representation of the record. |
| callingSequence | back to summary |
|---|---|
| private final CallingSequence callingSequence Record Component accessed by callingSequence(). | |
| isInMemoryReturn | back to summary |
|---|---|
| private final boolean isInMemoryReturn Record Component accessed by isInMemoryReturn(). | |
| Bindings | back to summary |
|---|---|
| public Bindings(CallingSequence callingSequence, boolean isInMemoryReturn) | |
| callingSequence | back to summary |
|---|---|
| public CallingSequence callingSequence() Record Component getter of callingSequence. | |
| equals | back to summary |
|---|---|
| public final boolean equals(Object o) Implements abstract java. Doc from java. Indicates whether some other object is "equal to" this one. In addition
to the general contract of
R copy = new R(r.c1(), r.c2(), ..., r.cn());
then it must be the case that r.equals(copy).
| |
| hashCode | back to summary |
|---|---|
| public final int hashCode() Implements abstract java. Doc from java. Returns a hash code value for the record.
Obeys the general contract of | |
| isInMemoryReturn | back to summary |
|---|---|
| public boolean isInMemoryReturn() Record Component getter of isInMemoryReturn. | |
| toString | back to summary |
|---|---|
| public final String toString() Implements abstract java. Doc from java. Returns a string representation of the record.
In accordance with the general contract of In addition to this general contract, record classes must further participate in the invariant that any two records which are equal must produce equal strings. This invariant is necessarily relaxed in the rare case where corresponding equal component values might fail to produce equal strings for themselves. | |
| Access | Constructor and Description |
|---|---|
| pack-priv |
| Modifier and Type | Method and Description |
|---|---|
| pack-priv List | getBindings(Class<?> carrier, MemoryLayout layout)
Implements abstract jdk.
|
| pack-priv List |
| BoxBindingCalculator | back to summary |
|---|---|
| pack-priv BoxBindingCalculator(boolean forArguments) | |
| getBindings | back to summary |
|---|---|
| pack-priv List Implements abstract jdk.
| |
| getIndirectBindings | back to summary |
|---|---|
| pack-priv List Implements abstract jdk.
| |
| Modifier and Type | Class and Description |
|---|---|
| pack-priv static record |
| Modifier and Type | Field and Description |
|---|---|
| private final boolean | |
| private boolean | |
| private final boolean | |
| private final int[] | |
| private long |
| Access | Constructor and Description |
|---|---|
| public |
| Modifier and Type | Method and Description |
|---|---|
| private static Class | |
| pack-priv void | |
| private void | |
| private boolean | |
| private boolean | |
| pack-priv VMStorage | |
| private VMStorage | |
| private VMStorage | |
| pack-priv CallArranger. |
| forArguments | back to summary |
|---|---|
| private final boolean forArguments | |
| forVarArgs | back to summary |
|---|---|
| private boolean forVarArgs | |
| forVariadicFunction | back to summary |
|---|---|
| private final boolean forVariadicFunction | |
| nRegs | back to summary |
|---|---|
| private final int[] nRegs | |
| stackOffset | back to summary |
|---|---|
| private long stackOffset | |
| StorageCalculator | back to summary |
|---|---|
| public StorageCalculator(boolean forArguments, boolean forVariadicFunction) | |
| adjustCarrierForStack | back to summary |
|---|---|
| private static Class | |
| adjustForVarArgs | back to summary |
|---|---|
| pack-priv void adjustForVarArgs() | |
| alignStack | back to summary |
|---|---|
| private void alignStack(long alignment) | |
| hasEnoughRegisters | back to summary |
|---|---|
| private boolean hasEnoughRegisters(int type, int count) | |
| hasRegister | back to summary |
|---|---|
| private boolean hasRegister(int type) | |
| nextStorage | back to summary |
|---|---|
| pack-priv VMStorage nextStorage(int type, ValueLayout layout) | |
| regAlloc | back to summary |
|---|---|
| private VMStorage regAlloc(int type) | |
| stackAlloc | back to summary |
|---|---|
| private VMStorage stackAlloc(ValueLayout layout) | |
| structStorages | back to summary |
|---|---|
| pack-priv CallArranger. | |
| Modifier and Type | Field and Description |
|---|---|
| private final int | byteWidth
Record Component accessed by byteWidth(). |
| private final Class | |
| private final long | |
| private final VMStorage |
| Access | Constructor and Description |
|---|---|
| pack-priv |
| Modifier and Type | Method and Description |
|---|---|
| public int | |
| public Class | |
| public final boolean | equals(Object o)
Implements abstract java. Indicates whether some other object is "equal to" this one. |
| public final int | |
| public long | |
| public VMStorage | |
| public final String | toString()
Implements abstract java. Returns a string representation of the record. |
| byteWidth | back to summary |
|---|---|
| private final int byteWidth Record Component accessed by byteWidth(). | |
| carrier | back to summary |
|---|---|
| private final Class<?> carrier Record Component accessed by carrier(). | |
| offset | back to summary |
|---|---|
| private final long offset Record Component accessed by offset(). | |
| storage | back to summary |
|---|---|
| private final VMStorage storage Record Component accessed by storage(). | |
| StructStorage | back to summary |
|---|---|
| pack-priv StructStorage(long offset, Class<?> carrier, int byteWidth, VMStorage storage) | |
| byteWidth | back to summary |
|---|---|
| public int byteWidth() Record Component getter of byteWidth. | |
| carrier | back to summary |
|---|---|
| public Class Record Component getter of carrier. | |
| equals | back to summary |
|---|---|
| public final boolean equals(Object o) Implements abstract java. Doc from java. Indicates whether some other object is "equal to" this one. In addition
to the general contract of
R copy = new R(r.c1(), r.c2(), ..., r.cn());
then it must be the case that r.equals(copy).
| |
| hashCode | back to summary |
|---|---|
| public final int hashCode() Implements abstract java. Doc from java. Returns a hash code value for the record.
Obeys the general contract of | |
| offset | back to summary |
|---|---|
| public long offset() Record Component getter of offset. | |
| storage | back to summary |
|---|---|
| public VMStorage storage() Record Component getter of storage. | |
| toString | back to summary |
|---|---|
| public final String toString() Implements abstract java. Doc from java. Returns a string representation of the record.
In accordance with the general contract of In addition to this general contract, record classes must further participate in the invariant that any two records which are equal must produce equal strings. This invariant is necessarily relaxed in the rare case where corresponding equal component values might fail to produce equal strings for themselves. | |
| Modifier and Type | Field and Description |
|---|---|
| protected final boolean | |
| protected final boolean | |
| private final boolean |
| Access | Constructor and Description |
|---|---|
| pack-priv |
| Modifier and Type | Method and Description |
|---|---|
| pack-priv List | getBindings(Class<?> carrier, MemoryLayout layout)
Implements abstract jdk.
|
| pack-priv List |
| forArguments | back to summary |
|---|---|
| protected final boolean forArguments | |
| forVariadicFunction | back to summary |
|---|---|
| protected final boolean forVariadicFunction | |
| useAddressPairs | back to summary |
|---|---|
| private final boolean useAddressPairs | |
| UnboxBindingCalculator | back to summary |
|---|---|
| pack-priv UnboxBindingCalculator(boolean forArguments, boolean forVariadicFunction, boolean useAddressPairs) | |
| getBindings | back to summary |
|---|---|
| pack-priv List Implements abstract jdk.
| |
| getIndirectBindings | back to summary |
|---|---|
| pack-priv List Implements abstract jdk.
| |