aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorusa <usa@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2008-06-30 05:42:34 +0000
committerusa <usa@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2008-06-30 05:42:34 +0000
commiteedb3dc3a3fcaae9cedf345b0469d5e4100aaacd (patch)
treeba9a975b451aa5d3047ac2a9773fa18a216ab64f
parent244e32db0dcb273a307e5de78fe9d7bdb70e7ef0 (diff)
downloadruby-eedb3dc3a3fcaae9cedf345b0469d5e4100aaacd.tar.gz
* gc.c (rb_newobj): prohibit call of rb_newobj() during gc when
USE_VALUE_CACHE is not defined (normal case). git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@17730 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
-rw-r--r--ChangeLog5
-rw-r--r--gc.c2
2 files changed, 7 insertions, 0 deletions
diff --git a/ChangeLog b/ChangeLog
index 089d34097f..aed15cf971 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,8 @@
+Mon Jun 30 14:41:36 2008 NAKAMURA Usaku <usa@ruby-lang.org>
+
+ * gc.c (rb_newobj): prohibit call of rb_newobj() during gc when
+ USE_VALUE_CACHE is not defined (normal case).
+
Mon Jun 30 10:28:33 2008 Yukihiro Matsumoto <matz@ruby-lang.org>
* ext/syslog/syslog.c (syslog_write): syslog operations should be
diff --git a/gc.c b/gc.c
index 966aaa1933..31c1547e34 100644
--- a/gc.c
+++ b/gc.c
@@ -732,6 +732,8 @@ rb_newobj(void)
return v;
#else
rb_objspace_t *objspace = &rb_objspace;
+ if (during_gc)
+ rb_bug("object allocation during garbage collection phase");
return rb_newobj_from_heap(objspace);
#endif
}