【问题标题】:Java Hotspot command line parameter to increase the maximum size of Java methodJava Hotspot命令行参数增加Java方法的最大大小
【发布时间】:2012-03-03 08:44:55
【问题描述】:

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

【问题讨论】:

  • 你能解释一下上下文吗?
  • 基本上我正在用其他语言编写一个交叉编译器,目前生成的方法仍然非常臃肿(有时超过 50,000 个字节码),但我想衡量热点编译它们时的速度,并查看我正在使用的结构的代码热点输出类型。
  • 您可能不会从此处的结果中获得太多有用的信息。 HotSpot 喜欢使用小方法 - 所以尝试使用大方法可能不会告诉你太多。

标签: java options jvm-hotspot


【解决方案1】:

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

java -XX:+UnlockDiagnosticVMOptions -XX:-DontCompileHugeMethods

更多信息可以在here找到。

如果您下载源代码,我认为大多数(数百个)标志都可以找到.. hotspot/src/share/vm/runtime/arguments.cpp

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

【讨论】:

  • 谢谢。我不是在寻找要内联的方法的最大大小,而是要通过热点编译的方法的最大大小,默认为 8000。我在这两个文件中都找不到它,但我对存在这样的选项有一个模糊的记忆。
  • 啊,抱歉我没有仔细阅读 :) 祝你好运在源文件中寻找它 :)
  • 我找到了... -XX:-DontCompileHugeMethods
  • 另外,我认为你不需要 -XX:+UnlockDiagnosticVMOptions
猜你喜欢
  • 1970-01-01
  • 2014-02-02
  • 2012-09-20
  • 2012-12-07
  • 2013-01-26
  • 2014-01-09
  • 2019-04-28
  • 2012-07-14
  • 2022-11-21
相关资源
最近更新 更多