我正在尝试在浏览器中运行现有的C项目,而不依赖于插件/插件/等。源为3MB,因此编译的bitcode(llvm-link)为3.5M。
使用lli运行bitcode时,内存使用量约为150MB,与编译本机ELF二进制文件并运行时相同。
Emscripten(-O2 --closure 0)将bitcode编译为24MB .js文件,当使用Node.js运行时,我的内存不足(顶部显示大约2GB内存使用)。
正如jslinux演示所示,应该可以解释本机代码。应该可以更容易地解释具有可接受性能的编译bitcode。我的问题是,是否有任何项目试图在javascript中解释LLVM IR(而不是将IR转换为javascript,如Emscripten,mandreel等)。