今天有哪些免费的JIT编译器,哪个更容易使用?

时间:2011-09-24 01:17:07

标签: c jit

我将开始为一种小语言编写JIT /解释器,并希望使用今天可用的一些免费的JIT工具/库。我有什么选择(我只知道libjit,LLVM和GNU闪电),哪个更容易使用(但不是太慢)?

要求是:

  • 编译时间重要
  • 执行时间很重要,但只要使用JIT编译器就不太难了
  • 易用性很重要
  • 不需要垃圾回收。
  • 实际上,没有必要的运行时环境(我真的只想要JIT:编译到内存区域,然后获取指针并开始执行生成的代码)
  • 开发将使用pthreads在普通标准C(无C ++,无平台特定功能)中完成。

1 个答案:

答案 0 :(得分:4)

普通标准C具有良好的执行时间?你必须寻找LuaJIT(实际上dynasm是后端,但它仍然是LuaJIT的一部分),这是一个跟踪JIT编译器(其中大多数提到的是静态的)。它确实有垃圾收集,但它可以很容易地被取出或修改(有计划地对其进行快速修改),并且它具有原生FFI,因此它可以轻松地进行外部绑定(从C级别,所以你不要总是要深入了解细节。

最好的部分,它完全公共域代码,代码是文档(结构良好,很好)。