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

yarv-dev:31

From: SASADA Koichi <ko1 atdot.net>
Date: Tue, 18 May 2004 08:17:09 +0900
Subject: [yarv-dev:31] Re: method search function using global method cache

 SASADA Koichi <ko1 atdot.net>
 Tue, 18 May 2004 08:14:57 +0900 / [yarv-dev:30] method search function using global method cache
 への返信です。


 ささだです。

> いっそこんな感じとか。

 こうでした。

Index: eval.c
===================================================================
RCS file: /src/ruby/eval.c,v
retrieving revision 1.663
diff -u -r1.663 eval.c
--- eval.c	14 May 2004 16:45:21 -0000	1.663
+++ eval.c	17 May 2004 23:17:23 -0000
@@ -452,6 +452,12 @@
     ID id;
 {
     int noex;
+    struct cache_entry *ent;
+  
+    ent = cache + EXPR1(klass, id);
+    if (ent->mid == id && ent->klass == klass && ent->method){
+	return ent->method;
+    }
 
     return rb_get_method_body(&klass, &id, &noex);
 }



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

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

        30 2004-05-18 08:14 [ko1 atdot.net       ] method search function using global method cache
->      31 2004-05-18 08:17 ┗[ko1 atdot.net       ]                                       
        33 2004-05-18 08:56  ┗[matz ruby-lang.org  ]                                     
        34 2004-05-18 09:16   ┗[ko1 atdot.net       ]