LuaJIT 正在参加 2021 年度 OSC 中国开源项目评选,请投票支持!
LuaJIT 在 2021 年度 OSC 中国开源项目评选 中已获得 {{ projectVoteCount }} 票,请投票支持!
2021 年度 OSC 中国开源项目评选 正在火热进行中,快来投票支持你喜欢的开源项目!
2021 年度 OSC 中国开源项目评选 >>> 中场回顾
LuaJIT 获得 2021 年度 OSC 中国开源项目评选「最佳人气项目」 !
授权协议 MIT/X
开发语言 Lua 查看源码 »
操作系统 Linux
软件类型 开源软件
所属分类 开发工具编译器
开源组织
地区 不详
投 递 者 红薯
适用人群 未知
收录时间 2010-03-05

软件简介

LuaJIT:采用C语言写的Lua的解释器的代码

LuaJIT is a Just-In-Time Compiler for the Lua* programming language.

LuaJIT试图保留Lua的精髓--轻量级,高效和可扩展.
功能
所有的函数缺省会被JIT(即时编译器)编译到本地机器码:
* 没有被使用的函数不会被编译.
* 可以选择性打开和关闭即时编译函数,子函数甚至整个模块.
* 需要解析的函数(译注:即没有被编译的函数)和编译过的函数可以自由的混合使用.
预编译(Ahead-of-time AOT)也是被支持的:
* 一些API函数和命令行选项允许用户全盘控制编译过程
这个即时编译器是可扩展的:
* 优化器是一个外部模块可以附着在编译器流水线上.
* 一些模块提供了关于编译过程的跟踪和调试信息.
* 所以这些功能可以通过命令行参数来激活.

LuaJIT被设计成全兼容Lua 5.1.她接受同样的源代码和/或预编译字节码.她支持所有标准语言语义.特别是:
* 支持所有标准类型,操作符和元方法.
* 隐式类型强制转换(number/string).
* 完全 IEEE-754 语义浮点算法(NaN, +-Inf, +-0, ...).
* 完全支持词法闭包.正确的尾调用不会消耗栈帧(译注:栈空间).
* 异常是精确的.回溯追踪工作的很好.
* 通过CoCo提供协程支持.(译注:一点兼容性问题 )
* 没有改变Lua 5.1的增量垃圾收集器.
* 没有改变标准Lua/C API.
* 动态加载的C模块保持和Lua 5.1一样链接兼容性(同样的ABI 抽象二进制接口).(译注:基本不用重新编译老的Lua模块,但是仍然偶遇兼容性问题).
* LuaJIT可以像Lua那样嵌入到一个应用程序里.
一些次要的不同点和调试有关:
* 调试钩子只在调试代码生成使能时调用
* 在JIT编译过的代码中不支持尾调用计数.HOOKTAILRET 也不会被调用.注意: 除非你写Lua调试器,否则这些对你没有影响.

展开阅读全文

代码

的 Gitee 指数为
超过 的项目

评论

点击加入讨论🔥(1) 发布并加入讨论🔥
发表了资讯
2017/05/02 07:52

LuaJIT 2.0.5 和 2.1.0-beta3 发布,Lua 编译器

LuaJIT 2.0.5 和 2.1.0-beta3 发布了。LuaJIT 是采用 C 语言写的 Lua 的解释器的代码。 更新内容: 2.0.5 版本主要修复了 2.0.4 版本中的 bug: 为 MSVC 2015 stdio 添加解决方法。 限制 mcode 分配探测,具体取决于可用的池大小。 在 mcode 分配中修复过度限制的范围计算。 在解析器中修复 out-of-scope goto 处理。 删除内部 __mode =“K”,并用安全检查替换。 详情查看 和 下载地址 2.1.0-beta3 除了各种修复之外,主要的新...

8
10
发表了资讯
2014/03/13 00:00

LuaJIT 2.0.3 稳定版发布,Lua 编译器

LuaJIT 2.0.3 发布,此版本是目前最新的稳定版本。更新内容如下: 添加了 PS4 移植 Add support for multilib distro builds. Fix OSX build. Fix MinGW build. Fix Xbox 360 build. Improve ULOAD forwarding for open upvalues. Fix GC steps threshold handling when called by JIT-compiled code. Fix argument checks for math.deg() and math.rad(). Fix jit.flush(func|true). Respect jit.off(func) when returning to...

6
17
发表了资讯
2013/09/12 00:00

LuaJIT 2.1 Profiler 发布

LuaJIT 2.1 的 git 仓库中已经提供了一个集成的低开销的统计的 Profiler 。详细介绍请看这里。 下面是一些使用的例子: $ luajit -jp spectralnorm.lua 4000 53% A 24% Av 23% Atv $ luajit -jp=s spectralnorm.lua 4000 53% A <- 50% Av <- 50% Atv 24% Atv <- 100% AtAv 23% Av <- 100% AtAv $ luajit -jp=l2 spectralnorm.lua 4000 33% spectralnorm.lua:21 < spectralnorm.lua:28 33% spectralnorm....

0
7
发表了资讯
2012/11/13 00:00

LuaJIT 2.0 正式版发布,Lua 编译器

LuaJIT 2.0 正式版发布了,下载地址:LuaJIT-2.0.0.tar.gz , LuaJIT-2.0.0.zip LuaJIT:采用C语言写的Lua的解释器的代码 LuaJIT is a Just-In-Time Compiler for the Lua* programming language. LuaJIT试图保留Lua的精髓--轻量级,高效和可扩展.

8
12
发表了资讯
2012/10/17 00:00

LuaJIT-2.0.0-beta11 发布,C写的Lua解释器

LuaJIT-2.0.0-beta11 发布了,该版本修复了很多bug,同时也有不少新特性,值得关注的有: ARM VFP and ARM hard-float EABI (armhf) support (sponsored work). PS3 port. New optimizations, e.g. allocation sinking (sponsored work). Various features from Lua 5.2, e.g. goto and labels. Reorganized build system. LuaJIT:采用C语言写的Lua的解释器的代码 LuaJIT试图保留Lua的精髓--轻量级,高效和可扩展. 功能 所有的函...

4
5
没有更多内容
加载失败,请刷新页面
点击加载更多
加载中
下一页
发表了博客
{{o.pubDate | formatDate}}

{{formatAllHtml(o.title)}}

{{parseInt(o.replyCount) | bigNumberTransform}}
{{parseInt(o.viewCount) | bigNumberTransform}}
没有更多内容
暂无内容
发表了问答
{{o.pubDate | formatDate}}

{{formatAllHtml(o.title)}}

{{parseInt(o.replyCount) | bigNumberTransform}}
{{parseInt(o.viewCount) | bigNumberTransform}}
没有更多内容
暂无内容
暂无内容
1 评论
91 收藏
分享
OSCHINA
登录后可查看更多优质内容
返回顶部
顶部