当我们运行julia-lang脚本时会发生什么?

时间:2014-02-21 20:28:50

标签: bytecode jit julia

根据我的理解,julia是一种带有JIT编译器的脚本语言。但是在java中,你可以找到*.class个文件;在python中,您可以找到*.pyc个文件。这意味着java和python首先需要将其语言转换为字节码,然后使用VM来运行此字节码。但是,我找不到julia的字节码文件,如*.jlc。有什么想法吗?

2 个答案:

答案 0 :(得分:3)

实际上有一些功能可以在Julia中转储LLVM bitcode:

请参阅jl_dump_bitcode

感谢Isiah指出可以使用code_llvm来读取解释器中的bitcode。

请注意,在julia_trampoline中使用此功能,具体取决于build_path选项。然而,这对我来说似乎不是最终用户界面。

与NodeJS(V8)等其他基于JIT的软件相比,技术上可以转储LLVM bitcode。

答案 1 :(得分:0)

手册中涵盖了这一点:http://docs.julialang.org/en/release-0.5/devdocs/eval/

Leah Hanson撰写了一篇精彩的文章here,介绍Julia执行的从Julia代码到本地汇编代码的5个步骤: