タグ

関連タグで絞り込む (0)

  • 関連タグはありません

タグの絞り込みを解除

crubyに関するsonotsのブックマーク (1)

  • YARV instruction dispatch - Qiita

    insns.def周りの理解を整理するために書いた雑文を置いておく。ソースのバージョンは2.4.1 YARVの命令ディスパッチを行う関数: vm_exec_core vm_exec.c に vm_exec_core なる関数がある。perf recordでRubyのスクリプトを実行してperf reportするとかなり大部分をvm_exec_coreが消費していることが多い。 これはRubyのコードがYARV iseqにコンパイルされた後、この関数がYARV iseqのインタプリタ的に働くことでCRubyが動作しているため。 OPT_CALL_THREADED_CODE = 0 しかしvm_exec_coreなる定義はOPT_CALL_THREADED_CODEのifdefで分岐した上でvm_exec.cに2つある。 vm_opts.h というVMの最適化オプションが定義されたヘッダーファ

    YARV instruction dispatch - Qiita
    sonots
    sonots 2017/06/05
  • 1