[前][次][番号順一覧][スレッド一覧]

ruby-changes:34654

From: ko1 <ko1@a...>
Date: Mon, 7 Jul 2014 12:42:48 +0900 (JST)
Subject: [ruby-changes:34654] ko1:r46737 (trunk): * parse.y: need to use updated (re-created) symbols.

ko1	2014-07-07 12:42:42 +0900 (Mon, 07 Jul 2014)

  New Revision: 46737

  http://svn.ruby-lang.org/cgi-bin/viewvc.cgi?view=revision&revision=46737

  Log:
    * parse.y: need to use updated (re-created) symbols.

  Modified files:
    trunk/ChangeLog
    trunk/gc.c
    trunk/internal.h
    trunk/parse.y
Index: ChangeLog
===================================================================
--- ChangeLog	(revision 46736)
+++ ChangeLog	(revision 46737)
@@ -1,3 +1,7 @@ https://github.com/ruby/ruby/blob/trunk/ChangeLog#L1
+Mon Jul  7 12:40:59 2014  Koichi Sasada  <ko1@a...>
+
+	* parse.y: need to use updated (re-created) symbols.
+
 Mon Jul  7 11:02:55 2014  NARUSE, Yui  <naruse@r...>
 
 	* tool/mkconfig.rb: remove not to require rbconfig/obsolete.rb.
Index: gc.c
===================================================================
--- gc.c	(revision 46736)
+++ gc.c	(revision 46737)
@@ -204,7 +204,7 @@ static ruby_gc_params_t gc_params = { https://github.com/ruby/ruby/blob/trunk/gc.c#L204
  * 4: show all references
  */
 #ifndef RGENGC_CHECK_MODE
-#define RGENGC_CHECK_MODE  0
+#define RGENGC_CHECK_MODE  3
 #endif
 
 /* RGENGC_PROFILE
Index: parse.y
===================================================================
--- parse.y	(revision 46736)
+++ parse.y	(revision 46737)
@@ -10503,7 +10503,7 @@ lookup_str_id(st_data_t str, st_data_t * https://github.com/ruby/ruby/blob/trunk/parse.y#L10503
     }
     id = (ID)*data;
     if (ID_DYNAMIC_SYM_P(id)) {
-	rb_pin_dynamic_symbol((VALUE)id);
+	*data = (st_data_t)rb_pin_dynamic_symbol((VALUE)id);
     }
     return TRUE;
 }
@@ -10532,7 +10532,7 @@ rb_intern3(const char *name, long len, r https://github.com/ruby/ruby/blob/trunk/parse.y#L10532
 
     id = intern_cstr_without_pindown(name, len, enc);
     if (ID_DYNAMIC_SYM_P(id)) {
-	rb_pin_dynamic_symbol((VALUE)id);
+	id = rb_pin_dynamic_symbol((VALUE)id);
     }
 
     return id;
@@ -10974,7 +10974,7 @@ rb_check_id(volatile VALUE *namep) https://github.com/ruby/ruby/blob/trunk/parse.y#L10974
 
     id = rb_check_id_without_pindown((VALUE *)namep);
     if (ID_DYNAMIC_SYM_P(id)) {
-        rb_pin_dynamic_symbol((VALUE)id);
+	id = rb_pin_dynamic_symbol((VALUE)id);
     }
 
     return id;
@@ -10987,7 +10987,7 @@ rb_check_id_cstr(const char *ptr, long l https://github.com/ruby/ruby/blob/trunk/parse.y#L10987
 
     id = rb_check_id_cstr_without_pindown(ptr, len, enc);
     if (ID_DYNAMIC_SYM_P(id)) {
-        rb_pin_dynamic_symbol((VALUE)id);
+	id = rb_pin_dynamic_symbol((VALUE)id);
     }
 
     return id;
Index: internal.h
===================================================================
--- internal.h	(revision 46736)
+++ internal.h	(revision 46737)
@@ -419,6 +419,8 @@ struct RSymbol { https://github.com/ruby/ruby/blob/trunk/internal.h#L419
 };
 
 #define RSYMBOL(obj) (R_CAST(RSymbol)(obj))
+#define SYMBOL_PINNED        FL_USER1
+#define SYMBOL_PINNED_P(sym) FL_TEST((sym), SYMBOL_PINNED)
 
 struct RFloat {
     struct RBasic basic;

--
ML: ruby-changes@q...
Info: http://www.atdot.net/~ko1/quickml/

[前][次][番号順一覧][スレッド一覧]