私はJITがgetter(約5バイト)のような小さなメソッドを自動的にインラインすると聞いています。境界は何ですか? JVMフラグはありますか?JITはいつ自動的にインラインメソッドですか?
4
A
答えて
9
のHotSpot JITインライン化ポリシーをインライン化する方法の35
最大バイトコードサイズがかなり複雑です。呼び出し側メソッドサイズ、呼び出し先メソッドサイズ、IRノード数、インライン深度、呼び出しカウント、呼び出しサイト数、スローカウント、メソッドシグネチャなど、多くのヒューリスティックが含まれます。
アクセサメソッド(ゲッタ/セッタ)では、簡単なメソッド(バイトコード数が6未満)の場合
関連ソースコードのほとんどはbytecodeInfo.cppです。
InlineTree::try_to_inline
、should_inline
、should_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
関連する問題
- 1. HttpContext.Current.Cache - これはいつ自動的にクリアされますか?
- 2. CodeIgniterでは、自動的に
- 3. は自動的に
- 4. データアクセスオブジェクトまたはインラインメソッド
- 5. Longlistselectorは自動的に自動更新されますか?
- 6. 承認ヘッダーはいつブラウザから自動的に送信されますか?
- 7. ビューは自動的に膨らんでいますか?
- 8. は自動的
- 9. は自動的
- 10. は自動的
- 11. は自動的
- 12. asp.net:子コントロールのVisibleプロパティはいつ自動的に設定されますか?
- 13. デフォルトで見つかったタグに自動的にナビゲートする方法は?
- 14. Webクライアントは、自動的に
- 15. は自動的にサイズ
- 16. は自動的にHttpRequestValidationException
- 17. モデルは、自動的にユニットテスト
- 18. メイクファイルは自動的に
- 19. は自動的にMeteor.js
- 20. は、自動的に別の
- 21. IValidatableObjectインターフェイスで自動的にDataAnnotations検証を自動的に行うことはできますか?
- 22. TFSは自動的に古いバージョンのファイルを自動的に削除しますか?
- 23. Gsonは自動的
- 24. 強制的にコンピュータを自動的に起動しますか?
- 25. 2つの列を自動的に塗りつぶす
- 26. RecognitionListener.onError()は自動的にSpeechRecognizer.cancel()を行いますか?
- 27. JavaはいつJITコンパイラを取得しましたか?
- 28. 自動的にバーコードスキャナ
- 29. 2つのボタンを自動的にクリックしてください
- 30. サービスを自動的にアンドロイドで再起動するには?
も参照してくださいhttp://www.oracle.com/technetwork/articles/java/vmoptions-jsp-140102.htmlある –
もGoogleの「JavaのJITを参照してください。コンパイラオプションインライン " –
@Louis Wassermanありがとう。私はそれについて知っている。私は "MinAutoInlineSize"のようなものがあると思ったが、間違っていると思う。 – Stuart