タグ

implementationとyarvに関するjjzakのブックマーク (2)

  • ■ - ひとり勉強会

    ここ「ひとり勉強会」は、会と言いつつひとりで勉強した記録を残してます。 金曜日は YARV: Yet Another Ruby VM のソースコード読みの日です。 履歴 (1): main から yarv コアに到達するまで (2): コンパイル処理の流れとデータ構造 (3): if のコンパイル (4): case, while のコンパイル (5): break, next, redo, retry, rescue, ensure, for, ブロック のコンパイル (6): 代入 のコンパイル (7): 自己代入, メソッド呼び出し のコンパイル (8): super, yield, リテラルなどなど のコンパイル (9): def, class, module, alias などなど のコンパイル ここまでのまとめ: PPT or PDF (10): 最適化 (11): バイトコー

    ■ - ひとり勉強会
  • YARV(Yet Another RubyVM)アーキテクチャ

    これは? Compiler (compile.h, compile.c) VM Generator (rb/insns2vm.rb, insns.def)命令記述 VM (Virtual Machine, vm.h, vm.c)レジスタ スタックフレームメソッドローカルフレーム ブロックローカルフレーム クラスフレーム フレームデザインについての補足 メソッド呼び出しについて 例外例外テーブル rescue ensure break, return(ブロック中)、retry 定数の検索定数検索パス 最適化手法threaded code Peephole optimization inline method cache inline constant cache ブロックと Proc オブジェクトの分離 特化命令 命令融合 オペランド融合 stack caching JIT Compile

  • 1