タグ

javascriptとvmに関するokagawaのブックマーク (7)

  • Firefox Developers Conference の LT に混ぜてもらいました - Backnumbers: Steps to Phantasien

    2008-11-17 近況 Firefox Developers Conference の LT に混ぜてもらいました. (資料はこれ.) まわりが「何か作ったぜ」という話をしているなか, 私は例のごとく他人のふんどしで相撲を.... なにか作る話はいいよなあ. 買い物の串刺し検索をする ShoppingFinder や YouTube をニコニコ動画化する Ghostlogue は, サービスもセットになっていて面白かった. ブラウザもシェアが増えるとアドオン市場というものが生まれうるのだなー. あとは配られたビラで Movie Download Helper を知った. よくわからない単体ツールを探しまわった苦労は一体なんだったのかと... 私の話は "TraceMonkey にも V8 の hidden classs みたいな仕組みがあってプロパティアクセスが速くなるよ" という話.

  • 近況 LLVM 勉強会第一回 に参加. ついでにちょこっと喋りました

    2008-08-23 近況 LLVM 勉強会第一回 に参加. ついでにちょこっと喋りました. スライドはこれ. (同僚へ私信: 水曜のお昼に話すので資料をみないでください. ネタバレ禁止.) ソースコードは github へ. ほんとは主催者の趣向にあわせてレイトレなんかを書きたかったけれど, 根性と時間が足らず挫折しました. レンダリストへの道は険しいです. それにしても LLVM はそこそこよくできているので, 使い方を紹介するだけだとあと 1,2 回分くらいで勉強会の話題がなくなりそうだなあ. 自分のコードに組み込んだというケーススタディがあれば別だけれど... "最適化パス勉強会" みたいにコンパイリストな路線に進むか, "JIT 勉強会" みたいに間口を広げるのがよいかもしれない. TraceMonkey なんてのも出てきたことだしね. TraceMonkey と Tamarin

  • Hello, nanojit - Backnumbers: Steps to Phantasien

    Tamarin nanojit の面倒くささは, ひたらくいうと 1.設計のまずさ 2.アルゴリズムの複雑さだ. そんなことを昨日書いた. 2. はさておき, 1. は実際のところどうなのか. 実際に動かしてみる. TraceMonkey のコードを持ってきて, js/src/nanojit/ 以下をコピー, ビルドするところからスタート. やってみるとそこそこ簡単だった. 一番面倒なところは TraceMonkey チームが片付けてくれたから, 私はその恩恵に与ればいい. 結局 100 行くらいで void say_hello(void) をよびだす 最小限の JIT コードを書くことができた. github したので興味のある方はどうぞ. (該当ファイル hello.cpp の表示) Tracing JIT の肝であるループや分岐はやってない. そのほか TraceMonkey との繋

  • steps to phantasien(2008-09-07) v8祭り

    ウェブっ子の間では Google Chrome の JS 処理系である V8 祭りが絶賛開催中らしい. いつもは出遅れる私もたまにはやんやしたいと思っていろいろ読んでみたものの, VM に傷気味な自分に気付いた. けれど, そうは言っても祭りは別腹. 一通り騒いでみます. 販促マンガ や 資料 によれば, V8 は以下のような特徴を備えている. hidden class transition と fast property access generational accurate GC accurate だから incremental GC もできる オブジェクトの rellocation はするけど handle は使わず参照元書き換え 中間表現のインタプリタなしの native code 生成. instruction cache コードをみたところ, incremental GC

  • Announcing SquirrelFish

    “Hello, Internet!” WebKit’s core JavaScript engine just got a new interpreter, code-named SquirrelFish. SquirrelFish is fast—much faster than WebKit’s previous interpreter. Check out the numbers. On the SunSpider JavaScript benchmark, SquirrelFish is 1.6 times faster than WebKit’s previous interpreter. What Is SquirrelFish? SquirrelFish is a register-based, direct-threaded, high-level bytecode eng

    Announcing SquirrelFish
  • Tamarin 近況 - steps to phantasien t(2008-05-06)

    公開. から一年半. 最近はどうなってんのなかなーと Tamarin 周辺を見てみると, いろいろ変わっていた. 目玉は新しい JIT の仕組みである "Tamarin-Tracing". 略して TT. それと, TT に付随して入った Forth によるインタプリタ実装. 例のごとく マイコミジャーナル に ニュースがあった. よくまとまっているけれどまとまり過ぎている. もう少し詳しくみてみることに. 一次情報は ソースコード, Mozilla Wiki や tamarin-devel リスト などを参照ください. アーキテクチャ概観 これまでの Tamarin (Tamarin Central: TC) は, JIT の際に ABC -> MIR -> ネイティブコードと 2 段階の変換を行っていた. TT ではこれが 1 段増え, ABC -> IL -> LIR -> ネイティ

  • steps to phantasien t(2006-11-11) Project Tamarin

    Adobe が ActionScript3 の VM "AVM2" をオープンソース化し, Mozilla に寄贈した. 今後 Mozilla2 に向けて体の JavaScript 実装 (SpiderMonkey) と統合していくという. 寄贈されたのは VM だけ. コンパイラはない. そこは SpiderMonkey のパーサを使ってがんばるらしい. SpiderMonkey の実装は bytecode 指向だから, 頑張ればなんとかなるのかな。 (すくなくとも構文木ベースの WebKit JavaScriptCore に繋ぐよりは楽そうだ.) この Opensourced AVM2 は名前が "Tamarin". 響きがかわいい. たまりん... Mozilla のエースが早速 コードをチェックインしている. せっかくなのでチェックアウトしてみた. cvs -d :pserver

  • 1