AsmJit is a library for low-latency machine code generation written in C++.
- Official Home Page (asmjit.com)
- Official Repository (asmjit/asmjit)
- Public Chat Channel
- Zlib License
See asmjit.com page for more details, examples, and documentation.
/- Project root - project files and scripts,includepath points here- asmjit - AsmJit source code and headers
- axl - Auxiliary library - low level primitives and utilities
- core - Core API, backend independent except relocations
- 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)
- asmjit - AsmJit source code and headers
- See Roadmap page for more details
- AsmJit has no dependencies
- For quick project generation, use
configure.shorconfigure_vs...scripts - For common presets, inspect
CMakePresets.jsonand invoke them ascmake --preset xxx- that's enough to start as presets are configured to build tests by default
- See CONTRIBUTING page for more details about contributing to the project
- Usage of AI in AsmJit is permitted with the following restrictions:
- Each line generated by AI must be manually verified and reviewed
- Code written by AI must be compatible with the rest of the library in terms of quality and conventions
- Using AI tools to scan AsmJit to find bugs and vulnerabilities is welcome, but bug reports should never be automatically generated
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:
- Petr Kobalicek kobalicek.petr@gmail.com (website)