AsmJit
Low-Latency Machine Code Generation
▼Nasmjit | Root namespace used by AsmJit |
►Na64 | AArch64 backend |
►Narm | API shared between AArch32 & AArch64 backends |
►NGlobals | Contains typedefs, constants, and variables used globally by AsmJit |
►NSupport | Contains support classes and functions that may be used by AsmJit source and header files |
►NType | Provides type identifiers that can be used in templates instead of native types |
►NTypeUtils | Type identifier utilities |
►NVirtMem | Virtual memory management |
►Nx86 | X86/X64 API |
CAddressTableEntry | Entry in an address table |
CAlignNode | Align directive (BaseBuilder) |
CArchTraits | Architecture traits used by Function API and Compiler's register allocator |
CBaseAssembler | Base assembler |
CBaseBuilder | Builder interface |
CBaseCompiler | Code emitter that uses virtual registers and performs register allocation |
►CBaseEmitter | Provides a base foundation to emitting code - specialized by BaseAssembler and BaseBuilder |
CBaseInst | Instruction id, options, and extraReg in a single structure |
CBaseMem | Base class for all memory operands |
►CBaseNode | Base node |
CBaseReg | Physical or virtual register operand (base) |
CBaseRegList | List of physical registers (base) |
►CCallConv | Function calling convention |
CCodeBuffer | Code or data buffer |
CCodeHolder | Holds assembled code and data (including sections, labels, and relocation information) |
CCommentNode | Comment node |
CConstPool | Constant pool |
CConstPoolNode | A node that wraps ConstPool |
►CCpuFeatures | CPU features information |
CCpuInfo | CPU information |
CEmbedDataNode | Embed data node |
CEmbedLabelDeltaNode | Label data node |
CEmbedLabelNode | Label data node |
CEnvironment | Represents an environment, which is usually related to a Target |
CErrorHandler | Error handler can be used to override the default behavior of error handling |
►CExpression | Expression node that can reference constants, labels, and another expressions |
CFileLogger | Logger that can log to a FILE* |
CFixedString | Fixed string - only useful for strings that would never exceed N - 1 characters; always null-terminated |
CFormatOptions | Formatting options used by Logger and Formatter |
CFuncArgsAssignment | A helper class that can be used to assign a physical register for each function argument |
CFuncDetail | Function detail - CallConv and expanded FuncSignature |
CFuncFrame | Function frame |
►CFuncNode | Function node represents a function used by BaseCompiler |
CFuncPass | Function pass extends Pass with FuncPass::runOnFunction() |
CFuncRetNode | Function return, used by BaseCompiler |
CFuncSignature | Function signature |
CFuncValue | Argument or return value (or its part) as defined by FuncSignature , but with register or stack address (and other metadata) assigned |
CFuncValuePack | Contains multiple FuncValue instances in an array so functions that use multiple registers for arguments or return values can represent all inputs and outputs |
CImm | Immediate operands are encoded with instruction data |
CInstNode | Instruction node |
CInstNodeWithOperands | Instruction node with embedded operands following InstNode layout |
CInstRWInfo | Read/Write information of an instruction |
►CInvokeNode | Function invocation, used by BaseCompiler |
►CJitAllocator | A simple implementation of memory manager that uses asmjit::VirtMem functions to manage virtual memory for JIT compiled code |
CJitRuntime | JIT execution runtime is a special Target that is designed to store and execute a generated code |
CJumpAnnotation | Jump annotation used to annotate jumps |
CJumpNode | Jump instruction with JumpAnnotation |
CLabel | Label (jump target or data location) |
CLabelEntry | Label entry |
CLabelLink | Data structure used to link either unbound labels or cross-section links |
CLabelNode | Label node |
CLogger | Logging interface |
CNodeList | Node list |
COffsetFormat | Provides information about formatting offsets, absolute addresses, or their parts |
COperand | Base class representing an operand in AsmJit (default constructed version) |
COperand_ | Base class representing an operand in AsmJit (non-default constructed version) |
COperandSignature | Operand signature is a 32-bit number describing Operand and some of its payload |
COpRWInfo | Read/Write information related to a single operand, used by InstRWInfo |
CPass | Pass can be used to implement code transformations, analysis, and lowering |
CRegListT | |
CRegOnly | RegOnly is 8-byte version of BaseReg that allows to store either register or nothing |
CRelocEntry | Relocation entry |
CSection | Section entry |
CSectionNode | Section node |
CSentinelNode | Sentinel node |
CString | A simple non-reference counted string that uses small string optimization (SSO) |
CStringLogger | Logger that stores everything in an internal string buffer |
CStringTmp | Temporary string builder, has statically allocated N bytes |
CTarget | Target is an abstract class that describes a machine code target |
CVirtReg | Virtual register data, managed by BaseCompiler |
CZone | Zone memory |
CZoneAllocator | Zone-based memory allocator that uses an existing Zone and provides a release() functionality on top of it |
►CZoneBitVector | Zone-allocated bit vector |
CZoneHash | Low-level hash table specialized for storing string keys and POD values |
CZoneHashBase | Base class used by ZoneHash template |
CZoneHashNode | Node used by ZoneHash template |
CZoneList | Zone allocated list container that uses nodes of NodeT type |
CZoneListNode | Node used by ZoneList template |
CZoneStack | Zone allocated stack container |
►CZoneStackBase | Base class used by ZoneStack |
CZoneString | A string template that can be zone allocated |
CZoneStringBase | A helper class used by ZoneString implementation |
►CZoneTmp | Zone with N bytes of a static storage, used for the initial block |
CZoneTree | RB-Tree |
CZoneTreeNode | RB-Tree node |
CZoneTreeNodeT | RB-Tree node casted to NodeT |
CZoneVector | Template used to store and manage array of Zone allocated data |
CZoneVectorBase | Base class used by ZoneVector template |