mirror of
https://github.com/asmjit/asmjit.git
synced 2025-12-16 20:17:05 +03:00
358d944bf201c9f20d378024d8d091baa41e22b6
[Bug] Added a possibility to order sections so the address table section can stay last even when user creates sections after it has been created (#293)
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_x86_asm.cpp - Tests that demonstrate the purpose of emitters.
- asmjit_test_x86_cc.cpp - A lot of tests targeting Compiler infrastructure.
- 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.
- Register allocator doesn't understand register pairs, affected instructions:
- v4fmaddps, v4fmaddss, v4fnmaddps, v4fnmaddss
- vp4dpwssd, vp4dpwssds
- vp2intersectd, vp2intersectq
- Ports:
- ARM/Thumb/AArch64 support.
Donors
Authors & Maintainers
- Petr Kobalicek kobalicek.petr@gmail.com
Languages
C++
93.2%
JavaScript
3.3%
C
3.2%
CMake
0.3%