summaryrefslogtreecommitdiff
path: root/inits.c
diff options
context:
space:
mode:
Diffstat (limited to 'inits.c')
-rw-r--r--inits.c166
1 files changed, 100 insertions, 66 deletions
diff --git a/inits.c b/inits.c
index a6decb0b9d..4988fa09d0 100644
--- a/inits.c
+++ b/inits.c
@@ -3,80 +3,114 @@
inits.c -
$Author$
- $Date$
created at: Tue Dec 28 16:01:58 JST 1993
- Copyright (C) 1993-2003 Yukihiro Matsumoto
+ Copyright (C) 1993-2007 Yukihiro Matsumoto
**********************************************************************/
+#include "internal/inits.h"
#include "ruby.h"
+#include "builtin.h"
+static void Init_builtin_prelude(void);
+#include "prelude.rbinc"
-void Init_Array _((void));
-void Init_Bignum _((void));
-void Init_Comparable _((void));
-void Init_Dir _((void));
-void Init_Enumerable _((void));
-void Init_Exception _((void));
-void Init_syserr _((void));
-void Init_eval _((void));
-void Init_load _((void));
-void Init_Proc _((void));
-void Init_Thread _((void));
-void Init_File _((void));
-void Init_GC _((void));
-void Init_Hash _((void));
-void Init_IO _((void));
-void Init_Math _((void));
-void Init_marshal _((void));
-void Init_Numeric _((void));
-void Init_Object _((void));
-void Init_pack _((void));
-void Init_Precision _((void));
-void Init_sym _((void));
-void Init_process _((void));
-void Init_Random _((void));
-void Init_Range _((void));
-void Init_Regexp _((void));
-void Init_signal _((void));
-void Init_String _((void));
-void Init_Struct _((void));
-void Init_Time _((void));
-void Init_var_tables _((void));
-void Init_version _((void));
+#define CALL(n) {void Init_##n(void); Init_##n();}
void
-rb_call_inits()
+rb_call_inits(void)
{
- Init_sym();
- Init_var_tables();
- Init_Object();
- Init_Comparable();
- Init_Enumerable();
- Init_Precision();
- Init_eval();
- Init_String();
- Init_Exception();
- Init_Thread();
- Init_Numeric();
- Init_Bignum();
- Init_syserr();
- Init_Array();
- Init_Hash();
- Init_Struct();
- Init_Regexp();
- Init_pack();
- Init_Range();
- Init_IO();
- Init_Dir();
- Init_Time();
- Init_Random();
- Init_signal();
- Init_process();
- Init_load();
- Init_Proc();
- Init_Math();
- Init_GC();
- Init_marshal();
- Init_version();
+ CALL(default_shapes);
+ CALL(Thread_Mutex);
+ CALL(RandomSeedCore);
+ CALL(encodings);
+ CALL(sym);
+ CALL(var_tables);
+ CALL(Object);
+ CALL(top_self);
+ CALL(Encoding);
+ CALL(Comparable);
+ CALL(Enumerable);
+ CALL(String);
+ CALL(Exception);
+ CALL(eval);
+ CALL(jump);
+ CALL(Numeric);
+ CALL(Bignum);
+ CALL(syserr);
+ CALL(Array);
+ CALL(Hash);
+ CALL(Struct);
+ CALL(Regexp);
+ CALL(pack);
+ CALL(transcode);
+ CALL(marshal);
+ CALL(Range);
+ CALL(IO);
+ CALL(IO_Buffer)
+ CALL(Dir);
+ CALL(Time);
+ CALL(Random);
+ CALL(load);
+ CALL(Ruby_module);
+ CALL(Box);
+ CALL(Proc);
+ CALL(Binding);
+ CALL(Math);
+ CALL(GC);
+ CALL(WeakMap);
+ CALL(Enumerator);
+ CALL(Ractor);
+ CALL(VM);
+ CALL(ISeq);
+ CALL(Thread);
+ CALL(signal);
+ CALL(Cont);
+ CALL(Fiber_Scheduler);
+ CALL(process);
+ CALL(Rational);
+ CALL(Complex);
+ CALL(MemoryView);
+ CALL(pathname);
+ CALL(version);
+ CALL(vm_trace);
+ CALL(vm_stack_canary);
+ CALL(ast);
+ CALL(shape);
+ CALL(Prism);
+ CALL(unicode_version);
+ CALL(Set);
+
+ // enable builtin loading
+ CALL(builtin);
+}
+
+void
+rb_call_builtin_inits(void)
+{
+#define BUILTIN(n) CALL(builtin_##n)
+ BUILTIN(jit_hook);
+ BUILTIN(yjit);
+ BUILTIN(zjit);
+ BUILTIN(kernel);
+ BUILTIN(gc);
+ BUILTIN(ractor);
+ BUILTIN(numeric);
+ BUILTIN(io);
+ BUILTIN(dir);
+ BUILTIN(ast);
+ BUILTIN(trace_point);
+ BUILTIN(pack);
+ BUILTIN(pathname_builtin);
+ BUILTIN(warning);
+ BUILTIN(array);
+ BUILTIN(hash);
+ BUILTIN(symbol);
+ BUILTIN(timev);
+ BUILTIN(thread_sync);
+ BUILTIN(nilclass);
+ BUILTIN(marshal);
+ BUILTIN(jit_undef);
+ Init_builtin_prelude();
}
+#undef CALL