【发布时间】:2012-06-26 16:57:43
【问题描述】:
我可以创建一个 JIT 编译器,在运行时将代码编译为机器代码,这样我在创建语言时就不需要虚拟机了吗?
【问题讨论】:
-
你可能对LLVM感兴趣。
标签: java jit aot vm-implementation
我可以创建一个 JIT 编译器,在运行时将代码编译为机器代码,这样我在创建语言时就不需要虚拟机了吗?
【问题讨论】:
标签: java jit aot vm-implementation
您可以创建一个从字节码到本机代码的编译器,但这与 JVM 的 JIT 完全不同,它使用运行时统计信息来决定如何编译某些字节码,甚至在条件发生变化时重新编译相同的代码。
存在现有的字节码到本机编译器。谷歌为它。例如,GCJ。
【讨论】:
您可以在 JVM 之外将 Java 字节码编译为本机代码。 GCJ 是一个示例,另一个是用于在 JNode 中准备启动映像的编译器。但是,以这种方式工作(或使用)的编译器是 Ahead Of Time 编译器,而不是 Just In Time 编译器。
【讨论】: