aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authortarui <tarui@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2013-08-12 14:09:34 +0000
committertarui <tarui@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2013-08-12 14:09:34 +0000
commitda3d79d20311deb79c110c3fe07bbb184bc8f961 (patch)
tree144abe2d95c2fdde425440b5ab2352e1fe3437e6
parentc48b4209c267299f52ad51b0e8d639679999465a (diff)
downloadruby-da3d79d20311deb79c110c3fe07bbb184bc8f961.tar.gz
* gc.c (gc_marks_test): inhibit gc for st's operation.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@42536 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
-rw-r--r--ChangeLog4
-rw-r--r--gc.c3
2 files changed, 7 insertions, 0 deletions
diff --git a/ChangeLog b/ChangeLog
index 054e47da34..ed8a0df3e3 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,7 @@
+Mon Aug 12 23:07:21 2013 Masaya Tarui <tarui@ruby-lang.org>
+
+ * gc.c (gc_marks_test): inhibit gc for st's operation.
+
Mon Aug 12 15:59:50 2013 Nobuyoshi Nakada <nobu@ruby-lang.org>
* parse.y (parser_whole_match_p): treat CR in middle of a line as a
diff --git a/gc.c b/gc.c
index 4ba997b207..6cb2594a2c 100644
--- a/gc.c
+++ b/gc.c
@@ -3550,6 +3550,8 @@ gc_marks_test(rb_objspace_t *objspace)
* exported_bitmap: after minor marking
*/
+ /* inhibit gc for st's operation */
+ dont_gc = 1;
if(!monitored_object_table)
monitored_object_table = st_init_numtable();
@@ -3608,6 +3610,7 @@ gc_marks_test(rb_objspace_t *objspace)
gc_free_exported_bitmaps(objspace, exported_bitmaps);
objspace->rgengc.have_saved_bitmaps = FALSE;
}
+ dont_gc = 0;
}
#endif /* RGENGC_CHECK_MODE >= 2 */