diff options
author | Nobuyoshi Nakada <nobu@ruby-lang.org> | 2020-02-09 16:41:56 +0900 |
---|---|---|
committer | NARUSE, Yui <naruse@airemix.jp> | 2020-03-13 21:51:06 +0900 |
commit | a9284ecb90176b4d8e9aa264da14ea08931be48f (patch) | |
tree | bdb9a89a2f76f2ae6b45347c579f2e5da96a85c6 | |
parent | 215eb86a7729bf0db487f399031ad55a1062fada (diff) |
Disable GC until VM objects get initialized [Bug #16616]
-rw-r--r-- | gc.c | 1 | ||||
-rw-r--r-- | test/ruby/test_thread.rb | 1 | ||||
-rw-r--r-- | vm.c | 2 |
3 files changed, 4 insertions, 0 deletions
@@ -1589,6 +1589,7 @@ rb_objspace_alloc(void) malloc_limit = gc_params.malloc_limit_min; list_head_init(&objspace->eden_heap.pages); list_head_init(&objspace->tomb_heap.pages); + dont_gc = TRUE; return objspace; } diff --git a/test/ruby/test_thread.rb b/test/ruby/test_thread.rb index f8127d8786..30a3cc784e 100644 --- a/test/ruby/test_thread.rb +++ b/test/ruby/test_thread.rb @@ -1150,6 +1150,7 @@ q.pop "0 thread_machine_stack_size") assert_operator(h_default[:thread_machine_stack_size], :<=, h_large[:thread_machine_stack_size], "large thread_machine_stack_size") + assert_equal("ok", invoke_rec('print :ok', 1024 * 1024 * 100, nil, false)) end def test_vm_machine_stack_size @@ -3331,6 +3331,8 @@ Init_vm_objects(void) vm->mark_object_ary = rb_ary_tmp_new(128); vm->loading_table = st_init_strtable(); vm->frozen_strings = st_init_table_with_size(&rb_fstring_hash_type, 10000); + + rb_objspace_gc_enable(vm->objspace); } /* top self */ |