From 564a14e497435730b0bad966047676a54090ffe1 Mon Sep 17 00:00:00 2001 From: glass Date: Wed, 6 Nov 2013 12:20:39 +0000 Subject: [PATCH] * array.c (rb_ary_shift_m): use RARRAY_PTR_USE() without WB because there are not new relations. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@43557 b2dd03c8-39d4-4d8f-98ff-823fe69b080e --- ChangeLog | 5 +++++ array.c | 4 +++- 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/ChangeLog b/ChangeLog index 3bc5e71194..f7b0032fa0 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,8 @@ +Wed Nov 6 21:16:51 2013 Masaki Matsushita + + * array.c (rb_ary_shift_m): use RARRAY_PTR_USE() without WB because + there are not new relations. + Wed Nov 6 21:05:20 2013 Masaki Matsushita * array.c (rb_ary_reverse): use RARRAY_PTR_USE(). diff --git a/array.c b/array.c index 2a85772c97..f1919fd1fe 100644 --- a/array.c +++ b/array.c @@ -1070,7 +1070,9 @@ rb_ary_shift_m(int argc, VALUE *argv, VALUE ary) ARY_INCREASE_PTR(ary, n); } else { - MEMMOVE(RARRAY_PTR(ary), RARRAY_PTR(ary)+n, VALUE, RARRAY_LEN(ary)-n); + RARRAY_PTR_USE(ary, ptr, { + MEMMOVE(ptr, ptr + n, VALUE, RARRAY_LEN(ary)-n); + }); /* WB: no new reference */ } ARY_INCREASE_LEN(ary, -n);