タグ

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

  • 雑把の仮想マシン(JVM, .NET, BEAM, スクリプト言語, LLVM) | プログラマーズ雑記帳

    今回は JVM, .NET といった仮想マシン(VM)についての記事です。 最初、 .NET と仮想マシンの説明のスライドを作っていたのですが、 最近 JVM と BEAM を少し調べて興味がでてきたので、合わせて VM の話としました。 そうすると今度は、スクリプト言語や LLVM の話も外せないなと思って足したら、結構な大作になってしまいました。 JVM に絞った話では、以下の記事にも説明を書いているので、こちらもご覧ください。 JDK のインストール(Windows)と Java 関連用語の説明 | プログラマーズ雑記帳 スライド版です。 ここからブログ版です。 はじめに 仮想マシンといっても、 OS のエミュレーターのようなものではなく、 JVM といったプロセス仮想マシンについてのお話です。 JVM 、 .NET Framework など最近、この仮想マシン(VM)のシェアが大幅

  • 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を解説

    Javaでコンパイラを書くと大きな利点がいくつかあるとわかる。次のようなことだ。 コンパイラエンジニアが新規に加わる際のハードルが非常に低くなる。 コンパイラにおいてメモリ安全になる。 コンパイラ開発で成熟したJavaのツール群を活用できる。 新しいコンパイラ機能のプロトタイプをより早く作れる。 コンパイラがHotSpotから独立したものとなる。 コンパイラが自分自身をコンパイルでき、自分自身のより速いJITコンパイルされたバージョンを生成できる。 Graalは新しいJVMコンパイラインタフェース (JVMCI) を使っている。これはHotSpotにプラグインできるようJEP 243として提供されているが、GraalVMの主要な部分としても使われている。この技術はもう存在しており、現時点でリリースされているが、Java 10ではまだかなり実験的な技術である。次のようにすると新しいJITコン

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