AsmJit
Low-Latency Machine Code Generation
Docs
Interactive Parser
Support
GitHub
API Reference
Index
Class List
Build Instructions
Breaking Changes
Core
Assembler
Builder
Compiler
Function
Logging
Error Handling
Instruction DB
Virtual Memory
Zone Memory
Utilities
X86 Backend
ARM Commons
AArch64 Backend
asmjit::FuncRetNode Class Reference
Compiler
Inheritance diagram for asmjit::FuncRetNode:
Function return, used by
BaseCompiler
.
Member Functions
FuncRetNode
(
const
FuncRetNode
& other) =
delete
FuncRetNode
&
operator=
(
const
FuncRetNode
& other) =
delete
Construction & Destruction
FuncRetNode
(
BaseBuilder
* cb)
noexcept
Public Member Functions inherited from
asmjit::InstNodeWithOperands< InstNode::kBaseOpCapacity >
InstNodeWithOperands
(
BaseBuilder
* cb,
InstId
instId,
InstOptions
options,
uint32_t
opCount)
noexcept
Public Member Functions inherited from
asmjit::InstNode
InstNode
(
const
InstNode
& other) =
delete
InstNode
&
operator=
(
const
InstNode
& other) =
delete
InstNode
(
BaseBuilder
* cb,
InstId
instId,
InstOptions
options
,
uint32_t
opCount
,
uint32_t
opCapacity
=
kBaseOpCapacity
)
noexcept
BaseInst
&
baseInst
()
noexcept
const
BaseInst
&
baseInst
()
const
noexcept
InstId
id
()
const
noexcept
InstId
realId
()
const
noexcept
void
setId
(
InstId
id
)
noexcept
InstOptions
options
()
const
noexcept
bool
hasOption
(
InstOptions
option)
const
noexcept
void
setOptions
(
InstOptions
options
)
noexcept
void
addOptions
(
InstOptions
options
)
noexcept
void
clearOptions
(
InstOptions
options
)
noexcept
void
resetOptions
()
noexcept
bool
hasExtraReg
()
const
noexcept
RegOnly
&
extraReg
()
noexcept
const
RegOnly
&
extraReg
()
const
noexcept
void
setExtraReg
(
const
BaseReg
& reg)
noexcept
void
setExtraReg
(
const
RegOnly
& reg)
noexcept
void
resetExtraReg
()
noexcept
uint32_t
opCount
()
const
noexcept
uint32_t
opCapacity
()
const
noexcept
void
setOpCount
(
uint32_t
opCount
)
noexcept
Operand
*
operands
()
noexcept
const
Operand
*
operands
()
const
noexcept
Operand
&
op
(
uint32_t
index)
noexcept
const
Operand
&
op
(
uint32_t
index)
const
noexcept
void
setOp
(
uint32_t
index,
const
Operand_
&
op
)
noexcept
void
resetOp
(
uint32_t
index)
noexcept
void
resetOpRange
(
uint32_t
start,
uint32_t
end)
noexcept
bool
hasOpType
(
OperandType
opType)
const
noexcept
bool
hasRegOp
()
const
noexcept
bool
hasMemOp
()
const
noexcept
bool
hasImmOp
()
const
noexcept
bool
hasLabelOp
()
const
noexcept
uint32_t
indexOfOpType
(
OperandType
opType)
const
noexcept
uint32_t
indexOfMemOp
()
const
noexcept
uint32_t
indexOfImmOp
()
const
noexcept
uint32_t
indexOfLabelOp
()
const
noexcept
Public Member Functions inherited from
asmjit::BaseNode
BaseNode
(
const
BaseNode
& other) =
delete
BaseNode
&
operator=
(
const
BaseNode
& other) =
delete
BaseNode
(
BaseBuilder
* cb,
NodeType
nodeType,
NodeFlags
nodeFlags =
NodeFlags::kNone
)
noexcept
template<typename T>
T*
as
()
noexcept
template<typename T>
const
T*
as
()
const
noexcept
BaseNode
*
prev
()
const
noexcept
BaseNode
*
next
()
const
noexcept
NodeType
type
()
const
noexcept
void
setType
(
NodeType
type
)
noexcept
bool
isInst
()
const
noexcept
bool
isSection
()
const
noexcept
bool
isLabel
()
const
noexcept
bool
isAlign
()
const
noexcept
bool
isEmbedData
()
const
noexcept
bool
isEmbedLabel
()
const
noexcept
bool
isEmbedLabelDelta
()
const
noexcept
bool
isConstPool
()
const
noexcept
bool
isComment
()
const
noexcept
bool
isSentinel
()
const
noexcept
bool
isFunc
()
const
noexcept
bool
isFuncRet
()
const
noexcept
bool
isInvoke
()
const
noexcept
NodeFlags
flags
()
const
noexcept
bool
hasFlag
(
NodeFlags
flag)
const
noexcept
void
setFlags
(
NodeFlags
flags
)
noexcept
void
addFlags
(
NodeFlags
flags
)
noexcept
void
clearFlags
(
NodeFlags
flags
)
noexcept
bool
isCode
()
const
noexcept
bool
isData
()
const
noexcept
bool
isInformative
()
const
noexcept
bool
isRemovable
()
const
noexcept
bool
hasNoEffect
()
const
noexcept
bool
isActive
()
const
noexcept
bool
hasPosition
()
const
noexcept
uint32_t
position
()
const
noexcept
void
setPosition
(
uint32_t
position
)
noexcept
template<typename T>
T*
userDataAsPtr
()
const
noexcept
int64_t
userDataAsInt64
()
const
noexcept
uint64_t
userDataAsUInt64
()
const
noexcept
template<typename T>
void
setUserDataAsPtr
(T* data)
noexcept
void
setUserDataAsInt64
(
int64_t
value)
noexcept
void
setUserDataAsUInt64
(
uint64_t
value)
noexcept
void
resetUserData
()
noexcept
bool
hasPassData
()
const
noexcept
template<typename T>
T*
passData
()
const
noexcept
template<typename T>
void
setPassData
(T* data)
noexcept
void
resetPassData
()
noexcept
bool
hasInlineComment
()
const
noexcept
const
char
*
inlineComment
()
const
noexcept
void
setInlineComment
(
const
char
* s)
noexcept
void
resetInlineComment
()
noexcept
Additional Inherited Members
Public Attributes inherited from
asmjit::InstNodeWithOperands< InstNode::kBaseOpCapacity >
Operand_
_operands
[kN]
Public Attributes inherited from
asmjit::InstNode
BaseInst
_baseInst
Public Attributes inherited from
asmjit::BaseNode
union {
struct {
BaseNode
*
_prev
BaseNode
*
_next
}
BaseNode
*
_links
[2]
};
union {
AnyData
_any
AlignData
_alignData
InstData
_inst
EmbedData
_embed
SentinelData
_sentinel
};
uint32_t
_position
union {
uint64_t
_userDataU64
void
*
_userDataPtr
};
void
*
_passData
const
char
*
_inlineComment
Static Public Attributes inherited from
asmjit::InstNode
static
constexpr
uint32_t
kBaseOpCapacity
=
uint32_t
((128 -
sizeof
(
BaseNode
) -
sizeof
(
BaseInst
)) /
sizeof
(
Operand_
))
static
constexpr
uint32_t
kFullOpCapacity
=
Globals::kMaxOpCount
Constructor & Destructor Documentation
FuncRetNode::
FuncRetNode
(
BaseBuilder
*
cb
)
noexcept
◆
Creates a new
FuncRetNode
instance.