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 --- array.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) (limited to 'array.c') 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