Table of Contents
- 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.
- Python
- Numba - NumPy aware dynamic Python compiler using LLVM
- Julia
- Lua
- LuaJIT - An extremely fast Lua Just-in-Time compiler and interpreter.
- 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.
- LuaJIT Remake - A LuaJIT Remake that leverages new techniques like "Copy & Patch" JIT and an interpreter generated by the semantical description of LuaJIT Bytecodes.
- 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 - Javascript engine written in object Pascal.
- Higgs - Javascript engine written in D. Made by Maxime Chevalier-Boisvert, the same fella who participated in YJIT cited below.
- Ruby
- Topaz
- MJIT
- YJIT - A new Ruby JIT Compiler written in Rust by Shopify.
- JRuby
- TruffleRuby
- Smalltalk
- Prolog
- Racket
- Erlang
- BEAMJIT
- 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
- llvmlite - A lightweight LLVM python binding for writing JIT compilers
- pygccjit - Python bindings for libgccjit
- gccjit - Rust bindings to libgccjit
- 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
- [2003] A Brief History of Just-In-Time
- [2010] OCamlJIT 2.0 - Faster Objective Caml
- [2015] Pycket: A Tracing JIT For a Functional Language
- [2015] Making an Embedded DBMS JIT-friendly
- [2021] Copy-and-Patch Compilation: A fast compilation algorithm for high-level languages and bytecode
- PostgreSQL
src/backend/jit
- SQlite
- QBE - written in C, similar to LLVM but much smaller
- QBE (Rust) - Rust implementation of QBE's IR
- discussion