Revision: 4545 http://trac.macosforge.org/projects/ruby/changeset/4545 Author: lsansonetti@apple.com Date: 2010-09-27 16:05:30 -0700 (Mon, 27 Sep 2010) Log Message: ----------- don't invalidate respond_to and dispatch caches while we are still booting the runtime Modified Paths: -------------- MacRuby/trunk/vm.cpp Modified: MacRuby/trunk/vm.cpp =================================================================== --- MacRuby/trunk/vm.cpp 2010-09-27 22:55:31 UTC (rev 4544) +++ MacRuby/trunk/vm.cpp 2010-09-27 23:05:30 UTC (rev 4545) @@ -1018,15 +1018,15 @@ ruby_imps[ruby_imp] = node; } - // Invalidate respond_to cache. - invalidate_respond_to_cache(); + if (running) { + // Invalidate respond_to cache. + invalidate_respond_to_cache(); - // Invalidate dispatch cache. - invalidate_method_cache(sel); + // Invalidate dispatch cache. + invalidate_method_cache(sel); - // Invalidate inline operations. + // Invalidate inline operations. #if !defined(MACRUBY_STATIC) - if (running) { GlobalVariable *gvar = redefined_op_gvar(sel, false); if (gvar != NULL && should_invalidate_inline_op(sel, klass)) { void *val = ee->getOrEmitGlobalVariable(gvar); @@ -1038,8 +1038,8 @@ assert(val != NULL); *(unsigned char *)val = 1; } +#endif } -#endif // If alloc is redefined, mark the class as such. if (sel == selAlloc
participants (1)
-
source_changes@macosforge.org