diff options
author | ko1 <ko1@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2014-07-07 03:42:42 +0000 |
---|---|---|
committer | ko1 <ko1@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2014-07-07 03:42:42 +0000 |
commit | 2c551e4715bfb9d2dc213805dc551e62af73a861 (patch) | |
tree | 0215b204df0c3742855721f39a8919028087b6bf | |
parent | 011b74b748c0230dc5c013e3a38a9f0d58c5893f (diff) | |
download | ruby-2c551e4715bfb9d2dc213805dc551e62af73a861.tar.gz |
* parse.y: need to use updated (re-created) symbols.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@46737 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
-rw-r--r-- | ChangeLog | 4 | ||||
-rw-r--r-- | gc.c | 2 | ||||
-rw-r--r-- | internal.h | 2 | ||||
-rw-r--r-- | parse.y | 8 |
4 files changed, 11 insertions, 5 deletions
@@ -1,3 +1,7 @@ +Mon Jul 7 12:40:59 2014 Koichi Sasada <ko1@atdot.net> + + * parse.y: need to use updated (re-created) symbols. + Mon Jul 7 11:02:55 2014 NARUSE, Yui <naruse@ruby-lang.org> * tool/mkconfig.rb: remove not to require rbconfig/obsolete.rb. @@ -204,7 +204,7 @@ static ruby_gc_params_t gc_params = { * 4: show all references */ #ifndef RGENGC_CHECK_MODE -#define RGENGC_CHECK_MODE 0 +#define RGENGC_CHECK_MODE 3 #endif /* RGENGC_PROFILE diff --git a/internal.h b/internal.h index 1546b219e8..45b9eff0db 100644 --- a/internal.h +++ b/internal.h @@ -419,6 +419,8 @@ struct RSymbol { }; #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; @@ -10503,7 +10503,7 @@ lookup_str_id(st_data_t str, st_data_t *data) } 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, rb_encoding *enc) 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) 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 len, rb_encoding *enc) 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; |