Top Description Inners Fields Constructors Methods
jdk.vm.ci.code

public Class CallingConvention

extends Object
Class Inheritance
Static Imports
jdk.vm.ci.code.ValueUtil.isAllocatableValue, .ValueUtil.isStackSlot

A calling convention describes the locations in which the arguments for a call are placed and the location in which the return value is placed if the call is not void.

Nested and Inner Type Summary

Modifier and TypeClass and Description
public static interface
CallingConvention.Type

Marker interface denoting the type of a call for which a calling convention is requested.

Field Summary

Modifier and TypeField and Description
private final AllocatableValue[]
argumentLocations

The ordered locations in which the arguments are placed.

private final AllocatableValue
private final int
stackSize

The amount of stack space (in bytes) required for the stack-based arguments of the call.

Constructor Summary

AccessConstructor and Description
public
CallingConvention(int
amount of stack space (in bytes) required for the stack-based arguments of the call
stackSize
,
AllocatableValue
the location for the return value or Value#ILLEGAL if a void call
returnLocation
,
AllocatableValue...
the ordered locations in which the arguments are placed
argumentLocations
)

Creates a description of the registers and stack locations used by a call.

Method Summary

Modifier and TypeMethod and Description
public AllocatableValue
getArgument(int index)

Gets the location for the index'th argument.

public int
getArgumentCount()

Gets the number of locations required for the arguments.

public AllocatableValue[]
getArguments()

Gets the locations required for the arguments.

public AllocatableValue
getReturn()

Gets the location for the return value or Value#ILLEGAL if a void call.

public int
getStackSize()

Gets the amount of stack space (in bytes) required for the stack-based arguments of the call.

public String
toString()

Overrides java.lang.Object.toString.

Returns a string representation of the object.

private boolean
Inherited from java.lang.Object:
cloneequalsfinalizegetClasshashCodenotifynotifyAllwaitwaitwait

Field Detail

argumentLocationsback to summary
private final AllocatableValue[] argumentLocations

The ordered locations in which the arguments are placed.

returnLocationback to summary
private final AllocatableValue returnLocation
stackSizeback to summary
private final int stackSize

The amount of stack space (in bytes) required for the stack-based arguments of the call.

Constructor Detail

CallingConventionback to summary
public CallingConvention(int stackSize, AllocatableValue returnLocation, AllocatableValue... argumentLocations)

Creates a description of the registers and stack locations used by a call.

Parameters
stackSize:int

amount of stack space (in bytes) required for the stack-based arguments of the call

returnLocation:AllocatableValue

the location for the return value or Value#ILLEGAL if a void call

argumentLocations:AllocatableValue[]

the ordered locations in which the arguments are placed

Method Detail

getArgumentback to summary
public AllocatableValue getArgument(int index)

Gets the location for the index'th argument.

getArgumentCountback to summary
public int getArgumentCount()

Gets the number of locations required for the arguments.

getArgumentsback to summary
public AllocatableValue[] getArguments()

Gets the locations required for the arguments.

Annotations
@SuppressFBWarnings:EI_EXPOSE_REP
justification:FB false positive
getReturnback to summary
public AllocatableValue getReturn()

Gets the location for the return value or Value#ILLEGAL if a void call.

getStackSizeback to summary
public int getStackSize()

Gets the amount of stack space (in bytes) required for the stack-based arguments of the call.

toStringback to summary
public String toString()

Overrides java.lang.Object.toString.

Doc from java.lang.Object.toString.

Returns a string representation of the object.

Returns:String

a string representation of the object

Annotations
@Override
verifyback to summary
private boolean verify()
jdk.vm.ci.code back to summary

public Interface CallingConvention.Type

Known Direct Implementers
jdk.vm.ci.hotspot.HotSpotCallingConventionType

Marker interface denoting the type of a call for which a calling convention is requested.