2012-02-10 65 views
2

是否有命令行参数来增加Hotspot将编译的Java方法的最大大小(从8000个字节码)?Java Hotspot命令行参数用于增加Java方法的最大大小

+0

你能解释一下语境? – kosa 2012-02-10 22:03:12

+0

基本上我正在编写一个来自其他语言的交叉编译器,目前得到的方法仍然很臃肿(有时超过50,000个字节码),但是我想获得热点编译时的速度,并查看什么样的代码热点我正在使用的结构的输出。 – user1203021 2012-02-10 22:09:57

+0

这里可能没有太多有用的信息。 HotSpot喜欢使用小型方法 - 所以试图用大型方法来做到这一点可能并不能说明问题。 – kittylyst 2012-03-13 14:39:55

回答

3

您可能需要下载sources并为此构建调试标志(我不确定)。

java -XX:+UnlockDiagnosticVMOptions -XX:-DontCompileHugeMethods

更多信息,可以发现here

如果你下载我想大多数的(几百个)的标志可以找到源.. hotspot/src/share/vm/runtime/arguments.cpp

hotspot/src/share/vm/runtime/globals.cpp

+0

谢谢。我不是在寻找内联方法的最大尺寸,而是寻找由热点编译的方法的最大尺寸,默认为8000。我无法在这两个文件中找到它,但我对这种选项存在模糊的记忆。 – user1203021 2012-02-10 22:52:55

+0

啊,对不起,我没有仔细阅读:)祝你好运狩猎它的源文件:) – 2012-02-10 22:54:43

+0

我发现它...... -XX:-DontCompileHugeMethods – user1203021 2012-02-10 22:57:12