JDK 16以降は以下でOKです。 jcmd <PID> Compiler.perfmap perf用ですのでこのコマンドはLinuxのみです。 これはAdd diagnostic command to write Linux perf map file で入りました。 JDK 8や11などのJDK 15以前だとjcmdにこのコマンドがありません。別途perf-ma</pid>…
Zeroはインタプリタのみにするものです。macOS 14.3.1でビルドしました。 $ sh ./configure --with-jvm-variants=zero --enable-debug $ make images $ ~/jdk/build/macosx-aarch64-zero-fastdebug/jdk/bin/java -version openjdk version "23-internal" 202…
JVM Language Summit (JVMLS) 2023とOpenJDK Committers' Workshopに参加しました。場所はUSのサンタクララにあるOracle社のキャンパスです。 JVM Language Summit — August 7–9, 2023 OpenJDK Committers’ Workshop JVMLSには2018と2019に参加しています。C…
以下のページに埋め込み形式でスライドを掲載しています。 登壇資料 - Fight the Future 埋め込み形式でまとめている意図は次のようなことです。 SlideShareのサイトで閲覧した際に頻繁に広告が出るのは好ましくないという方もおられるであろうため スライド…
2022年10月18日から20日にかけて開催されたJavaOneに参加しました。17日にはJava Leaders Summitにも参加してきました。 開催場所がサンフランシスコからラスベガスへ JavaOneは2017年が最後の開催となり、2018年からOracle Code Oneにリブランドしました。 …
タイトルがすべてという感じもしますが、プルリクエストがマージされ、M1 Mac (Apple Silicon) 向けのOpenJDKをビルドできるようになりました。 github.com M1 Mac版OpenJDKは、aarch64-portというメインラインと別のリポジトリで途中まで進行していました。…
openjdk.java.net OpenJDKにはjtregのテストとgtest(GoogleTest)のテストがあるのですが、gtestの方です。ドキュメントにあるmake test-only TEST=の形式ですぐに動かせなかったので、同僚に教えてもらった他の実行方法をメモとして残します。 セットアッ…
このブログで以下のエントリを投稿していました。 www.sakatakoichi.com この中で、 サーバーで指定したJDKのバージョンと、WindowsでGUIを起動したJDKのバージョンが異なると、上記の警告が出ます。 という、リモート・デバッグ・サーバーとクライアントの…
手持ちのコアファイルがない場合は、yasuenagさんのリポジトリからすぐに作れます!! https://github.com/YaSuenag/garakuta/tree/master/NativeSEGV Linuxではあらかじめulimit -c unlimitedしてから実行してください。 デバッグ情報付きのOpenJDKビルドを…
7,8年ぶりにWindowsも使い始めました。ビルド環境として必要なのです。GraalVMのネイティブイメージ部分であるSubstrateVMをLinuxだけでなくWindowsでもビルドして確かめたいことがあり、WindowsのC++環境構築に習熟していないので悪戦苦闘しました! 基本的…
師匠から教えていただいた内容であり、私自身がいきなり気づいたわけではないのですが、OpenJDKのメーリングリストでも他の方からも教えていただいたので、自分の備忘録的にまとめます。 Javaのシンボル名に関するHotSpot VMのコードの話です。ここでのシン…
2020年3月13日に、『みんなのJava OpenJDKから始まる大変革期!』という書籍が出ます!私は、第5章で、GraalVMの入門ガイドとなる記事を書きました。 gihyo.jp GraalVMの章について この書籍は、現時点でのJavaの最新動向を、とくに今Javaでアプリケーション…
fosdem.org www.jfokus.se FOSDEMはブリュッセル(ベルギー)、Jfokusはストックホルム(スウェーデン)です。Jfokusは、2年前2018年にも参加しました。 www.sakatakoichi.com この2つのカンファレンスは、(あえて)日程がつながるようになっており、Javaを…
JVMLSの日本からの参加者で、マウンテンビューにある、コンピュータ歴史博物館に行ってきました。JVMLSの会場からは、車で15分ほどです。 Welcome | Computer History Museum 入館料は$17.50、約2,000円です。 館内に入ると、いきなり…! 我らがFather、Jame…
JVM Language Summitに参加するための、移動や宿泊の手配、食事などについて、書きます。 航空券の手配 会場は、サンタクララです。最寄りの空港は、サンノゼ空港ですが、サンフランシスコ空港から来ることもできます。 サンノゼ空港から 会場近くのホテルま…
2019/07/29-31に、JVM Language Summit(通称JVMLS)に参加しました。 期間中、メモのようなブログエントリを残しています。 www.sakatakoichi.com www.sakatakoichi.com www.sakatakoichi.com 今回、私にしては珍しく、カメラを持参して撮影したので、写真…
JVM Language Summit (JVMLS) 2019の3日目、最終日が終わりました。 1日目はこちら。 www.sakatakoichi.com 2日目はこちら。 www.sakatakoichi.com 3日目は、半日しかなく、しかもJava系のセッションはNullnessのものだけでした(要するに、どのセッションも…
JVM Language Summit (JVMLS) 2019の2日目が終わりました。 JVMLSとは、1日目に関しては、こちらのエントリにあります。 www.sakatakoichi.com 2日目は、JITコンパイルとAOTコンパイル、GraalVM関連と、私にとって最高の日でした。 最初のセッションは、Open…
2019/07/29-31に、オラクルのUSサンタクララオフィス(本社ではないところ)で開催されている、JVM Language Summit(通称JVMLS)に参加しています。 http://openjdk.java.net/projects/mlvm/jvmlangsummit/ 私は昨年2018年に初参加して、今回が2回目です。 …
DevNexus 2019で、Micronautのセッションを聴いてきたので、メモがてら断片的に記します。 Micronautの特徴の中に、こういったものがあります。 Minimal use of reflection Minimal use of proxies リフレクションや動的プロキシの利用を最低限にして、起動…
Oracle Code One(昨年2018年に、JavaOneからリブランドしたカンファレンス)の、参加登録が始まりました。 www.oracle.com 元がJavaOneですので、Javaのセッションが多いのはもちろんですが、他言語やコンテナ、DevOps、MySQLを始めとするデータベース、ブ…
ドラゴンブックとは、こちらの書籍です。 コンパイラ―原理・技法・ツール (Information & Computing)作者: A.V.エイホ,R.セシィ,J.D.ウルマン,M.S.ラム,Alfred V. Aho,Jeffery D. Ullman,Ravi Sethi,Monica S. Lam,原田賢一出版社/メーカー: サイエンス社発…
ZGCのセッションで、今後の長期目標の1つとして、JVMCIに対応する、と聞きました。逆に考えると、GCの中には、JVMCIに対応していないものがある、と理解しました。 現時点で新しめのOpenJDK(53918:616a32d6b463)で、試します。 デフォルト(G1GC) $ build…
2019年2月のFOSDEMというイベントが、ベルギーのブリュッセルでありました。 FOSDEMは、Free and Open Source Developer's European Meetupの頭文字です。 そこで、「Build your own GC with OpenJDK in 20 minutes」というセッションがありました。 録画も…
2019/02/27に、JJUG(日本Javaユーザグループ)さんでのナイトセミナー、「JVM言語を作ろう! GraalVMで遊ぼう!」で登壇をしました。 www.java-users.jp 「GraalVMで使われている、他言語をJVM上に実装する仕組みを学ぼう」というセッションです。スライド…
2019/03/06 -08に開催された、DevNexusというカンファレンスに参加しました。 場所はUSのアトランタです。 devnexus.com DevNexusとは アトランタJava User Group(JUG)主催のカンファレンスです。 JUG主催ですので、Javaが中心ではありますが、アジャイル…
OpenJDKのテストは、jtregなので、セットアップしました。 http://openjdk.java.net/projects/code-tools/jtreg/intro.html macOSでビルドします。 http://openjdk.java.net/jtreg/build.html $ sh make/build-all.sh /Library/Java/JavaVirtualMachines/jdk…
定数を利用した最適化、というのはイメージしやすいですし、実際速くなります。今回、Alekseyさんのサンプルを使いながら、まずはstatic finalな値のコンパイルコードを実際に見て、どう速いのか学びました。 JVM Anatomy Park #15: Just-In-Time Constants …
JMH(Java Microbenchmark Harness)で、-prof perfasmをすると、perfと-XX:+PrintAssemblyを使って、JITコンパイラ生成コードでのホットな部分を表示してくれるという機能があります。これが、思いの外すごい機能だったので、紹介します。 前提条件 JMHを知…
以前、TLABとBump the Pointerについて、検証しました。 www.sakatakoichi.com AlekseyさんのJVM Anatomy Parkには、もう1つTLABの話題があります。今回、その内容も、実際に動かして見てみます。 JVM Anatomy Park #5: TLABs and Heap Parsability こんなコ…