mirror of
https://github.com/asmjit/asmjit.git
synced 2025-12-16 20:17:05 +03:00
9888fcf2133f253b890c9fbd586dbafa0a273044
AsmJit
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 Organization
/- Project root - project files and scripts,includepath 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)
- asmjit - AsmJit source code and headers
Roadmap
- See Roadmap page for more details
Contributing
- See CONTRIBUTING page for more details
Documentation
Development & Testing
- Basic configure scripts that invoke cmake are provided in project root.
Breaking Changes
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
Support
- 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:
Authors & Maintainers
- Petr Kobalicek kobalicek.petr@gmail.com (website)
Languages
C++
93.2%
JavaScript
3.3%
C
3.2%
CMake
0.3%