Skip to content

wdv4758h/awesome-jit

master
Switch branches/tags

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?
Code

Files

Permalink
Failed to load latest commit information.
Type
Name
Latest commit message
Commit time
April 17, 2023 12:19

Awesome-JIT

Libraries

Help you implement JIT

  • AsmJit - Complete x86/x64 JIT and Remote Assembler for C++
  • DynASM
  • LibJIT
  • LLVM - MCJIT
  • LLVM - ORC - Successor to MCJIT
  • GCC - libgccjit
  • GNU lightning - a library that generates assembly language code at run-time
  • Xbyak - JIT assembler for x86(IA32), x64(AMD64, x86-64) by C++
  • sljit - a stack-less platform independent JIT compiler
  • MIR - a new JIT backend in C being developed by a Redhat GCC maintainer
  • NanoJIT - a small JIT engine originally written by Adobe for Flash
  • nj - a JIT engine written in C++ based on Eclipse OMR. Eclipse OMR is used in IBM's Java implementation, but the JIT engine is generic
  • Cranelift - A Rust powered JIT compiler for x86-64, aarch64 and s390x created by the Wasmtime team for their WASI interpreter.

Comes with JIT support

  • Python
    • Numba - NumPy aware dynamic Python compiler using LLVM

Programming Languages Implementation

  • Julia
  • Python
    • PyPy
    • Pyston - performance-oriented Python implementation built using LLVM and modern JIT techniques
    • Pyjion - JIT for Python based upon CoreCLR
  • Lua
    • LuaJIT
    • MoonJIT - Just-In-Time Compiler for the Lua Programming language. Fork of LuaJIT to continue development
    • Ravi - a derivative/dialect of Lua 5.3 with limited optional static typing and an LLVM powered JIT compiler
    • RaptorJIT - a fork of LuaJIT focused on predictably high performance.
  • JavaScript
    • V8 - High-performance Javascript and Webassembly engine developed by google around the "Sea of Nodes" concept
    • SpiderMonkey - Firefox's Javascript and Webassembly engine using the WarpMokey JIT engine
    • JavaScriptCore - High-performance Javascript and Webassembly engine developed by Apple for WebKit. Uses the B3 backend.
    • Chakra - Microsoft's JavaScript engine. Used to be the JS engine of Explorer and the early MSEdge.
    • IV - Javascript engine written in C++ that supports ECMAScript 262 5.1.
    • BESEN - Javadcript engine written in object Pascal.
  • PHP
  • Ruby
  • Lisp
  • Smalltalk
  • Prolog
  • Racket
  • Java
  • Erlang
    • BEAMJIT
  • WebAssembly
  • LLVM IR
    • Sulong - an interpreter for LLVM IR written in Java using the Truffle language implementation framework and Graal as a just-in-time (JIT) compiler
  • SOM (Simple Object Machine)
    • RPySOM - The Simple Object Machine Smalltalk implemented in RPython
    • RTruffleSOM - combining ideas from Truffle and TruffleSOM with RPython's metatracing
  • .NET
  • ZetaVM
  • Ethereum

Bindings

  • llvmlite - A lightweight LLVM python binding for writing JIT compilers
  • pygccjit - Python bindings for libgccjit
  • gccjit - Rust bindings to libgccjit

Tools

  • jitpy - Library to embed PyPy into CPython
  • RPython Toolchain - framework for producing implementations of dynamic languages
  • Truffle - Language Implementation Framework
  • JITWatch - Log analyser and visualiser for the HotSpot JIT compiler

Papers

JIT in Database

Resources

Twitter

Other Projects (Not Designed for JIT)

About

A curated list of awesome JIT frameworks, libraries, software and resources

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published