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