5

我正在尝试在浏览器中运行现有的 C 项目而不依赖插件/插件/等。源为 3MB,生成的编译位码(llvm-link)为 3.5M。

使用 lli 运​​行 bitcode 时,内存使用量约为 150MB,与编译本机 ELF 二进制文件并运行它时相同。

Emscripten (-O2 --closure 0) 将位码编译为 24MB .js 文件,当使用 Node.js 运行该文件时,我的内存不足(顶部显示大约 2GB 的内存使用)。

正如 jslinux 演示所示,应该可以解释本机代码。可以说,以可接受的性能解释编译的位码应该更容易。我的问题是是否有任何项目试图在 javascript 中解释 LLVM IR(而不是将 IR 翻译为 javascript,如 Emscripten、mandreel 和其他人所做的)。

4

0 回答 0