public abstract static class SPARCCall.IndirectCallOp 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 |
---|---|
protected Value |
targetAddress |
callTarget
parameters, result, state, temps
delayedControlTransfer, TYPE
ADDRESS_FLAGS, ALLOWED_FLAGS
Modifier | Constructor and Description |
---|---|
protected |
IndirectCallOp(LIRInstructionClass<? extends SPARCCall.IndirectCallOp> c,
SPARCLIRInstruction.SizeEstimate size,
ResolvedJavaMethod callTarget,
Value result,
Value[] parameters,
Value[] temps,
Value targetAddress,
LIRFrameState state) |
Modifier and Type | Method and Description |
---|---|
void |
emitCode(CompilationResultBuilder crb,
SPARCMacroAssembler masm) |
void |
verify() |
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, visitEachAlive, visitEachAlive, visitEachInput, visitEachInput, visitEachOutput, visitEachOutput, visitEachState, visitEachState, visitEachTemp, visitEachTemp
protected Value targetAddress
protected IndirectCallOp(LIRInstructionClass<? extends SPARCCall.IndirectCallOp> c, SPARCLIRInstruction.SizeEstimate size, ResolvedJavaMethod callTarget, Value result, Value[] parameters, Value[] temps, Value targetAddress, LIRFrameState state)
public void emitCode(CompilationResultBuilder crb, SPARCMacroAssembler masm)
emitCode
in class SPARCLIRInstruction
public void verify()
verify
in class LIRInstruction