Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

What happens when we run a julia-lang script?

In my understanding, julia is a script language with a JIT compiler. But in java, you can find *.class files; In python, you can find *.pyc files. This means java and python need first convert its language to bytecode, then using VM to run this bytecode. However, I can not find the bytecode files for julia like *.jlc. Any ideas?

like image 239
Xing Shi Avatar asked Oct 01 '22 12:10

Xing Shi


1 Answers

Actually there is functionality to dump the LLVM bitcode in Julia:

See jl_dump_bitcode.

Thanks to Isiah for pointing out that it is possible to use code_llvm to read the bitcode in the interpreter.

Note that in julia_trampoline this function is used, depending on a build_path option. However this does not seem like an end-user interface to me.

In contrast to other JIT-based software like NodeJS (V8), it is however technically possible to dump the LLVM bitcode.

like image 157
Uli Köhler Avatar answered Oct 11 '22 22:10

Uli Köhler