summaryrefslogtreecommitdiff
path: root/gc.h
diff options
context:
space:
mode:
authorKoichi Sasada <ko1@cookpad.com>2019-05-16 07:44:30 (GMT)
committerKoichi Sasada <ko1@atdot.net>2019-05-16 08:18:50 (GMT)
commit88449100bc6d23a00dbf3addb97665f4f606f2b8 (patch)
tree3bc4cb6ddf5d6c6add65da5c9463260ba55730e3 /gc.h
parenta160b2f56716f70fa3e485ae89875da48baefc1d (diff)
don't need to sweep rest.
`transient_heap_evacuate()` disables GC using `rb_gc_disable()` to prohibt GC invocation because of new allocation for evacuated memory. However, `rb_gc_disable()` sweep all rest of unswept pages. We don't need to cancel lazy sweep so this patch introduce `rb_gc_disable_no_rest()` which doesn't cancel lazy sweep.
Diffstat (limited to 'gc.h')
-rw-r--r--gc.h2
1 files changed, 2 insertions, 0 deletions
diff --git a/gc.h b/gc.h
index 7278901..f3b433f 100644
--- a/gc.h
+++ b/gc.h
@@ -94,6 +94,8 @@ const char *rb_obj_info(VALUE obj);
const char *rb_raw_obj_info(char *buff, const int buff_size, VALUE obj);
void rb_obj_info_dump(VALUE obj);
+VALUE rb_gc_disable_no_rest(void);
+
struct rb_thread_struct;
RUBY_SYMBOL_EXPORT_BEGIN