2016-04-12 4 views

答えて

9

のHotSpot JITインライン化ポリシーをインライン化する方法の35

最大バイトコードサイズがかなり複雑です。呼び出し側メソッドサイズ、呼び出し先メソッドサイズ、IRノード数、インライン深度、呼び出しカウント、呼び出しサイト数、スローカウント、メソッドシグネチャなど、多くのヒューリスティックが含まれます。

アクセサメソッド(ゲッタ/セッタ)では、簡単なメソッド(バイトコード数が6未満)の場合

関連ソースコードのほとんどはbytecodeInfo.cppです。
InlineTree::try_to_inlineshould_inlineshould_not_inlineの機能を参照してください。インライン化を制御するため

メインJVMフラグが

-XX:MaxInlineLevel (maximum number of nested calls that are inlined) 
-XX:MaxInlineSize (maximum bytecode size of a method to be inlined) 
-XX:FreqInlineSize (maximum bytecode size of a frequent method to be inlined) 
-XX:MaxTrivialSize (maximum bytecode size of a trivial method to be inlined) 
-XX:MinInliningThreshold (min. invocation count a method needs to have to be inlined) 
-XX:LiveNodeCountInliningCutoff (max number of live nodes in a method) 
2
+0

も参照してくださいhttp://www.oracle.com/technetwork/articles/java/vmoptions-jsp-140102.htmlある –

+0

もGoogleの「JavaのJITを参照してください。コンパイラオプションインライン " –

+0

@Louis Wassermanありがとう。私はそれについて知っている。私は "MinAutoInlineSize"のようなものがあると思ったが、間違っていると思う。 – Stuart

関連する問題