GraalVM における universe とは

GraalVM の Native Image に関するソースコードを読んでいるとよく目にする universe という単語。以下の通りバイナリ生成時のメッセージにも登場しているのだけれど、最初は何のことなのかまったくわからなかった。 ...

2024-10-31

GraalVM のバイナリ生成プロセスをデバッグ実行する

GraalVM によるバイナリ生成がどのように行われているのかを調べるうえで動かしながら確認するということがしたくなってくる。そこで今回はバイナリ生成プロセスのデバッグ実行方法についてまとめる。 ...

2024-10-24

native-image ファイルの正体 - GraalVM

GraalVM をビルドすると生成される native-image ファイル。このファイルを実行することでバイナリファイルを生成することができるが、native-image ファイル自身はどのように生成されているのだろうか。native-image を生成するためにも自身のバイナリ生成機能を使っている? コンパイラ自身はどのようにコンパイルされているのか的な。 ...

2024-10-17

GraalVM の Issue を追ってみる

GraalVM の挙動を深掘りするにあたり何かとっかかりがあったほうがやりやすいと思い、手ごろな Issue がないか漁ってみたところ見つけたのがこちら。10/5現在まだ解決されていない。 ...

2024-10-05

GraalVM をビルドする

最近 GraalVM に興味があり、ここ1、2週間ほどいろいろ触ってみている。ここ数年仕事で Java を使っているというのと自分がもともと低いレイヤーの技術、ソフトウェアに興味があるので趣味で触る題材としてちょうどよさそうというのが興味を持ったきっかけである。とはいえ興味があるのは GraalVM を使って何ができるかではなく、GraalVM 自体がどのように動いているのか、その仕組みについてである。GraalVM を使ってネイティブバイナリをビルドしてみた的な話題はよく見かけるが GraalVM 自体の動きなどについての話は多くは見かけないので自分用のメモがてら残しておく。今回は GraalVM のビルドについて。なお、GraalVM には大きく分けて JIT compiler, Native Image, 多言語プログラミング対応の3つの機能があるが、Native Image 機能に最も興味があるため今後は主に Native Image について記載していく。 ...

2024-09-28