Project

General

Profile

« Previous | Next » 

Revision 0d475da8

Added by Hiroshi Nakamura almost 14 years ago

  • variable.c (rb_autoload): There was a chance to run GC (from
    rb_str_new2()) before finishing autoload_data_i construction. It
    caused SEGV at rb_gc_mark() at autoload_i_mark.

  • variable.c (rb_autoload_load): Move RB_GC_GUARD() to proper
    position based on suggestion by CHIKANAGA Tomoyuki at
    http://d.hatena.ne.jp/nagachika/20110826/ruby_trunk_changes_33070_33078

  • variable.c (autoload_defined_p): Fix incompatible autoload behavior
    that causes Rails crash. Class deifnition instruction defined in
    'defineclass' in insns.def always invokes rb_autoload_load for a
    constant. It's invoked for every class definition regardless of
    existence of autoload definition. rb_autoload_load checkes if a
    constant is defined as autoloaded, but new thread-safe autoload
    returned different value if the constant is under autoloading.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@33147 b2dd03c8-39d4-4d8f-98ff-823fe69b080e