ruby-changes:16827
From: mame <ko1@a...>
Date: Sun, 1 Aug 2010 19:31:35 +0900 (JST)
Subject: [ruby-changes:16827] Ruby:r28822 (ruby_1_9_2): merges r28755 from trunk into ruby_1_9_2.
mame 2010-08-01 19:31:19 +0900 (Sun, 01 Aug 2010) New Revision: 28822 http://svn.ruby-lang.org/cgi-bin/viewvc.cgi?view=rev&revision=28822 Log: merges r28755 from trunk into ruby_1_9_2. -- * vm.c (rb_thread_mark): mark only self of normal iseqs, not nodes. [ruby-dev:41874] * vm.c (rb_thread_mark): should mark iseq itself other than normal iseq. [ruby-dev:41880] Modified files: branches/ruby_1_9_2/ChangeLog branches/ruby_1_9_2/vm.c Index: ruby_1_9_2/ChangeLog =================================================================== --- ruby_1_9_2/ChangeLog (revision 28821) +++ ruby_1_9_2/ChangeLog (revision 28822) @@ -1,3 +1,13 @@ +Mon Jul 26 13:01:25 2010 Nobuyoshi Nakada <nobu@r...> + + * vm.c (rb_thread_mark): should mark iseq itself other than normal + iseq. [ruby-dev:41880] + +Mon Jul 26 09:51:20 2010 Nobuyoshi Nakada <nobu@r...> + + * vm.c (rb_thread_mark): mark only self of normal iseqs, not + nodes. [ruby-dev:41874] + Sun Aug 1 10:23:48 2010 Yusuke Endoh <mame@t...> * lib/irb/init.rb (IRB.parse_opts): set VERBOSE to true when debug Index: ruby_1_9_2/vm.c =================================================================== --- ruby_1_9_2/vm.c (revision 28821) +++ ruby_1_9_2/vm.c (revision 28822) @@ -1646,8 +1646,11 @@ rb_gc_mark_locations(p, p + th->mark_stack_len); while (cfp != limit_cfp) { + rb_iseq_t *iseq = cfp->iseq; rb_gc_mark(cfp->proc); - if (cfp->iseq) rb_gc_mark(cfp->iseq->self); + if (iseq) { + rb_gc_mark(RUBY_VM_NORMAL_ISEQ_P(iseq) ? iseq->self : (VALUE)iseq); + } if (cfp->me) ((rb_method_entry_t *)cfp->me)->mark = 1; cfp = RUBY_VM_PREVIOUS_CONTROL_FRAME(cfp); } -- ML: ruby-changes@q... Info: http://www.atdot.net/~ko1/quickml/