fesily

Results 39 comments of fesily

我粗看了这个jit实现,说的不对,欢迎作者批评. 这个JIT可以说说纯粹翻译成C调用Lua API,本质上去掉了VM的指令派发,其他应该跟原生的无任何差别. 这个工作15年前有人做过[lua2c](http://lua-users.org/wiki/LuaToCee),结论是不会有太大的提升. 我不知道作者的最大7倍提升的benchmark是什么. 因为编译器根本不理解动态语言. 建议你直接换luajit. 不过作者做的NOGC还是很好的优化点,尤其是在大量使用不变lua配置的环境下

c2mir_compile不就是将C语言JIT吗? 这个工作流程我看了一下,就是直接翻译字节码到LUA C API,最后拼装了一份C的代码,扔进MIR编译一下. 本质上不就是去掉了VM的字节码派发吗,难道还有其他优化么,麻烦指出来.我可能遗漏了. 这种方式其实就跟V8的Sparkplug引擎差不多,直接翻译字节码,压根不追踪代码运行状态,不做任何条件假设. 不过好歹V8的堆栈是用的机器码,不是跟lua一样用堆模拟的.

你可以看看[ravi](https://github.com/dibyendumajumdar/ravi),也是用的mir. 作者的博客今年2月[code-specialization-mir-lightweight-jit-compiler](https://developers.redhat.com/articles/2022/02/16/code-specialization-mir-lightweight-jit-compiler)动态去优化计划中,所以这个功能估计现在没有.

确定是ARM64下LUAJIT自身的问题,超出我的本事了,定位不出来,全是生成的汇编代码

At `req->on_close()` the `error_code == NGHTTP2_REFUSED_STREAM` is returned

> package_json.lua的格式全乱了 设置中保存自动format,我先添加一个pull来完成code-format的功能把现有的lua文件都format一遍

> format是个大工程,尤其是在lua 的format还不是很成熟的情况下。所以你还是先别改吧。 嗯,就先启用设置,保证以后format的结果

把我搞懵了,package_json.lua文件用的是windows的换行符号,怪不得一format整个文件变了,你是如何打算的,统一使用哪种?

> 由launcher加载调试器dll的代码也可以包含进来,这很有用。 单纯加载调试器?还是要把导入表修复的部分也加入?

> > 把我搞懵了,package_json.lua文件用的是windows的换行符号,怪不得一format整个文件变了,你是如何打算的,统一使用哪种? > > 用lf吧,我记得我的git配置是会强制转为lf的 主干上直接format成lf吧,pull里就不做这个操作了