From d7bef803ac3546119b30e1d78af0097a9df9c907 Mon Sep 17 00:00:00 2001 From: Nobuyoshi Nakada Date: Sun, 29 Dec 2019 10:07:17 +0900 Subject: [PATCH] Separate builtin initialization calls --- ast.c | 2 -- error.c | 6 ------ gc.c | 1 - inits.c | 20 +++++++++++++------- io.c | 6 ------ pack.c | 2 -- tool/mk_builtin_loader.rb | 2 +- vm_trace.c | 2 -- 8 files changed, 14 insertions(+), 27 deletions(-) diff --git a/ast.c b/ast.c index 3f7061a7b0..18a97239ff 100644 --- a/ast.c +++ b/ast.c @@ -690,6 +690,4 @@ Init_ast(void) rb_mAST = rb_define_module_under(rb_cRubyVM, "AbstractSyntaxTree"); rb_cNode = rb_define_class_under(rb_mAST, "Node", rb_cObject); rb_undef_alloc_func(rb_cNode); - - load_ast(); } diff --git a/error.c b/error.c index f99cdb6784..fd6c8fed19 100644 --- a/error.c +++ b/error.c @@ -3077,12 +3077,6 @@ Init_syserr(void) #include "warning.rbinc" -void -Init_warning(void) -{ - load_warning(); -} - /*! * \} */ diff --git a/gc.c b/gc.c index 9747655f99..ccece5b3d1 100644 --- a/gc.c +++ b/gc.c @@ -11868,7 +11868,6 @@ Init_GC(void) VALUE gc_constants; rb_mGC = rb_define_module("GC"); - load_gc(); gc_constants = rb_hash_new(); rb_hash_aset(gc_constants, ID2SYM(rb_intern("RVALUE_SIZE")), SIZET2NUM(sizeof(RVALUE))); diff --git a/inits.c b/inits.c index 72a2a9868b..b313d1dd10 100644 --- a/inits.c +++ b/inits.c @@ -12,6 +12,7 @@ #include "internal/inits.h" #include "ruby.h" #include "builtin.h" +static void Init_builtin_prelude(void); #include "prelude.rbinc" #define CALL(n) {void Init_##n(void); Init_##n();} @@ -45,6 +46,7 @@ rb_call_inits(void) CALL(Hash); CALL(Struct); CALL(Regexp); + CALL(pack); CALL(transcode); CALL(marshal); CALL(Range); @@ -57,6 +59,7 @@ rb_call_inits(void) CALL(Proc); CALL(Binding); CALL(Math); + CALL(GC); CALL(Enumerator); CALL(VM); CALL(ISeq); @@ -66,18 +69,21 @@ rb_call_inits(void) CALL(Rational); CALL(Complex); CALL(version); + CALL(vm_trace); CALL(vm_stack_canary); + CALL(ast); CALL(gc_stress); // enable builtin loading CALL(builtin); - CALL(GC); - CALL(IO_nonblock); - CALL(ast); - CALL(vm_trace); - CALL(pack); - CALL(warning); - load_prelude(); +#define BUILTIN(n) CALL(builtin_##n) + BUILTIN(gc); + BUILTIN(io); + BUILTIN(ast); + BUILTIN(trace_point); + BUILTIN(pack); + BUILTIN(warning); + Init_builtin_prelude(); } #undef CALL diff --git a/io.c b/io.c index 37109f5def..a6a7dd3f82 100644 --- a/io.c +++ b/io.c @@ -13522,9 +13522,3 @@ Init_IO(void) } #include "io.rbinc" - -void -Init_IO_nonblock(void) -{ - load_io(); -} diff --git a/pack.c b/pack.c index 8ba492fd3b..3c63d64ab5 100644 --- a/pack.c +++ b/pack.c @@ -1767,7 +1767,5 @@ utf8_to_uv(const char *p, long *lenp) void Init_pack(void) { - load_pack(); - id_associated = rb_make_internal_id(); } diff --git a/tool/mk_builtin_loader.rb b/tool/mk_builtin_loader.rb index 3d2a3430e0..837f56d696 100644 --- a/tool/mk_builtin_loader.rb +++ b/tool/mk_builtin_loader.rb @@ -166,7 +166,7 @@ def mk_builtin_header file end } - f.puts "static void load_#{base}(void)" + f.puts "void Init_builtin_#{base}(void)" f.puts "{" table = "#{base}_table" diff --git a/vm_trace.c b/vm_trace.c index 079795bfc6..e72c618739 100644 --- a/vm_trace.c +++ b/vm_trace.c @@ -1526,8 +1526,6 @@ Init_vm_trace(void) rb_cTracePoint = rb_define_class("TracePoint", rb_cObject); rb_undef_alloc_func(rb_cTracePoint); - - load_trace_point(); } typedef struct rb_postponed_job_struct {