mirror of
https://github.com/asmjit/asmjit.git
synced 2025-12-17 04:24:37 +03:00
4a61c23ab65a8feb58d1bcdb7cbe8c8bdc36b7d1
This feature has been disabled for a long time so it could be tested properly, but production didn't reveal any issues. When try mode is enabled the RA will try to allocate the reassignment first to avoid possibly having to emit code in a separate block (try mode basically "tries" to emit code before a branch and not as a consequence of it).
AsmJit
AsmJit is a lightweight library for machine code generation written in C++ language.
- Official Home Page (asmjit.com)
- Official Repository (asmjit/asmjit)
- Public Chat Channel
- Zlib License
See asmjit.com page for more details, examples, and documentation.
Documentation
Contributing
- See CONTRIBUTING page for more details
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
Project Organization
/- 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, used only by ARM and AArch64 backends
- x86 - X86 specific API, used only by X86 and X64 backends
- asmjit - Source code and headers (always point include path in here)
- test - Unit and integration tests (don't embed in your project)
- tools - Tools used for configuring, documenting, and generating files
- src - Source code
Ports
- 32-bit ARM/Thumb port (work in progress)
- RISC-V port (not in progress, help welcome)
Support
- AsmJit project has both community and commercial support, see AsmJit's Support Page
- You can help the development and maintenance through Petr Kobalicek's GitHub sponsors Profile
Notable Donors List:
Authors & Maintainers
- Petr Kobalicek kobalicek.petr@gmail.com
Languages
C++
93.2%
JavaScript
3.3%
C
3.2%
CMake
0.3%