diff --git a/ChangeLog b/ChangeLog index 925fb581c5..9303fc1048 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,10 @@ +Wed Nov 20 17:34:13 2013 Koichi Sasada + + * parse.y (rb_gc_mark_symbols): set global_symbols.minor_marked only + when full_mark is 0. + rb_gc_mark_symbols() (with full_mark == 1) can be called by other + than GC (such as rb_objspace_reachable_objects_from_root()). + Wed Nov 20 11:46:38 2013 NARUSE, Yui * ext/json: merge JSON 1.8.1. diff --git a/parse.y b/parse.y index ba5a8154a2..8207ad7133 100644 --- a/parse.y +++ b/parse.y @@ -10155,7 +10155,8 @@ rb_gc_mark_symbols(int full_mark) rb_mark_tbl(global_symbols.id_str); rb_gc_mark_locations(global_symbols.op_sym, global_symbols.op_sym + numberof(global_symbols.op_sym)); - global_symbols.minor_marked = 1; + + if (!full_mark) global_symbols.minor_marked = 1; } } #endif /* !RIPPER */