Ruby 4.1.0dev (2026-11-12 revision e6e232d5facd495b6a7f143cf6e9c7960392ca25)
inits.c (e6e232d5facd495b6a7f143cf6e9c7960392ca25)
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(Thread_Mutex);
24 CALL(RandomSeedCore);
25 CALL(encodings);
26 CALL(sym);
27 CALL(var_tables);
28 CALL(Object);
29 CALL(top_self);
30 CALL(Encoding);
31 CALL(Comparable);
32 CALL(Enumerable);
33 CALL(String);
34 CALL(Exception);
35 CALL(eval);
36 CALL(jump);
37 CALL(Numeric);
38 CALL(Bignum);
39 CALL(syserr);
40 CALL(Array);
41 CALL(Hash);
42 CALL(Struct);
43 CALL(Regexp);
44 CALL(pack);
45 CALL(transcode);
46 CALL(marshal);
47 CALL(Range);
48 CALL(IO);
49 CALL(MemoryView); /* Must precede IO_Buffer */
50 CALL(IO_Buffer)
51 CALL(Dir);
52 CALL(Time);
53 CALL(Random);
54 CALL(load);
55 CALL(Ruby_module);
56 CALL(Box);
57 CALL(Proc);
58 CALL(uncached_methods); /* after every uncached method is defined */
59 CALL(Binding);
60 CALL(Math);
61 CALL(GC);
62 CALL(WeakMap);
63 CALL(Enumerator);
64 CALL(Ractor);
65 CALL(VM);
66 CALL(ISeq);
67 CALL(Thread);
68 CALL(signal);
69 CALL(Cont);
70 CALL(Fiber_Scheduler);
71 CALL(process);
72 CALL(Rational);
73 CALL(Complex);
74 CALL(pathname);
75 CALL(version);
76 CALL(vm_trace);
77 CALL(vm_stack_canary);
78 CALL(ast);
79 CALL(shape);
80 CALL(Prism);
81 CALL(unicode_version);
82 CALL(Set);
83
84 // enable builtin loading
85 CALL(builtin);
86}
87
88void
89rb_call_builtin_inits(void)
90{
91#define BUILTIN(n) CALL(builtin_##n)
92 BUILTIN(jit_hook);
93 BUILTIN(yjit);
94 BUILTIN(zjit);
95 BUILTIN(basic_object);
96 BUILTIN(kernel);
97 BUILTIN(gc);
98 BUILTIN(ractor);
99 BUILTIN(numeric);
100 BUILTIN(io);
101 BUILTIN(dir);
102 BUILTIN(ast);
103 BUILTIN(trace_point);
104 BUILTIN(pack);
105 BUILTIN(pathname_builtin);
106 BUILTIN(warning);
107 BUILTIN(array);
108 BUILTIN(hash);
109 BUILTIN(string);
110 BUILTIN(symbol);
111 BUILTIN(timev);
112 BUILTIN(thread_sync);
113 BUILTIN(nilclass);
114 BUILTIN(marshal);
115 BUILTIN(jit_undef);
116 Init_builtin_prelude();
117}
118#undef CALL
Defines RBIMPL_HAS_BUILTIN.