public abstract static class SPARCCall.DirectCallOp extends SPARCCall.MethodCallOp
SPARCLIRInstruction.SizeEstimate
LIRInstruction.Alive, LIRInstruction.Def, LIRInstruction.OperandFlag, LIRInstruction.OperandMode, LIRInstruction.State, LIRInstruction.Temp, LIRInstruction.Use
Modifier and Type | Field and Description |
---|---|
private int |
before |
private boolean |
emitted |
callTarget
parameters, result, state, temps
delayedControlTransfer, TYPE
ADDRESS_FLAGS, ALLOWED_FLAGS
Constructor and Description |
---|
DirectCallOp(LIRInstructionClass<? extends SPARCCall.DirectCallOp> c,
SPARCLIRInstruction.SizeEstimate size,
ResolvedJavaMethod callTarget,
Value result,
Value[] parameters,
Value[] temps,
LIRFrameState state) |
Modifier and Type | Method and Description |
---|---|
void |
emitCallPrefixCode(CompilationResultBuilder crb,
SPARCMacroAssembler masm) |
void |
emitCode(CompilationResultBuilder crb,
SPARCMacroAssembler masm) |
void |
emitControlTransfer(CompilationResultBuilder crb,
SPARCMacroAssembler masm) |
void |
resetState() |
destroysCallerSavedRegisters
emitCode, estimateSize, leavesRegisterWindow, setDelayedControlTransfer
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 DirectCallOp(LIRInstructionClass<? extends SPARCCall.DirectCallOp> c, SPARCLIRInstruction.SizeEstimate size, ResolvedJavaMethod callTarget, Value result, Value[] parameters, Value[] temps, LIRFrameState state)
public void emitCode(CompilationResultBuilder crb, SPARCMacroAssembler masm)
emitCode
in class SPARCLIRInstruction
public void emitCallPrefixCode(CompilationResultBuilder crb, SPARCMacroAssembler masm)
public void emitControlTransfer(CompilationResultBuilder crb, SPARCMacroAssembler masm)
public void resetState()