A C++ library for low-latency machine code generation with support for x86, x64, ARM, and AArch64 architectures.
AsmJit is a C++ library for low-latency machine code generation that allows developers to assemble, compile, and generate executable code at runtime. It supports multiple CPU architectures including x86, x64, ARM, and AArch64, providing tools for building JIT compilers, emulators, and other performance-sensitive applications. The library offers both low-level assembler interfaces and higher-level compiler APIs to cater to different use cases.
System programmers, compiler developers, and engineers working on JIT compilers, emulators, virtual machines, or performance-critical applications that require runtime code generation.
Developers choose AsmJit for its comprehensive multi-architecture support, low-latency performance, and clean modular API that simplifies machine code generation without sacrificing control or efficiency.
Low-latency machine code generation
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Supports x86, x64, ARM, and AArch64 through dedicated backend modules, enabling cross-platform code generation for diverse hardware.
Includes a detailed database for querying instruction information and metadata, essential for tools that analyze or manipulate machine code.
Comes with extensive unit tests, integration tests, and benchmarks in the asmjit-testing directory, ensuring reliability and performance validation.
Emphasizes low-latency with a modular design that balances performance and flexibility, suitable for both academic and industrial use cases.
The project acknowledges breaking changes with a dedicated guide, leading to potential maintenance challenges and version compatibility issues.
Requires in-depth knowledge of CPU instruction sets and assembly programming, making it inaccessible for developers unfamiliar with low-level systems.
Involves CMake builds and manual configuration as per the documentation, which can be time-consuming compared to plug-and-play libraries.