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

Constructor & Destructor Documentation

InvokeNode::InvokeNode(BaseBuilder* cb, InstId instId, InstOptions options)noexcept◆ 

Creates a new InvokeNode instance.

Member Function Documentation

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.

Member Data Documentation

FuncDetail InvokeNode::_funcDetail◆ 

Function detail.

OperandPack InvokeNode::_rets◆ 

Function return value(s).

OperandPack* InvokeNode::_args◆ 

Function arguments.