summaryrefslogtreecommitdiff
path: root/gc/mmtk/mmtk.c
diff options
context:
space:
mode:
Diffstat (limited to 'gc/mmtk/mmtk.c')
-rw-r--r--gc/mmtk/mmtk.c13
1 files changed, 2 insertions, 11 deletions
diff --git a/gc/mmtk/mmtk.c b/gc/mmtk/mmtk.c
index b1deeef755..f52b183fa7 100644
--- a/gc/mmtk/mmtk.c
+++ b/gc/mmtk/mmtk.c
@@ -562,16 +562,7 @@ rb_gc_impl_shutdown_free_objects(void *objspace_ptr)
void
rb_gc_impl_start(void *objspace_ptr, bool full_mark, bool immediate_mark, bool immediate_sweep, bool compact)
{
- bool enabled = mmtk_gc_enabled_p();
- if (!enabled) {
- mmtk_set_gc_enabled(true);
- }
-
- mmtk_handle_user_collection_request(rb_gc_get_ractor_newobj_cache());
-
- if (!enabled) {
- mmtk_set_gc_enabled(false);
- }
+ mmtk_handle_user_collection_request(rb_gc_get_ractor_newobj_cache(), true, full_mark);
}
bool
@@ -667,7 +658,7 @@ rb_gc_impl_new_obj(void *objspace_ptr, void *cache_ptr, VALUE klass, VALUE flags
}
if (objspace->gc_stress) {
- mmtk_handle_user_collection_request(ractor_cache);
+ mmtk_handle_user_collection_request(ractor_cache, false, false);
}
VALUE *alloc_obj = mmtk_alloc(ractor_cache->mutator, alloc_size + 8, MMTk_MIN_OBJ_ALIGN, 0, MMTK_ALLOCATION_SEMANTICS_DEFAULT);