2012-02-10 64 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