如何禁用sun jvm的内联优化?

时间:2013-03-10 23:20:14

标签: java jvm jvm-hotspot

我需要做一些实验,显示内联对我的代码的影响。有谁知道如何禁用sun jvm内联?我搜索了http://www.oracle.com/technetwork/java/javase/tech/vmoptions-jsp-140102.html并且知道-XX:InlineSmallCode = n可以控制内联候选者的阈值。那么-xx:InlineSmallCode = 0可以吗?

2 个答案:

答案 0 :(得分:5)

我会尝试-XX:MaxInlineSize=0InlineSmallCode的描述似乎有点不清楚它是否适用于所有内联。您可能还会发现此博客文章很有帮助,因为它解释了如何告诉JIT编译器打印有关内联方法的信息:

Java 7: How to write really fast Java code

我认为可能仍然存在一个例外,你无法禁用内联,而且这是完全空的方法(因为内联方法的大小仍然是0)。

答案 1 :(得分:1)

在 Java 8 中,您可以通过将选项 -XX:-Inline 传递给 JVM 来实现。