mirror of
https://github.com/asmjit/asmjit.git
synced 2025-12-16 20:17:05 +03:00
9d33c892f79c8918ef2e6ebb0a133fe5c95b1f2a
In addition, always enable DualMapping when RWX pages are not possible to allocate in JitAllocator, because otherwise the allocator would not be able to allocate memory for JIT code execution. New CI runners to test FreeBSD, NetBSD, and OpenBSD are also provided.
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
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 Official 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.
TODO
- Core:
- Add support for user external buffers in CodeBuffer / CodeHolder.
- Ports:
- 32-bit ARM/Thumb port.
- 64-bit ARM (AArch64) port.
- RISC-V port.
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%