研发中

LuaTier

分层混合执行的现代 Lua 运行时

从零用 C++17 重写,支持 Lua 5.3+。提供字节码解释器、离线 AOT 编译与可选 tracing JIT——不是历史 LuaJIT 的衍生。

Lua 5.3+
语言版本
C++17
从零实现
三级
解释 / AOT / JIT
MIT
开源协议

执行架构

分层混合执行:默认解释,热点可离线 AOT,并预留 tracing JIT。

📜

字节码解释器

前端完成词法、语法、语义与 LBC 下降;VM 执行自定义字节码,并提供 Lua 兼容 C API。

🛠️

离线 AOT

可将热点函数离线编译,降低解释开销,适合发布期固化性能路径。

🔥

Tracing JIT

热度、内联缓存、baseline / opt / deopt 脚手架已就位,JIT 为可选能力。

🧪

差分测试

单元测试之外,用 oracle 与 Lua 5.3.6 对照,并提供 GC / deopt / IC 压力开关。

🧱

运行时与 GC

自研 TValue、string、table、closure、upvalue,以及增量 mark-sweep GC。

🌱

非 LuaJIT 分支

代码与历史 LuaJIT 无派生关系,按现代 C++17 与冻结架构契约重新实现。

仓库结构

架构契约冻结在 docs/spec,实现按模块拆分。

路径
模块
说明
src/frontend/
前端
lexer、parser、AST、sema、LBC lowering
src/vm/
虚拟机
字节码、解释器、状态、内建
src/runtime/
运行时
TValue、string、table、closure、upvalue
src/gc/
GC
增量 mark-sweep
src/jit/
JIT
热度、IC、baseline / opt / deopt
src/api/
API
Lua 兼容 C API

当前定位

项目仍在积极开发。可本地构建运行 CLI,并与 Lua 5.3.6 做差异测试与基准。

CMake + CTestvs Lua 5.3.6 基准docs/spec 架构契约MIT

关注 LuaTier

从源码构建,或在 GitHub 上跟踪路线图与基准报告。