[#30408] Ruby 1.8.6 preview2 has been released — "Akinori MUSHA" <knu@...>

 Ruby 1.8.6 preview2 をリリースしました。

20 messages 2007/02/24
[#30414] fail to autoload at $SAFE==4 (Re: Ruby 1.8.6 preview2 has been released) — Hidetoshi NAGAI <nagai@...> 2007/02/25

永井@知能.九工大です.

[#30418] Re: fail to autoload at $SAFE==4 (Re: Ruby 1.8.6 preview2 has been released) — Nobuyoshi Nakada <nobu@...> 2007/02/25

なかだです。

[ruby-dev:30405] ext/racc/cparse.c - goto_pointer を複数回 mark

From: Tomoyuki Chikanaga <chikanag@...>
Date: 2007-02-24 01:17:20 UTC
List: ruby-dev #30405
日本コントロールシステム(株)の近永と申します。
よろしくお願いします。

[ruby-dev:30404] で報告した SEGV の調査の途中で、
ext/racc/cparse/cparse.c を読んでいる時に、
cparse_params_mark() で goto_pointer という構造体メンバに対して
5回連続で rb_gc_mark() を呼んでいるのをみて不思議に思いました。

mark関数は複数呼んでも問題ないように見えたので、別に支障は
ないのだろうと思いますが、多分1回でよいのではないでしょうか。
何か特に意図があってのことなのでしょうか。

Index: ext/racc/cparse/cparse.c
===================================================================
--- ext/racc/cparse/cparse.c    (リビジョン 11834)
+++ ext/racc/cparse/cparse.c    (作業コピー)
@@ -393,10 +393,6 @@
     rb_gc_mark(v->goto_check);
     rb_gc_mark(v->goto_default);
     rb_gc_mark(v->goto_pointer);
-    rb_gc_mark(v->goto_pointer);
-    rb_gc_mark(v->goto_pointer);
-    rb_gc_mark(v->goto_pointer);
-    rb_gc_mark(v->goto_pointer);
     rb_gc_mark(v->reduce_table);
     rb_gc_mark(v->token_table);
     rb_gc_mark(v->state);

以上、失礼しました。

--------------------------------------------
   Chikanaga Tomoyuki

   NIPPON CONTROL SYSTEM Corporation
   URL http://www.nippon-control-system.co.jp/
--------------------------------------------

In This Thread

Prev Next