All Projects → Leonardo2718 → Lua Vermelha

Leonardo2718 / Lua Vermelha

A Lua implementation with an Eclipse OMR based JIT compiler

Programming Languages

c
50402 projects - #5 most used programming language
lua
6591 projects

Labels

Projects that are alternatives of or similar to Lua Vermelha

Ravi
Ravi is a dialect of Lua, featuring limited optional static typing, JIT and AOT compilers
Stars: ✭ 798 (+776.92%)
Mutual labels:  jit
B2dpipe
2D Pipeline Compiler.
Stars: ✭ 51 (-43.96%)
Mutual labels:  jit
Cppadcodegen
Source Code Generation for Automatic Differentiation using Operator Overloading
Stars: ✭ 77 (-15.38%)
Mutual labels:  jit
Hr4r
Example project - "Hot Reloading 4 RequireJS" front-end web applications & some extra code demonstrating hot-reloading for Node.js Express servers
Stars: ✭ 28 (-69.23%)
Mutual labels:  jit
Nativejit
A C++ expression -> x64 JIT
Stars: ✭ 999 (+997.8%)
Mutual labels:  jit
Wasmjit
Small Embeddable WebAssembly Runtime
Stars: ✭ 1,063 (+1068.13%)
Mutual labels:  jit
Inkwell
It's a New Kind of Wrapper for Exposing LLVM (Safely)
Stars: ✭ 732 (+704.4%)
Mutual labels:  jit
Uefi Jitfuck
A JIT compiler for Brainfuck running on x86_64 UEFI
Stars: ✭ 83 (-8.79%)
Mutual labels:  jit
Leekscript V2
A dynamically typed, compiled just-in-time programming language used in Leek Wars' AIs
Stars: ✭ 46 (-49.45%)
Mutual labels:  jit
Jit Compiler
JIT compiler in Go
Stars: ✭ 70 (-23.08%)
Mutual labels:  jit
Parcel Plugin Angular
Complete Angular support for Parcel
Stars: ✭ 29 (-68.13%)
Mutual labels:  jit
Llvm Tutorial Standalone
DEPRECATED (Use: https://github.com/llvm-hs/llvm-hs-kaleidoscope )
Stars: ✭ 38 (-58.24%)
Mutual labels:  jit
Whale
Hook Framework for Android/IOS/Linux/MacOS
Stars: ✭ 1,128 (+1139.56%)
Mutual labels:  jit
Blend2d
2D Vector Graphics Engine Powered by a JIT Compiler
Stars: ✭ 859 (+843.96%)
Mutual labels:  jit
Beebjit
A very fast BBC Micro emulator.
Stars: ✭ 81 (-10.99%)
Mutual labels:  jit
Tinycc
Unofficial mirror of mob development branch
Stars: ✭ 784 (+761.54%)
Mutual labels:  jit
Llvm Hs Examples
Examples for Haskell bindings to LLVM
Stars: ✭ 51 (-43.96%)
Mutual labels:  jit
Luwa
WIP jit lua to wasm
Stars: ✭ 88 (-3.3%)
Mutual labels:  jit
Bfjit
Brainfuck JIT 虚拟机教程
Stars: ✭ 81 (-10.99%)
Mutual labels:  jit
Nx
Multi-dimensional arrays (tensors) and numerical definitions for Elixir
Stars: ✭ 1,133 (+1145.05%)
Mutual labels:  jit

Lua Vermelha

Build Status

Lua Vermelha is an implementation of Lua 5.3 with a Just-In-Time (JIT) compiler built from Eclipse OMR compiler technology.

It is designed to integrate into the PUC-Rio Lua virtual machine with only minor modifications done to it.

(Please note that Lua Vermelha is under active development and may be unstable and definitely is buggy)

Cloning

Lua Vermelha includes the Eclipse OMR project as a submodule so I recommend cloning this repo recursively:

$ git clone --recursive https://github.com/Leonardo2718/lua-vermelha.git

Building

Currently, the only tested and supported platform is Linux on x86-64. Support for other platforms will come later on. Until then, if you need to build Lua Vermelha on a different platform, you should be able to easily modify the makefiles manually to suit your needs.

IMPORTANT: Before JitBuilder can be built (and by extension Lua Vermelha), it's important to configure OMR for your platform (see the Eclipse OMR project page for details):

$ cd lua-vermelha/omr
$ make -f run_configure.mk SPEC=linux_x86-64 OMRGLUE=./example/glue

The top level Makefile can then be used to build the Lua Vermelha executable interpreter frontend luav.

$ cd ..     # back to `lua-vermelha/`
$ make -j4  # will recursively build JitBuilder, the JIT, the VM, and luav

Running

The luav executable can be used the same way as the PUC-Rio Lua interpreter frontend (usually lua):

$ luav           # starts REPL
$ luav file.lua  # executes the Lua script `file.lua`
$ luav luac.out  # executes compiled Lua bytecode (output of `luac`)

Licensing

Lua Vermelha has three components, each with their own licensing:

  • The (slightly) modified PUC-Rio Lua VM keeps its original license (MIT) and copy-right holders
  • The Lua Vermelha JIT compiler is distributed under two licenses:
  • The Eclipse OMR component is provided as a submodule pointing to the main project repository and is under the same licenses as the Lua Vermelha JIT
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].