IndexCompilerasmjit::InvokeNode
asmjit::InvokeNode Class Reference
Inheritance diagram for asmjit::InvokeNode:
asmjit::InstNodeWithOperands< InstNode::kBaseOpCapacity > asmjit::InstNode asmjit::BaseNode

Function invocation, used by BaseCompiler.

Public Members

Members
- Public Attributes inherited from asmjit::InstNode
- Public Attributes inherited from asmjit::BaseNode

Classes

Member Functions

Construction & Destruction
Accessors
- Public Member Functions inherited from asmjit::InstNodeWithOperands< InstNode::kBaseOpCapacity >
- Public Member Functions inherited from asmjit::InstNode
- Public Member Functions inherited from asmjit::BaseNode

Additional Inherited Members

- Static Public Attributes inherited from asmjit::InstNode

InvokeNode::InvokeNode(
InstId instId,
InstOptions options
)noexcept[¶]

Creates a new InvokeNode instance.

Error InvokeNode::init(
const FuncSignature& signature,
const Environment& environment
)noexcept[¶]

Sets the function signature.

FuncDetail& InvokeNode::detail()noexcept[1/2][¶]

Returns the function detail.

const FuncDetail& InvokeNode::detail() constnoexcept[2/2][¶]

Returns the function detail.

Operand& InvokeNode::target()noexcept[1/2][¶]

Returns the target operand.

const Operand& InvokeNode::target() constnoexcept[2/2][¶]

This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.

bool InvokeNode::hasRet() constnoexcept[¶]

Returns the number of function return values.

uint32_t InvokeNode::argCount() constnoexcept[¶]

Returns the number of function arguments.

OperandPack& InvokeNode::retPack()noexcept[1/2][¶]

Returns operand pack representing function return value(s).

const OperandPack& InvokeNode::retPack() constnoexcept[2/2][¶]

Returns operand pack representing function return value(s).

Operand& InvokeNode::ret(
size_t valueIndex = 0
)noexcept[1/2][¶]

Returns the return value at the given valueIndex.

const Operand& InvokeNode::ret(
size_t valueIndex = 0
) constnoexcept[2/2][¶]

This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.

OperandPack& InvokeNode::argPack(
size_t argIndex
)noexcept[1/2][¶]

Returns operand pack representing function return value(s).

const OperandPack& InvokeNode::argPack(
size_t argIndex
) constnoexcept[2/2][¶]

This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.

Operand& InvokeNode::arg(
size_t argIndex,
size_t valueIndex
)noexcept[1/2][¶]

Returns a function argument at the given argIndex.

const Operand& InvokeNode::arg(
size_t argIndex,
size_t valueIndex
) constnoexcept[2/2][¶]

This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.

void InvokeNode::_setRet(
size_t valueIndex,
const Operand_& op
)noexcept[¶]

Sets the function return value at i to op.

void InvokeNode::_setArg(
size_t argIndex,
size_t valueIndex,
const Operand_& op
)noexcept[¶]

Sets the function argument at i to op.

void InvokeNode::setRet(
size_t valueIndex,
const BaseReg& reg
)noexcept[¶]

Sets the function return value at valueIndex to reg.

void InvokeNode::setArg(
size_t argIndex,
const BaseReg& reg
)noexcept[1/4][¶]

Sets the first function argument in a value-pack at argIndex to reg.

void InvokeNode::setArg(
size_t argIndex,
const Imm& imm
)noexcept[2/4][¶]

Sets the first function argument in a value-pack at argIndex to imm.

void InvokeNode::setArg(
size_t argIndex,
size_t valueIndex,
const BaseReg& reg
)noexcept[3/4][¶]

Sets the function argument at argIndex and valueIndex to reg.

void InvokeNode::setArg(
size_t argIndex,
size_t valueIndex,
const Imm& imm
)noexcept[4/4][¶]

Sets the function argument at argIndex and valueIndex to imm.

FuncDetail InvokeNode::_funcDetail[¶]

Function detail.

OperandPack InvokeNode::_rets[¶]

Function return value(s).

OperandPack* InvokeNode::_args[¶]

Function arguments.