A VM That is Dynamic and Fast
MiniVM is a Small but Optimizing Virtual Machine and Runtime.
It has a just-in-time compiler based on Cuik's TB.
Currently it supports Linux x86-64, FreeBSD amd64, Windows x64 and WebAssembly.
MiniVM is written in C11 with (minor GNU extensions), and builds with GCC and Clang, with TCC support not hard to patch in.
MiniVM uses GNU Make as it's build system.
You'll need
git clone github.com/FastVM/minivm --recursivegit submodule update --initHere's some Shell Commands to build MiniVM different ways
make -Bj OPT='-g'make -Bj CC=gcc OPT='-s -Oz -flto -fno-asynchronous-unwind-tables -fomit-frame-pointer'make -Bj OPT='-O3 -flto'Here's some benchmark runs, they aren't too representative yet.
shell> ./build/bin/minivm --dump-time test/fib/fib40.lua
102334155
took: 1725.805msshell> ./build/bin/minivm --dump-time -e 'print("hello world")'
Hello, World
took: 0.307msNo open issues yet, or sync has not completed.