AsmJit
Low-Latency Machine Code Generation
Function node represents a function used by BaseCompiler.
A function is composed of the following:
In a node list, the function and its body looks like the following:
When a function is added to the instruction stream by BaseCompiler::addFunc() it actually inserts 3 nodes (FuncNode, ExitLabel, and FuncEnd) and sets the current cursor to be FuncNode. When BaseCompiler::endFunc() is called the cursor is set to FuncEnd. This guarantees that user can use ExitLabel as a marker after additional code or data can be placed, which is a common practice.
Creates a new FuncNode
instance.
Always use BaseCompiler::addFunc()
to create a new FuncNode
.
Returns function exit LabelNode
.
Returns function exit label.
Returns "End of Func" sentinel node.
Returns function detail.
Returns function detail.
Returns function frame.
Returns function frame.
Returns function attributes.
Adds attrs
to the function attributes.
Returns arguments count.
Returns argument packs.
Tests whether the function has a return value.
Returns argument pack at argIndex
.
Sets argument at argIndex
.
This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.
Sets argument at argIndex
and valueIndex
.
This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.
Resets argument pack at argIndex
.
Resets argument pack at argIndex
.
Function detail.
Function frame.
Function exit label.
Function end (sentinel).
Argument packs.