第7回JVMソースコードリーディングの会 つぶやきまとめ

もったいないので、 #jvm_code_reading タグのつぶやきまとめてきおました。openjdk7u-devのビルド方法等。私のつぶやきはどうでもいいですが、 .@nothingcosms さんの紹介しているスライドや .@ytoshima さんのアドバイスなどは参考になると思います。
1
kmizu @kmizu

#jvm_code_reading 今日は OpenJDK を黙々とビルドする会。OS X だと、OpenJDK 6をビルドするのが結構めんどいらしいことを知ったので、OpenJDK7にすることにした。

2012-06-23 13:54:39
ytoshima @ytoshima

ソースの取得は hg clone http://t.co/LpbqzznF myjdk で、さらに get_source.sh して続きは README-build.html という流れです #jvm_code_reading

2012-06-23 13:57:38
kmizu @kmizu

RT @ytoshima: ソースの取得は hg clone http://t.co/LpbqzznF myjdk で、さらに get_source.sh して続きは README-build.html という流れです #jvm_code_reading

2012-06-23 14:00:07
ytoshima @ytoshima

全体のビルドは corba 関係の生成されるファイルのコードがエラーを起こすので _JAVA_OPTIONS=-Dfile.encoding=ASCII という環境変数を事前に定義しておくとよいです。JAVA_TOOL_OPTIONS でも。#jvm_code_reading

2012-06-23 14:01:43
ytoshima @ytoshima

mac の OpenJDK build, lion が必要との事でしたが、snow leopard でもできました http://t.co/9OZ2Jxa9 #jvm_code_reading

2012-06-23 14:10:13
ytoshima @ytoshima

windows の場合だと、get_source.sh は cygwin でやりました #jvm_code_reading

2012-06-23 14:11:03
nothingcosmos @nothingcosmos

#jvm_code_reading 先週別の会で発表したslideの紹介。 Adaptive optimization of JIT compiler http://t.co/Zv9Wz549

2012-06-23 14:12:36
kmizu @kmizu

OpenJDK 全体をビルドするのは意外に手間がかかる、んだなあ。 #jvm_code_reading

2012-06-23 14:16:09
kmizu @kmizu

hg clone http://t.co/E5g1dXsU hotspot の部分が異様に重い…これは単に容量多いのか? #jvm_code_reading

2012-06-23 14:17:38
ytoshima @ytoshima

MBA で hotspot/make の下で make して product/fastdebug libjvm.dylib のビルド約10分で完了 #jvm_code_reading

2012-06-23 14:33:03
kmizu @kmizu

.@nminoru_jp さんによる、JVMの排他制御に関する発表。 #jvm_code_reading

2012-06-23 14:34:19
kmizu @kmizu

OpenJDK6では、-XX:+UseBiasedLocking がデフォルト

2012-06-23 14:36:52
kmizu @kmizu

HotSpotのlock関係のオプション。こんなにあるのね。 #jvm_code_reading

2012-06-23 14:38:09
kmizu @kmizu

基本的なロック(Lightweight Lock ?)では、衝突しないロックを効率的に処理するようにしていると。 #jvm_code_reading

2012-06-23 14:39:17
kmizu @kmizu

Biased Lockingのコンセプト:もっとCAS命令を積極的に削除する。 #jvm_code_reading

2012-06-23 14:55:34
もろ @低規模言語モデル ';DROP TABLE 人生-- @jagd5168

biased locking = あるスレッドでロックをかけられたオブジェクトは同じスレッドで再びロックされる傾向を利用してCAS命令を省略している。 #jvm_code_reading

2012-06-23 15:04:53
ytoshima @ytoshima

最近は20サイクルぐらいで CAS できるのか #jvm_code_reading

2012-06-23 15:07:13
ytoshima @ytoshima

キャッシュコヒレントマジックか #jvm_code_reading

2012-06-23 15:08:11
もろ @低規模言語モデル ';DROP TABLE 人生-- @jagd5168

実際のところ今の CAS って問題なくね? という。NetBurst の頃は遅かった、Core2 で徐々に速くなった(という話だったかな?) #jvm_code_reading

2012-06-23 15:12:05
もろ @低規模言語モデル ';DROP TABLE 人生-- @jagd5168

まぁ競合の可能性があるならとりあえず synchronized 付けとけってあるわな。 #jvm_code_reading

2012-06-23 15:25:49