summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNobuyoshi Nakada <nobu@ruby-lang.org>2019-12-29 10:07:17 +0900
committerNobuyoshi Nakada <nobu@ruby-lang.org>2019-12-29 12:34:55 +0900
commitd7bef803ac3546119b30e1d78af0097a9df9c907 (patch)
tree9af60ade39db53f7d33142a125b8492672fcab5d
parent8ce5d46e662f53a56cf21c47981bb99bcb5b73e6 (diff)
Separate builtin initialization calls
Notes
Notes: Merged: https://github.com/ruby/ruby/pull/2792
-rw-r--r--ast.c2
-rw-r--r--error.c6
-rw-r--r--gc.c1
-rw-r--r--inits.c20
-rw-r--r--io.c6
-rw-r--r--pack.c2
-rw-r--r--tool/mk_builtin_loader.rb2
-rw-r--r--vm_trace.c2
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 {