summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authornormal <normal@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2014-11-27 02:48:14 +0000
committernormal <normal@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2014-11-27 02:48:14 +0000
commita7361f9c64d49f2598cbb628ec256d26503a3d5f (patch)
treef6c672f9d592fda050f907eb4a7125b33c50be27
parent9c6deac2d1ea29002f4af33b9c1c15aa2d4c34b7 (diff)
iseq.c (iseq_data_to_ary): add missing GC guard
It seems possible for a compiler to optimize away nbody because we only access it via RARRAY_AREF and RARRAY_LEN macros. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@48597 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
-rw-r--r--ChangeLog4
-rw-r--r--iseq.c1
2 files changed, 5 insertions, 0 deletions
diff --git a/ChangeLog b/ChangeLog
index ee3ac8deae..ad5b6b3432 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,7 @@
+Thu Nov 27 11:45:33 2014 Eric Wong <e@80x24.org>
+
+ * iseq.c (iseq_data_to_ary): add missing GC guard
+
Thu Nov 27 10:51:59 2014 Koichi Sasada <ko1@atdot.net>
* vm_core.h: add rb_thread_t::local_storage_recursive_hash
diff --git a/iseq.c b/iseq.c
index dfe9874120..c81193c521 100644
--- a/iseq.c
+++ b/iseq.c
@@ -1889,6 +1889,7 @@ iseq_data_to_ary(rb_iseq_t *iseq)
rb_ary_push(body, ary);
pos += RARRAY_LENINT(ary); /* reject too huge data */
}
+ RB_GC_GUARD(nbody);
st_free_table(labels_table);