ltratt / yklua

yk-enabled Lua interpreter

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Yk-enabled Lua

This is the reference Lua interpreter with the Yk JIT retrofitted.

This is experimental!

Build

GNU make is required.

Run:

export PATH=/path/to/yk/bin:${PATH} # local path to https://github.com/ykjit/yk/blob/master/bin/yk-config (yk needs to be compiled)
export YK_BUILD_TYPE=<debug|release>
make -j "$(nproc)"

Run

./src/lua -e "print('Hello World')" # execute program passed in as string
./src/lua ./tests/utf8.lua # execute lua program file
./src/luac ./tests/utf8.lua -o ./utf8.out # translates lua programs into Lua bytecode

Test

Make sure to build the project first.

cd tests # navigate to tests directory
../src/lua -e"_U=true" db.lua # run single file
../src/lua -e"_U=true" all.lua # run complete test suite (Currently failing)

Docker

run_docker_ci_job # local path to https://github.com/softdevteam/buildbot_config/blob/master/bin/run_docker_ci_job

Debugging

Use LYK_VERBOSE environment variable to print LYK (lua yk) debug logs:

LYK_VERBOSE=1 gdb --batch -ex 'r' -ex 'bt' --args ../src/lua all.lua 
LYK_VERBOSE=1 ../src/lua all.lua 
LYK_VERBOSE=1 sh ./test.sh

State of Tests

Test Status Issue
api.lua Working
bwcoercion.lua Working
closure.lua Working
code.lua Working
events.lua Working
gengc.lua Working
goto.lua Working
pm.lua Working
tpack.lua Working
tracegc.lua Working
vararg.lua Working
cstack.lua Working
locals.lua Working
files.lua Failing issue
literals.lua Working issue
db.lua Failing issue
attrib.lua Failing issue
bitwise.lua Failing issue
strings.lua Failing issue
calls.lua Failing issue
constructs.lua Failing issue
errors.lua Failing issue
math.lua Failing issue
sort.lua Failing issue
nextvar.lua Failing issue
gc.lua Failing issue
utf8.lua Failing issue
big.lua Failing issue
coroutine.lua Failing issue
heavy.lua Failing issue
verybig.lua Failing issue
main.lua Failing issue
all.lua Failing issue

About

yk-enabled Lua interpreter


Languages

Language:C 67.2%Language:Lua 31.6%Language:Makefile 0.9%Language:Shell 0.3%Language:C++ 0.0%