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 "End of Func" sentinel node.
Returns function detail.
Returns function detail.
Returns function attributes.
Adds attrs
to the function attributes.
Returns arguments count.
Tests whether the function has a return value.
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 end (sentinel).