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- src - Source code
- asmjit - Source code and headers (always point include path in here)
- 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 - Source code and headers (always point include path in here)
- 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
- tools - Tools used to re-regenerate generated files (instruction DB, enum strings)
- src - Source code
- See Roadmap page for more details
- See CONTRIBUTING page for more details
- 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:
- asmjit_test_emitters.cpp - Tests that demonstrate the purpose of emitters
- asmjit_test_assembler_x86.cpp - Tests targeting AsmJit's Assembler (x86/x64)
- asmjit_test_compiler_x86.cpp - Tests targeting AsmJit's Compiler (x86/x64)
- asmjit_test_instinfo.cpp - Tests that query instruction information
- asmjit_test_x86_sections.cpp - Multiple sections test
- Visit our Gitter Chat if you need a quick help
- AsmJit project has both community and commercial support, see AsmJit's Support Page
- Organizations that rely on AsmJit should support the development!
Notable Donors List:
- Petr Kobalicek [email protected] (website)