Ruby 3.5.0dev (2025-07-19 revision b49ae45b88d5b80ff9f8ff2acc748bf98aa700c6)
inits.c (b49ae45b88d5b80ff9f8ff2acc748bf98aa700c6)
1/**********************************************************************
2
3 inits.c -
4
5 $Author$
6 created at: Tue Dec 28 16:01:58 JST 1993
7
8 Copyright (C) 1993-2007 Yukihiro Matsumoto
9
10**********************************************************************/
11
12#include "internal/inits.h"
13#include "ruby.h"
14#include "builtin.h"
15static void Init_builtin_prelude(void);
16#include "prelude.rbinc"
17
18#define CALL(n) {void Init_##n(void); Init_##n();}
19
20void
21rb_call_inits(void)
22{
23 CALL(default_shapes);
24 CALL(Thread_Mutex);
25 CALL(RandomSeedCore);
26 CALL(encodings);
27 CALL(sym);
28 CALL(var_tables);
29 CALL(Object);
30 CALL(top_self);
31 CALL(Encoding);
32 CALL(Comparable);
33 CALL(Enumerable);
34 CALL(String);
35 CALL(Exception);
36 CALL(eval);
37 CALL(jump);
38 CALL(Numeric);
39 CALL(Bignum);
40 CALL(syserr);
41 CALL(Array);
42 CALL(Hash);
43 CALL(Struct);
44 CALL(Regexp);
45 CALL(pack);
46 CALL(transcode);
47 CALL(marshal);
48 CALL(Range);
49 CALL(IO);
50 CALL(IO_Buffer)
51 CALL(Dir);
52 CALL(Time);
53 CALL(Random);
54 CALL(load);
55 CALL(Proc);
56 CALL(Binding);
57 CALL(Math);
58 CALL(GC);
59 CALL(WeakMap);
60 CALL(Enumerator);
61 CALL(Ractor);
62 CALL(VM);
63 CALL(ISeq);
64 CALL(Thread);
65 CALL(signal);
66 CALL(Cont);
67 CALL(Fiber_Scheduler);
68 CALL(process);
69 CALL(Rational);
70 CALL(Complex);
71 CALL(MemoryView);
72 CALL(pathname);
73 CALL(version);
74 CALL(vm_trace);
75 CALL(vm_stack_canary);
76 CALL(ast);
77 CALL(shape);
78 CALL(Prism);
79 CALL(unicode_version);
80 CALL(Set);
81 CALL(Namespace);
82
83 // enable builtin loading
84 CALL(builtin);
85}
86
87void
88rb_call_builtin_inits(void)
89{
90#define BUILTIN(n) CALL(builtin_##n)
91 BUILTIN(kernel);
92 BUILTIN(yjit);
93 // BUILTIN(yjit_hook) is called after rb_yjit_init()
94 BUILTIN(gc);
95 BUILTIN(ractor);
96 BUILTIN(numeric);
97 BUILTIN(io);
98 BUILTIN(dir);
99 BUILTIN(ast);
100 BUILTIN(trace_point);
101 BUILTIN(pack);
102 BUILTIN(pathname_builtin);
103 BUILTIN(warning);
104 BUILTIN(array);
105 BUILTIN(hash);
106 BUILTIN(symbol);
107 BUILTIN(timev);
108 BUILTIN(thread_sync);
109 BUILTIN(nilclass);
110 BUILTIN(marshal);
111 BUILTIN(zjit);
112 Init_builtin_prelude();
113}
114#undef CALL
Defines RBIMPL_HAS_BUILTIN.