ruby/inits.c
Peter Zhu f98a7fd28d Move WeakMap and WeakKeyMap code to weakmap.c
These classes don't belong in gc.c as they're not actually part of the
GC. This commit refactors the code by moving all the code into a
weakmap.c file.
2023-03-10 09:32:10 -05:00

115 lines
2.1 KiB
C

/**********************************************************************
inits.c -
$Author$
created at: Tue Dec 28 16:01:58 JST 1993
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"
#define CALL(n) {void Init_##n(void); Init_##n();}
void
rb_call_inits(void)
{
CALL(default_shapes);
CALL(Thread_Mutex);
#if USE_TRANSIENT_HEAP
CALL(TransientHeap);
#endif
CALL(vm_postponed_job);
CALL(Method);
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(signal);
CALL(load);
CALL(Proc);
CALL(Binding);
CALL(Math);
CALL(GC);
CALL(WeakMap);
CALL(Enumerator);
CALL(Ractor);
CALL(VM);
CALL(ISeq);
CALL(Thread);
CALL(Fiber_Scheduler);
CALL(process);
CALL(Cont);
CALL(Rational);
CALL(Complex);
CALL(MemoryView);
CALL(version);
CALL(vm_trace);
CALL(vm_stack_canary);
CALL(ast);
CALL(gc_stress);
CALL(shape);
// enable builtin loading
CALL(builtin);
}
void
rb_call_builtin_inits(void)
{
#define BUILTIN(n) CALL(builtin_##n)
BUILTIN(gc);
BUILTIN(ractor);
BUILTIN(numeric);
BUILTIN(io);
BUILTIN(dir);
BUILTIN(ast);
BUILTIN(trace_point);
BUILTIN(pack);
BUILTIN(warning);
BUILTIN(array);
BUILTIN(kernel);
BUILTIN(symbol);
BUILTIN(timev);
BUILTIN(thread_sync);
BUILTIN(yjit);
BUILTIN(nilclass);
BUILTIN(marshal);
#if USE_RJIT
BUILTIN(rjit_c);
BUILTIN(rjit);
#endif
Init_builtin_prelude();
}
#undef CALL