[macruby-changes] [487] MacRuby/trunk/vm_method.c

source_changes at macosforge.org source_changes at macosforge.org
Tue Aug 26 13:18:29 PDT 2008


Revision: 487
          http://trac.macosforge.org/projects/ruby/changeset/487
Author:   lsansonetti at apple.com
Date:     2008-08-26 13:18:29 -0700 (Tue, 26 Aug 2008)
Log Message:
-----------
do not call method_added if enable_method_added is false (for better performance during bs parsing)

Modified Paths:
--------------
    MacRuby/trunk/vm_method.c

Modified: MacRuby/trunk/vm_method.c
===================================================================
--- MacRuby/trunk/vm_method.c	2008-08-26 20:17:59 UTC (rev 486)
+++ MacRuby/trunk/vm_method.c	2008-08-26 20:18:29 UTC (rev 487)
@@ -25,6 +25,7 @@
 static struct cache_entry cache[CACHE_SIZE];
 #define ruby_running (GET_VM()->running)
 /* int ruby_running = 0; */
+VALUE enable_method_added;
 
 void
 rb_clear_cache(void)
@@ -186,7 +187,7 @@
     st_insert(RCLASS_M_TBL(klass), mid, (st_data_t) body);
 #endif
 
-    if (node && mid != ID_ALLOCATOR && ruby_running) {
+    if (node && mid != ID_ALLOCATOR && ruby_running && enable_method_added == Qtrue) {
 	if (RCLASS_SINGLETON(klass)) {
 	    rb_funcall(rb_iv_get(klass, "__attached__"), singleton_added, 1,
 		       ID2SYM(mid));
@@ -1228,6 +1229,8 @@
 void
 Init_eval_method(void)
 {
+    enable_method_added = Qtrue;
+
     rb_define_method(rb_mKernel, "respond_to?", obj_respond_to, -1);
     basic_respond_to = rb_method_node(rb_cObject, idRespond_to);
     rb_register_mark_object((VALUE)basic_respond_to);
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.macosforge.org/pipermail/macruby-changes/attachments/20080826/c335632b/attachment.html 


More information about the macruby-changes mailing list