asmjit::InvokeNode Class Reference

Function invocation, used by BaseCompiler.

Public 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::InstNode
- Public Member Functions inherited from asmjit::BaseNode

Additional Inherited Members

- Public Types inherited from asmjit::InstNode
- Public Types inherited from asmjit::BaseNode

Constructor & Destructor Documentation

InvokeNode::InvokeNode(BaseBuilder* cb, uint32_t instId, uint32_t 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.