luavela/luavela

Implementation of Lua 5.1, originally a fork of LuaJIT 2.0

C

287

162 commits

updated Jul 23, 2026

See the code

README

README for LuaVela (codename uJIT)
----------------------------------

.. |linux-badge| image:: https://github.com/luavela/luavela/actions/workflows/linux.yml/badge.svg
.. |macos-badge| image:: https://github.com/luavela/luavela/actions/workflows/macos.yml/badge.svg
.. |lint-badge| image:: https://github.com/luavela/luavela/actions/workflows/lint.yml/badge.svg
.. |docs-badge| image:: https://readthedocs.org/projects/ujit/badge/?version=latest
                :target: https://ujit.readthedocs.io/en/latest/?badge=latest

|linux-badge| |macos-badge| |lint-badge| |docs-badge|

LuaVela is an interpreter and a Just-In-Time (JIT) compiler for the Lua
programming language.

Project Homepage: https://github.com/luavela/luavela

LuaVela is Copyright (C) 2020-2026 LuaVela Authors. See Copyright Notice in COPYRIGHT

LuaVela was previously called "uJIT" internally. The developers of LuaVela use
"uJIT", "ujit" and "uj"/"UJ" prefixes in a code base.

The team has given a number of talks (in English or Russian) about the project:

- (RU) `LuaJIT as a Foundation for an Application Server <http://www.highload.ru/2016/abstracts/2304.html>`_, by Igor Ehrlich;
- (EN) `Challenges Building Yet Another Lua Implementation <http://lua.moscow/conf/2017-03-LuaInMoscow/index.html#soldatov>`_, by Anton Soldatov;
- (RU) `The Tracing JIT Compiler Peculiarities <https://youtu.be/SeGK_NxmWOk>`_, by Anton Soldatov;
- (RU) `Adding New Features to an Implementation of Lua <https://youtu.be/IUtJJhQSLek?t=5548>`_, by Anton Soldatov;
- (EN) `Rewriting LuaJIT: Why and How <https://www.lua.org/wshop18/Soldatov.pdf>`_, by Anton Soldatov (only slides are available at the time of writing);
- (RU) `Working on a Stability of Our Implementation of Lua <https://www.youtube.com/watch?v=0MmDdTDql5E>`_, by Anton Soldatov;
- (EN) `Challenges of ‘pairs’ and ‘next’ JIT compilation <https://youtu.be/vr3kpEvUxMo>`_, by Maxim Bolshov.

LuaVela is a fork of LuaJIT, the README for LuaJIT is below.

README for LuaJIT 2.0.5
-----------------------

LuaJIT is a Just-In-Time (JIT) compiler for the Lua programming language.

Project Homepage: http://luajit.org/

LuaJIT is Copyright (C) 2005-2017 Mike Pall.
LuaJIT is free software, released under the MIT license.
See full Copyright Notice in the COPYRIGHT file or in luajit.h.

Documentation for LuaJIT is available in HTML format.
Please point your favorite browser to:

 doc/luajit.html

Not written in Markdown, so it's shown here as plain text — view it formatted on GitHub.

Contributors

igormunkin

82 commits

igelhaus

72 commits

keeprocking

3 commits

ivbondarev

2 commits

luavela/luavela

Implementation of Lua 5.1, originally a fork of LuaJIT 2.0

C

287

162 commits

updated Jul 23, 2026

See the code

README

README for LuaVela (codename uJIT)
----------------------------------

.. |linux-badge| image:: https://github.com/luavela/luavela/actions/workflows/linux.yml/badge.svg
.. |macos-badge| image:: https://github.com/luavela/luavela/actions/workflows/macos.yml/badge.svg
.. |lint-badge| image:: https://github.com/luavela/luavela/actions/workflows/lint.yml/badge.svg
.. |docs-badge| image:: https://readthedocs.org/projects/ujit/badge/?version=latest
                :target: https://ujit.readthedocs.io/en/latest/?badge=latest

|linux-badge| |macos-badge| |lint-badge| |docs-badge|

LuaVela is an interpreter and a Just-In-Time (JIT) compiler for the Lua
programming language.

Project Homepage: https://github.com/luavela/luavela

LuaVela is Copyright (C) 2020-2026 LuaVela Authors. See Copyright Notice in COPYRIGHT

LuaVela was previously called "uJIT" internally. The developers of LuaVela use
"uJIT", "ujit" and "uj"/"UJ" prefixes in a code base.

The team has given a number of talks (in English or Russian) about the project:

- (RU) `LuaJIT as a Foundation for an Application Server <http://www.highload.ru/2016/abstracts/2304.html>`_, by Igor Ehrlich;
- (EN) `Challenges Building Yet Another Lua Implementation <http://lua.moscow/conf/2017-03-LuaInMoscow/index.html#soldatov>`_, by Anton Soldatov;
- (RU) `The Tracing JIT Compiler Peculiarities <https://youtu.be/SeGK_NxmWOk>`_, by Anton Soldatov;
- (RU) `Adding New Features to an Implementation of Lua <https://youtu.be/IUtJJhQSLek?t=5548>`_, by Anton Soldatov;
- (EN) `Rewriting LuaJIT: Why and How <https://www.lua.org/wshop18/Soldatov.pdf>`_, by Anton Soldatov (only slides are available at the time of writing);
- (RU) `Working on a Stability of Our Implementation of Lua <https://www.youtube.com/watch?v=0MmDdTDql5E>`_, by Anton Soldatov;
- (EN) `Challenges of ‘pairs’ and ‘next’ JIT compilation <https://youtu.be/vr3kpEvUxMo>`_, by Maxim Bolshov.

LuaVela is a fork of LuaJIT, the README for LuaJIT is below.

README for LuaJIT 2.0.5
-----------------------

LuaJIT is a Just-In-Time (JIT) compiler for the Lua programming language.

Project Homepage: http://luajit.org/

LuaJIT is Copyright (C) 2005-2017 Mike Pall.
LuaJIT is free software, released under the MIT license.
See full Copyright Notice in the COPYRIGHT file or in luajit.h.

Documentation for LuaJIT is available in HTML format.
Please point your favorite browser to:

 doc/luajit.html

Not written in Markdown, so it's shown here as plain text — view it formatted on GitHub.

Contributors

igormunkin

82 commits

igelhaus

72 commits

keeprocking

3 commits

ivbondarev

2 commits

Languages

C

56.6%

Lua

36.0%

Perl

3.0%

CMake

2.6%