AsmJit is a library for low-latency machine code generation written in C++.
See asmjit.com page for more details, examples, and documentation.
- / - Project root - project files and scripts, include path points here
- asmjit - AsmJit source code and headers
- core - Core API, backend independent except relocations
- support - Support classes and functions
- arm - ARM specific API, designed to be common for both AArch32 and AArch64
- a64 - AArch64 specific API, used only by AArch64 backends
- x86 - X86 specific API, used only by X86 and X64 backends
- ujit - Universal JIT API
- asmjit-testing - Unit tests, integration tests, and benchmarks (don't embed in your project)
- commons - Common utilities shared between tests and benchmarks
- bench - Benchmarks
- tests - Unit tests and integration tests
- db - Instruction database
- tools - Tools used to re-regenerate generated files (instruction DB, enum strings)
- Basic configure scripts that invoke cmake are provided in project root.
Breaking the API is sometimes inevitable, what to do?
- See Breaking Changes Guide, which is now part of AsmJit documentation
- See asmjit tests, they always compile and provide implementation of many use-cases:
- Visit our Public Chat if you need a quick help
- AsmJit project has both community and commercial support, see AsmJit's Support Page
- If you use this software commercially, please see the Funding Page and support the development
Notable Donors List: