タグ

関連タグで絞り込む (1)

タグの絞り込みを解除

JITコンパイラとJavaに関するnekoneneneのブックマーク (2)

  • Graal/Truffleについて軽く | κeenのHappy Hacκing Blog

    κeenです。これは言語実装 Advent Calendar 201714日目の記事です。 JVMのコンパイラエンジンGraalと高速インタプリタ作成フレームワークのTruffleについて。 この記事の前に昨日の記事を読んでおくと理解の助けになるかもしれません。 Graalについて 公式ページ/GitHubOracle Labで開発されているJavaのJITエンジンの1つです。 JVMのコンパイラインタフェース(JVMCI)を利用してJavaでコンパイラを書いたものです。 従来はコンパイル部分はC++で書かれてましたが曰くJavaも十分速くなったし高級で安全なJavaでコンバイラを書いてもいいだろとのこと。 この絶妙にランタイムが拡張可能でかつパフォーマンスを損なわない感じはJavaならではですね。 また、Javaで書かれているのでユーザがJavaで拡張可能でもあり、最適化や機械語生成

    Graal/Truffleについて軽く | κeenのHappy Hacκing Blog
  • Javaの新JITコンパイラ、Graalを解説

    実際、現在の設計では大幅な拡張は不可能だと広く考えられている (Twitterのような企業やCliff Clickのようなエキスパートからだ)。C2に残っている改善点はすべて、やや取るに足らないものだけとなるだろう。 最近のリリースで改善が見られた領域はJVMの組み込み関数をより利用するという部分だけであり、そのテクニックはドキュメントに記述されている (@HotSpotIntrinsicCandidateアノテーション)。これは次のようなものだ。 HotSpot VMがアノテーションを付与されたメソッドを手書きのアセンブリや手書きのコンパイラIR、すなわちパフォーマンス改善用のコンパイラ組み込み関数で置き換える場合、メソッドは強化されます。 JVMを起動すると、実行しているプロセッサが精査される。これによりJVMはそのCPUで利用可能な機能を正確に把握できるようになる。使用中のプロセッサ

    Javaの新JITコンパイラ、Graalを解説
  • 1