
AsmJit
Low-Latency Machine Code Generation
AsmJit C++ API reference documentation generated by Doxygen.
AsmJit library uses one global namespace called asmjit, which provides the whole functionality. Core functionality is within asmjit namespace and architecture specific functionality is always in its own namespace. For example asmjit::x86 provides both 32-bit and 64-bit X86 code generation.
AsmJit documentation is structured into groups. Groups can be followed in order to learn AsmJit, but knowledge from multiple groups is required to use AsmJit properly:
AsmJit Core provides the following two classes that are essential from the code generation perspective:
Code emitters:
The following steps are recommended for all AsmJit users:
DiagnosticOptions::kRAAnnotate | DiagnosticOptions::kRADebugAll
.The reason for using Logger and ErrorHandler is that they provide a very useful information about what's happening inside emitters. In many cases the information provided by these two is crucial to quickly identify and fix issues that happen during development (for example wrong instruction, address, or register used). In addition, output from Logger is always necessary when filling bug reports. In other words, using logging and proper error handling can save a lot of time during the development and can also save users from submitting issues.
asmjit
namespace