25 VALUE load_path_snapshot;
26 VALUE load_path_check_cache;
27 VALUE expanded_load_path;
28 long expanded_load_path_maxlen;
29 VALUE loaded_features;
30 VALUE loaded_features_snapshot;
31 VALUE loaded_features_realpaths;
32 VALUE loaded_features_realpath_map;
33 struct st_table *loaded_features_index;
35 VALUE ruby_dln_libmap;
38 struct st_table *classext_cow_classes;
54#define BOX_OBJ_P(obj) (rb_obj_class(obj) == rb_cBox)
56#define BOX_MASTER_P(box) (box && !box->is_root && !box->is_user)
57#define BOX_MUTABLE_P(box) (box && (box->is_root || box->is_user))
58#define BOX_ROOT_P(box) (box && box->is_root)
59#define BOX_USER_P(box) (box && box->is_user)
60#define BOX_OPTIONAL_P(box) (box && box->is_optional)
61#define BOX_MAIN_P(box) (box && box->is_user && !box->is_optional)
63#define BOX_METHOD_DEFINITION(mdef) (mdef ? mdef->ns : NULL)
64#define BOX_METHOD_ENTRY(me) (me ? BOX_METHOD_DEFINITION(me->def) : NULL)
65#define BOX_CC(cc) (cc ? BOX_METHOD_ENTRY(cc->cme_) : NULL)
66#define BOX_CC_ENTRIES(ccs) (ccs ? BOX_METHOD_ENTRY(ccs->cme) : NULL)
75 return ruby_box_enabled;
81const rb_box_t * rb_current_box(
void);
82const rb_box_t * rb_loading_box(
void);
83const rb_box_t * rb_current_box_in_crash_report(
void);
85void rb_box_entry_mark(
void *);
86void rb_box_gc_update_references(
void *ptr);
92void rb_box_cleanup_local_extension(
VALUE cleanup);
93void rb_box_defer_unload_local_extension(
void *handle);
94void rb_box_unload_local_extensions(
void);
96void rb_initialize_mandatory_boxes(
void);
97void rb_box_init_done(
void);
#define RUBY_EXTERN
Declaration of externally visible global variables.
Internal header for Ruby Box.
uintptr_t VALUE
Type that represents a Ruby object.