Skip to content
astunmPublic
forked from asmjit/asmjit

About

Low-latency machine code generation

Resources

Contributing

Stars

0 stars

Watchers

0 watching

Forks

 
 

Repository files navigation

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

About

Low-latency machine code generation

Resources

Contributing

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages