From eb5147779da081b5d141a1ab3a6d8a582fdeed28 Mon Sep 17 00:00:00 2001 From: normal Date: Sun, 12 Oct 2014 21:53:01 +0000 Subject: array.c: swap volatile for RB_GC_GUARD * array.c (ary_recycle_hash): add RB_GC_GUARD (rb_ary_diff): remove volatile [Bug #10369] The RB_GC_GUARD seems needed for most of the ary_recycle_hash functions anyways. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@47896 b2dd03c8-39d4-4d8f-98ff-823fe69b080e --- ChangeLog | 6 ++++++ array.c | 3 ++- 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/ChangeLog b/ChangeLog index fb34fcea38..890304dfc3 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,9 @@ +Mon Oct 13 06:52:09 2014 Eric Wong + + * array.c (ary_recycle_hash): add RB_GC_GUARD + (rb_ary_diff): remove volatile + [Bug #10369] + Mon Oct 13 03:20:23 2014 Zachary Scott * ext/date/date_core.c: [DOC] Clean up whitespace, examples, and typos diff --git a/array.c b/array.c index 5fd2702af6..04a8286dec 100644 --- a/array.c +++ b/array.c @@ -3986,6 +3986,7 @@ ary_recycle_hash(VALUE hash) RHASH(hash)->ntbl = 0; st_free_table(tbl); } + RB_GC_GUARD(hash); } /* @@ -4009,7 +4010,7 @@ static VALUE rb_ary_diff(VALUE ary1, VALUE ary2) { VALUE ary3; - volatile VALUE hash; + VALUE hash; long i; hash = ary_make_hash(to_ary(ary2)); -- cgit v1.2.3