All Projects → gligneul → FastLua

gligneul / FastLua

Licence: MIT license
Lua trace JIT compiler using LLVM-C

Programming Languages

c
50402 projects - #5 most used programming language
lua
6591 projects
C++
36643 projects - #6 most used programming language

Projects that are alternatives of or similar to FastLua

halo
😇 Wholly Adaptive LLVM Optimizer
Stars: ✭ 22 (+0%)
Mutual labels:  llvm, jit
Codegen
Experimental wrapper over LLVM for generating and compiling code at run-time.
Stars: ✭ 362 (+1545.45%)
Mutual labels:  llvm, jit
dmr c
dmr_C is a C parser and JIT compiler with LLVM, Eclipse OMR and NanoJIT backends
Stars: ✭ 45 (+104.55%)
Mutual labels:  llvm, jit
adorad
Fast, Expressive, & High-Performance Programming Language for those who dare
Stars: ✭ 54 (+145.45%)
Mutual labels:  llvm, jit
Leekscript V2
A dynamically typed, compiled just-in-time programming language used in Leek Wars' AIs
Stars: ✭ 46 (+109.09%)
Mutual labels:  llvm, jit
jitmap
LLVM-jitted bitmaps
Stars: ✭ 25 (+13.64%)
Mutual labels:  llvm, jit
Easy Just In Time
LLVM Optimization to extract a function, embedded in its intermediate representation in the binary, and execute it using the LLVM Just-In-Time compiler.
Stars: ✭ 361 (+1540.91%)
Mutual labels:  llvm, jit
Batch-First
A JIT compiled chess engine which traverses the search tree in batches in a best-first manner, allowing for neural network batching, asynchronous GPU use, and vectorized CPU computations.
Stars: ✭ 27 (+22.73%)
Mutual labels:  llvm, jit
Llvm Tutorial Standalone
DEPRECATED (Use: https://github.com/llvm-hs/llvm-hs-kaleidoscope )
Stars: ✭ 38 (+72.73%)
Mutual labels:  llvm, jit
Inkwell
It's a New Kind of Wrapper for Exposing LLVM (Safely)
Stars: ✭ 732 (+3227.27%)
Mutual labels:  llvm, jit
Awesome Graal
A curated list of awesome resources for Graal, GraalVM, Truffle and related topics
Stars: ✭ 302 (+1272.73%)
Mutual labels:  llvm, jit
Jitfromscratch
Example project from my talks in the LLVM Social Berlin and C++ User Group
Stars: ✭ 158 (+618.18%)
Mutual labels:  llvm, jit
Mull
Practical mutation testing tool for C and C++
Stars: ✭ 536 (+2336.36%)
Mutual labels:  llvm, jit
Llvm Hs Examples
Examples for Haskell bindings to LLVM
Stars: ✭ 51 (+131.82%)
Mutual labels:  llvm, jit
Jfs
Constraint solver based on coverage-guided fuzzing
Stars: ✭ 215 (+877.27%)
Mutual labels:  llvm, jit
Checkedc
Checked C is an extension to C that lets programmers write C code that is guaranteed by the compiler to be type-safe. The goal is to let people easily make their existing C code type-safe and eliminate entire classes of errors. Checked C does not address use-after-free errors. This repo has a wiki for Checked C, sample code, the specification, a…
Stars: ✭ 2,692 (+12136.36%)
Mutual labels:  llvm
EffectiveSan
Runtime type and bounds-error checking for C/C++
Stars: ✭ 95 (+331.82%)
Mutual labels:  llvm
Weld
High-performance runtime for data analytics applications
Stars: ✭ 2,709 (+12213.64%)
Mutual labels:  llvm
Rellic
Rellic produces goto-free C output from LLVM bitcode
Stars: ✭ 234 (+963.64%)
Mutual labels:  llvm
muparsersse
muparsersse a math parser for windows using just in time compilations of the expression
Stars: ✭ 14 (-36.36%)
Mutual labels:  jit

FastLua

Brief

FastLua is an trace JIT compiler that works as an Lua (5.3) extension. There are only some minor modifications in the original interpreter. Currently, FastLua uses the LLVM toolchain to generate native code (there are plans to change the backend).

For further information about Lua, see https://www.lua.org.

ATENTION: This is still on development state.

Requiriments

LLVM (only tested with version 3.9)

Compilation

Run make <plataform (eg. linux)> in project root folder. The build infrastructure is the same that Lua uses.

Usage

The usage should be equal to the standard Lua interpreter. The compilation is done automatically when a hotspot is detected. Since this is still a prototype, only few instructions will be compiled. If the compilation fails, FastLua will fallback to the original interpreter and everything should work just fine.

Tests

FastLua use Lua tests and a custom test suite. Use runtests.sh to run the tests.

Benchmarks

There is also a benchmark suite. Type runbenchmarks.sh to run it.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].