public final class AMD64CCall extends AMD64LIRInstruction
LIRInstruction.Alive, LIRInstruction.Def, LIRInstruction.OperandFlag, LIRInstruction.OperandMode, LIRInstruction.State, LIRInstruction.Temp, LIRInstruction.Use
Modifier and Type | Field and Description |
---|---|
protected Value |
functionPtr |
protected Value |
numberOfFloatingPointArguments |
protected Value[] |
parameters |
protected Value |
result |
static LIRInstructionClass<AMD64CCall> |
TYPE |
ADDRESS_FLAGS, ALLOWED_FLAGS
Constructor and Description |
---|
AMD64CCall(Value result,
Value functionPtr,
Value numberOfFloatingPointArguments,
Value[] parameters) |
Modifier and Type | Method and Description |
---|---|
boolean |
destroysCallerSavedRegisters() |
private void |
directCall(AMD64MacroAssembler masm) |
void |
emitCode(CompilationResultBuilder crb,
AMD64MacroAssembler masm) |
emitCode
forEachAlive, forEachAlive, forEachInput, forEachInput, forEachOutput, forEachOutput, forEachRegisterHint, forEachRegisterHint, forEachState, forEachState, forEachState, forEachState, forEachTemp, forEachTemp, getLIRInstructionClass, hasOperands, hasState, id, name, setId, toString, toStringWithIdPrefix, verify, visitEachAlive, visitEachAlive, visitEachInput, visitEachInput, visitEachOutput, visitEachOutput, visitEachState, visitEachState, visitEachTemp, visitEachTemp
public static final LIRInstructionClass<AMD64CCall> TYPE
protected Value[] parameters
protected Value functionPtr
protected Value numberOfFloatingPointArguments
public AMD64CCall(Value result, Value functionPtr, Value numberOfFloatingPointArguments, Value[] parameters)
public void emitCode(CompilationResultBuilder crb, AMD64MacroAssembler masm)
emitCode
in class AMD64LIRInstruction
private void directCall(AMD64MacroAssembler masm)
public boolean destroysCallerSavedRegisters()
destroysCallerSavedRegisters
in class LIRInstruction