AsmJit Project
Machine Code Generation for C++
RegOnly is 8-byte version of BaseReg
that allows to store either register or nothing.
This class was designed to decrease the space consumed by each extra "operand" in BaseEmitter
and InstNode
classes.
Initializes the RegOnly
instance to hold register signature
and id
.
Resets the RegOnly
members to zeros (none).
Tests whether this ExtraReg is none (same as calling Operand_::isNone()
).
Tests whether the register is valid (either virtual or physical).
Tests whether this is a physical register.
Tests whether this is a virtual register (used by BaseCompiler
).
Returns the register signature or 0 if no register is assigned.
Returns the register id.
RegOnly
instance would return zero id, which is still a valid register id. Sets the register id.
Returns the type of the register.
Returns the register group.
Converts this ExtraReg to a real RegT
operand.
Type of the operand, either kOpNone
or kOpReg
.
Physical or virtual register id.