[前][次][番号順一覧][スレッド一覧][生データ]

yarv-dev:392

From: SASADA Koichi <ko1 atdot.net>
Date: Wed, 5 Jan 2005 13:45:02 +0900
Subject: [yarv-dev:392] inline method cache

 ささだです。

 以下のような感じで,スレッドの排他制御とか考えてみたのですが,
どうでしょうか.
http://www.namikilab.tuat.ac.jp/~sasada/diary/200501.html#d5

 今は排他制御考えてるわけじゃないので,

mc: メソッドキャッシュのための情報を格納しているエントリへのポインタ
mn: メソッド実体を格納したい変数

    if(klass == mc->mc_klass &&
       GET_VM_STATE_VERSION() == mc->mc_vmstat){
      mn = mc->mc_method;
    }
    else{
      mn = rb_method_node(klass, id); // メソッド実体を検索
      mc->mc_klass  = klass;
      mc->mc_method = mn;
      mc->mc_vmstat = GET_VM_STATE_VERSION();
    }


 で実装してます.

-- 
// SASADA Koichi at atdot dot net
//


--
ML: yarv-dev quickml.atdot.net
使い方: http://www.atdot.net/~ko1/quickml

[前][次][番号順一覧][スレッド一覧][生データ]