2009-03-01から1ヶ月間の記事一覧

あとで携帯で見るためのメモ

unladen-swallowのGCの概要のページが載っていたのでメモ http://code.google.com/p/unladen-swallow/wiki/GarbageCollectorllvmのGC APIを使うとon stack replacementができるかもしれないなー これもメモ http://llvm.org/docs/GarbageCollection.html追記…

LLVM勉強会でささださんたちと話したこと

LLVM勉強会の途中で笹田さんたちと話した内容です。 さ ささださんたち み 私(みうら) 互換性をUPさせる方策 さ トップレベル環境はあえてコンパイルしないようにすると互換性が取りやすいのではないか。例えば、 if $debug then def foo デバッグバージョン…

LLVM勉強会のスレッドに関する間違えの訂正

LLVM勉強会でyarv2llvmでrb_thread_createで作ったスレッドが、マルチコアで並行にスレッドが動いているか、いないかの話の続きです。 既にささださんはじめ皆様から指摘されているように、ジャイアントロックが掛かっているので並行には動いていないことを…

第2回 LLVM勉強会で発表させてもらいました

第2回LLVM勉強会で発表させてもらいました。へたくそなプレゼンで申し訳ありません。今後、人前で喋る予定が色々あるので自分の身の程を知って練習しないといけないなーと痛感できました。それでも、的確な質問や助言を頂き、ありがたかったです。また、聞…

久しぶりの大きな変更

yarv2llvmを使っていたらバグに遭遇してしまいました。エンバグで勉強会のデモが動かなくなるのが怖くて躊躇したのですが、あまりにもひどいバグなので直しました。バグの内容はRuby1.9のソースに入っている、benchmark/bm_vm2_poly_method.rbがまだ多態メソ…

yarv2llvmでの生成したコードの場当たり的な最適化

前回の日記の続きですが、こんな込み入ったことどー考えても私には口頭で説明できないのでここに書いてしまいます。あんまり効果なかったし...。 前回までのあらすじ yarv2llvmでどう考えても無駄なコードが生成される。でも、コードが無駄かどうかは最適化…

AOベンチの生成コードを見てみた

AOベンチをyarv2llvmでコンパイルした結果を見てみました。1万行以上になっていてびっくりです。 かなり悲しいコードが生成されていました。 %80 = load i32* %50 ; <i32> [#uses=1] %81 = inttoptr i32 %80 to { { i32, i32 }, double }* ; <{ { i32, i32 }, dou</i32>…

かなりぼけていました

今日、親がテレビで野球を見ていました。あれ? 珍しいカードをテレビ中継しているなー、中日-日ハム戦かー、ってマジで思いました。その割にはなんで楽天のユニホーム着てるのかな? ・・・、お前なんて日本人じゃねーといわれればそうかもしれないですが、…

LLVM 2.5がリリースされました

いつの間にかLLVM 2.5がリリースされました。今、バージョンアップすると勉強会で動かなくなると困るのでバージョンアップはしないけどリリースノートで興味深いところをメモします。http://llvm.org/docs/ReleaseNotes.html#whatsnew ClangでObjective-CのG…