diff options
author | Nobuyoshi Nakada <[email protected]> | 2019-12-29 10:07:17 +0900 |
---|---|---|
committer | Nobuyoshi Nakada <[email protected]> | 2019-12-29 12:34:55 +0900 |
commit | d7bef803ac3546119b30e1d78af0097a9df9c907 (patch) | |
tree | 9af60ade39db53f7d33142a125b8492672fcab5d | |
parent | 8ce5d46e662f53a56cf21c47981bb99bcb5b73e6 (diff) |
Separate builtin initialization calls
Notes
Notes:
Merged: https://github.com/ruby/ruby/pull/2792
-rw-r--r-- | ast.c | 2 | ||||
-rw-r--r-- | error.c | 6 | ||||
-rw-r--r-- | gc.c | 1 | ||||
-rw-r--r-- | inits.c | 20 | ||||
-rw-r--r-- | io.c | 6 | ||||
-rw-r--r-- | pack.c | 2 | ||||
-rw-r--r-- | tool/mk_builtin_loader.rb | 2 | ||||
-rw-r--r-- | vm_trace.c | 2 |
8 files changed, 14 insertions, 27 deletions
@@ -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(); } @@ -3077,12 +3077,6 @@ Init_syserr(void) #include "warning.rbinc" -void -Init_warning(void) -{ - load_warning(); -} - /*! * \} */ @@ -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))); @@ -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 @@ -13522,9 +13522,3 @@ Init_IO(void) } #include "io.rbinc" - -void -Init_IO_nonblock(void) -{ - load_io(); -} @@ -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 { |