Archive of https://github.com/asmjit/asmjit — Low-latency machine code generation https://asmjit.com
  • C++ 94.1%
  • JavaScript 3.2%
  • C 2.3%
  • CMake 0.4%
Find a file
Repository files (latest commit first)
Filename Latest commit message Latest commit date
kobalicek c8d13c48fc [bug] Fixed output allocation of consecutive registers
* The original code didn't consider live registers when allocating
    consecutive output registers. This means that it could cause
    assertion failure during allocation.

  * Added two things to fix this: Consider live regs in scoring,
    so the allocator would prefer register that are free, and
    spill those outputs that were assigned to output regs
2026-10-12 18:58:55 +02:00
.github [abi] Added support for arm64e (bump to v1.23) 2026-09-08 14:00:29 +02:00
asmjit [bug] Fixed output allocation of consecutive registers 2026-10-12 18:58:55 +02:00
asmjit-testing [bug] Fixed output allocation of consecutive registers 2026-10-12 18:58:55 +02:00
db [abi] Added support for arm64e (bump to v1.23) 2026-09-08 14:00:29 +02:00
tools [abi] Added support for arm64e (bump to v1.23) 2026-09-08 14:00:29 +02:00
.clangd Minor changes to the bundled axl library 2026-10-12 18:57:16 +02:00
.editorconfig Added .editorconfig 2020-02-08 10:13:44 +01:00
.gitignore [ABI] Completely reworked instruction DB and generators 2023-09-10 09:55:17 +02:00
CMakeLists.txt Minor changes to the bundled axl library 2026-10-12 18:57:16 +02:00
CMakePresets.json [abi] Added support for arm64e (bump to v1.23) 2026-09-08 14:00:29 +02:00
configure.sh Codebase update and improvements, instruction DB update 2025-11-02 22:31:46 +01:00
configure_sanitizers.sh Codebase update and improvements, instruction DB update 2025-11-02 22:31:46 +01:00
configure_vs2026_x64.bat [abi] Cumulated work 2026-09-04 16:12:07 +02:00
configure_vs2026_x86.bat [abi] Cumulated work 2026-09-04 16:12:07 +02:00
CONTRIBUTING.md [abi] Cumulated work 2026-09-04 16:12:07 +02:00
LICENSE.md [abi] Added more functionality to ujit 2025-10-05 17:31:24 +02:00
README.md [abi] Cumulated work 2026-09-04 16:12:07 +02:00

AsmJit

AsmJit is a library for low-latency machine code generation written in C++.

See asmjit.com page for more details, examples, and documentation.

Project Organization

  • / - Project root - project files and scripts, include path points here
    • asmjit - AsmJit source code and headers
      • axl - Auxiliary library - low level primitives and utilities
      • 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-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)

Roadmap

  • See Roadmap page for more details

Documentation

Contributing Guidelines

Development & Testing

  • Basic configure scripts that invoke cmake are provided in project root.

Breaking Changes

Breaking the API is sometimes inevitable, what to do?

Support & Funding

  • AsmJit project has both community and commercial support, see AsmJit's Support Page
  • If you use this software commercially, please see the Funding Page and support the development

Notable Donors List:

Authors & Maintainers