All Projects → serprex → Luwa

serprex / Luwa

WIP jit lua to wasm

Programming Languages

lua
6591 projects

Labels

Projects that are alternatives of or similar to Luwa

Rustpython
A Python Interpreter written in Rust
Stars: ✭ 10,261 (+11560.23%)
Mutual labels:  jit, wasm
Cranelift
Cranelift code generator
Stars: ✭ 2,485 (+2723.86%)
Mutual labels:  jit, wasm
Wasm Micro Runtime
WebAssembly Micro Runtime (WAMR)
Stars: ✭ 2,440 (+2672.73%)
Mutual labels:  jit, wasm
AheuiJIT
Aheui JIT compiler for PC and web
Stars: ✭ 27 (-69.32%)
Mutual labels:  wasm, jit
warpy
WebAssembly interpreter in RPython
Stars: ✭ 54 (-38.64%)
Mutual labels:  wasm, jit
jvm
Pure Rust implementation of the JVM 7 specification
Stars: ✭ 27 (-69.32%)
Mutual labels:  wasm, jit
Lightbeam
Lightbeam has moved and now lives in the Wasmtime repository!
Stars: ✭ 253 (+187.5%)
Mutual labels:  jit, wasm
Wasmtime
Standalone JIT-style runtime for WebAssembly, using Cranelift
Stars: ✭ 6,413 (+7187.5%)
Mutual labels:  jit, wasm
Wasmjit
Small Embeddable WebAssembly Runtime
Stars: ✭ 1,063 (+1107.95%)
Mutual labels:  jit, wasm
Wasm Template Rust
A wasm template for Rust to publish to gh-pages without npm-deploy
Stars: ✭ 76 (-13.64%)
Mutual labels:  wasm
Beebjit
A very fast BBC Micro emulator.
Stars: ✭ 81 (-7.95%)
Mutual labels:  jit
Wagi
Write HTTP handlers in WebAssembly with a minimal amount of work
Stars: ✭ 75 (-14.77%)
Mutual labels:  wasm
Pulsefft
A WebAssembly implementation of the C Fast Fourier Transform library kissFFT
Stars: ✭ 76 (-13.64%)
Mutual labels:  wasm
Bfjit
Brainfuck JIT 虚拟机教程
Stars: ✭ 81 (-7.95%)
Mutual labels:  jit
Golang Wasm
Playing around with Go wasm support
Stars: ✭ 75 (-14.77%)
Mutual labels:  wasm
Uefi Jitfuck
A JIT compiler for Brainfuck running on x86_64 UEFI
Stars: ✭ 83 (-5.68%)
Mutual labels:  jit
Awesome Web Audio
A list of resources and projects to help learn about audio
Stars: ✭ 73 (-17.05%)
Mutual labels:  wasm
Wasi Lab
Some WASI experiments 🧪☣️☠️
Stars: ✭ 72 (-18.18%)
Mutual labels:  wasm
Draw App
In browser drawing app built in rust / wasm
Stars: ✭ 87 (-1.14%)
Mutual labels:  wasm
Client
An alternative Polkadot Runtime Environment implementation acting as a full-node (excluding block production for validators) for syncing with Substrate-based chains.
Stars: ✭ 82 (-6.82%)
Mutual labels:  wasm

Build

Luwa's end goal is to JIT to WASM. Right now it's a bit of a learning environment for me as I've never written a language implementation that required real parsing

I'll try avoid my usual stream of consciousness here, instead that's at my devlog

main.js is nodejs entrypoint

WASM runtime is in rt/. rt/make.lua is luwa-agnostic macro-assembler logic. mkrt.lua produces an rt.wasm which rt.js interfaces

GC is a LISP2 compacting GC. GC performance is a low priority given WASM GC RFC. See rt/gc.lua

VM needs to be reentrant. Currently running coroutine is oluastack. Builtins which call functions work by returning after setting up a necessary callstack. See rt/vm.lua

rt/prelude.lua implements builtins which do not require hand written wasm

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].