asmjit::FuncValue Struct Reference

Argument or return value (or its part) as defined by FuncSignature, but with register or stack address (and other metadata) assigned.

Public Members

Public Types

Member Functions

Initializtion & Reset
Assign
Accessors

Member Enumeration Documentation

FuncValue::Parts : uint32_tenum

ConstantDescription
kTypeIdShift 

TypeId shift.

kTypeIdMask 

TypeId mask.

kFlagIsReg 

Passed by register.

kFlagIsStack 

Passed by stack.

kFlagIsIndirect 

Passed indirectly by reference (internally a pointer).

kFlagIsDone 

Used internally by arguments allocator.

kStackOffsetShift 

Stack offset shift.

kStackOffsetMask 

Stack offset mask (must occupy MSB bits).

kRegIdShift 

RegId shift.

kRegIdMask 

RegId mask.

kRegTypeShift 

RegType shift.

kRegTypeMask 

RegType mask.

Member Function Documentation

void FuncValue::initTypeId(uint32_t typeId)noexcept

Initializes the typeId of this FuncValue.

void FuncValue::reset()noexcept

Resets the value to its unassigned state.

bool FuncValue::hasFlag(uint32_t flag) constnoexcept

Tests whether the FuncValue has a flag flag set.

void FuncValue::addFlags(uint32_t flags)noexcept

Adds flags to FuncValue.

void FuncValue::clearFlags(uint32_t flags)noexcept

Clears flags of FuncValue.

bool FuncValue::isInitialized() constnoexcept

Tests whether the value is initialized (i.e. contains a valid data).

bool FuncValue::isReg() constnoexcept

Tests whether the argument is passed by register.

bool FuncValue::isStack() constnoexcept

Tests whether the argument is passed by stack.

bool FuncValue::isAssigned() constnoexcept

Tests whether the argument is passed by register.

bool FuncValue::isIndirect() constnoexcept

Tests whether the argument is passed through a pointer (used by WIN64 to pass XMM|YMM|ZMM).

bool FuncValue::isDone() constnoexcept

Tests whether the argument was already processed (used internally).

uint32_t FuncValue::regType() constnoexcept

Returns a register type of the register used to pass function argument or return value.

void FuncValue::setRegType(uint32_t regType)noexcept

Sets a register type of the register used to pass function argument or return value.

uint32_t FuncValue::regId() constnoexcept

Returns a physical id of the register used to pass function argument or return value.

void FuncValue::setRegId(uint32_t regId)noexcept

Sets a physical id of the register used to pass function argument or return value.

int32_t FuncValue::stackOffset() constnoexcept

Returns a stack offset of this argument.

void FuncValue::setStackOffset(int32_t offset)noexcept

Sets a stack offset of this argument.

bool FuncValue::hasTypeId() constnoexcept

Tests whether the argument or return value has associated Type::Id.

uint32_t FuncValue::typeId() constnoexcept

Returns a TypeId of this argument or return value.

void FuncValue::setTypeId(uint32_t typeId)noexcept

Sets a TypeId of this argument or return value.