public abstract static class AArch64Call.ForeignCallOp extends AArch64Call.CallOp implements StandardOp.LabelHoldingOp, DiagnosticLIRGeneratorTool.ZapRegistersAfterInstruction
LIRInstruction.Alive, LIRInstruction.Def, LIRInstruction.OperandFlag, LIRInstruction.OperandMode, LIRInstruction.State, LIRInstruction.Temp, LIRInstruction.Use| Modifier and Type | Field and Description |
|---|---|
protected ForeignCallLinkage |
callTarget |
protected Label |
label |
parameters, result, state, tempsADDRESS_FLAGS, ALLOWED_FLAGS| Modifier | Constructor and Description |
|---|---|
protected |
ForeignCallOp(LIRInstructionClass<? extends AArch64Call.ForeignCallOp> c,
ForeignCallLinkage callTarget,
Value result,
Value[] parameters,
Value[] temps,
LIRFrameState state,
Label label) |
| Modifier and Type | Method and Description |
|---|---|
boolean |
destroysCallerSavedRegisters() |
protected abstract void |
emitCall(CompilationResultBuilder crb,
AArch64MacroAssembler masm) |
void |
emitCode(CompilationResultBuilder crb,
AArch64MacroAssembler masm) |
Label |
getLabel() |
emitCodeaddStackSlotsToTemporaries, forEachAlive, forEachAlive, forEachInput, forEachInput, forEachOutput, forEachOutput, forEachRegisterHint, forEachRegisterHint, forEachState, forEachState, forEachState, forEachState, forEachTemp, forEachTemp, getComment, getLIRInstructionClass, getPosition, hashCode, hasOperands, hasState, id, isLoadConstantOp, isMoveOp, isValueMoveOp, name, needsClearUpperVectorRegisters, setComment, setId, setPosition, toString, toString, toStringWithIdPrefix, verify, visitEachAlive, visitEachAlive, visitEachInput, visitEachInput, visitEachOutput, visitEachOutput, visitEachState, visitEachState, visitEachTemp, visitEachTempprotected final ForeignCallLinkage callTarget
protected final Label label
protected ForeignCallOp(LIRInstructionClass<? extends AArch64Call.ForeignCallOp> c, ForeignCallLinkage callTarget, Value result, Value[] parameters, Value[] temps, LIRFrameState state, Label label)
public boolean destroysCallerSavedRegisters()
destroysCallerSavedRegisters in class AArch64Call.CallOppublic void emitCode(CompilationResultBuilder crb, AArch64MacroAssembler masm)
emitCode in class AArch64LIRInstructionprotected abstract void emitCall(CompilationResultBuilder crb, AArch64MacroAssembler masm)
public Label getLabel()
getLabel in interface StandardOp.LabelHoldingOp