Saltar al contenido
← Volver a proyectos

Asmjit

Low-latency machine code generation

#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

#Building & Development

  • AsmJit has no dependencies
  • For quick project generation, use configure.sh or configure_vs... scripts
  • For common presets, inspect CMakePresets.json and invoke them as cmake --preset xxx - that's enough to start as presets are configured to build tests by default

#Documentation

#Contributing Guidelines & AI

  • See CONTRIBUTING page for more details about contributing to the project
  • Usage of AI in AsmJit is permitted with the following restrictions:
    • Each line generated by AI must be manually verified and reviewed
    • Code written by AI must be compatible with the rest of the library in terms of quality and conventions
    • Using AI tools to scan AsmJit to find bugs and vulnerabilities is welcome, but bug reports should never be automatically generated

#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
  • Visit our Public Chat if you need a quick help

#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

Amun

por star Aplicación

A Statically typed, compiled general purpose low level programming language built using C++ and LLVM Infrastructure framework designed to be simple and fast

84 MIT

Nueva versión disponible.