summaryrefslogtreecommitdiff
path: root/internal/namespace.h
AgeCommit message (Collapse)Author
2025-11-07rename namespace.c (and others) to box.cSatoshi Tagomori
2025-10-07Stop displaying current namespace when it crashedSatoshi Tagomori
To avoid crashes during displaying crash reports.
2025-09-29Fix wrong way to check an object is an instance of rb_cNamespaceSatoshi Tagomori
2025-09-29Update current namespace management by using control frames and lexical contextsSatoshi Tagomori
to fix inconsistent and wrong current namespace detections. This includes: * Moving load_path and related things from rb_vm_t to rb_namespace_t to simplify accessing those values via namespace (instead of accessing either vm or ns) * Initializing root_namespace earlier and consolidate builtin_namespace into root_namespace * Adding VM_FRAME_FLAG_NS_REQUIRE for checkpoints to detect a namespace to load/require files * Removing implicit refinements in the root namespace which was used to determine the namespace to be loaded (replaced by VM_FRAME_FLAG_NS_REQUIRE) * Removing namespaces from rb_proc_t because its namespace can be identified by lexical context * Starting to use ep[VM_ENV_DATA_INDEX_SPECVAL] to store the current namespace when the frame type is MAGIC_TOP or MAGIC_CLASS (block handlers don't exist in this case)
2025-06-23Mark RClass instance that may be namespaced with RCLASS_NAMESPACEABLEJean Boussier
2025-06-23Optimize `rb_namespace_available`Jean Boussier
Rather than to lazily check the env using a trinary value, we can more straightforwardly check for the env during the VM boot. This allow `rb_namespace_available` to just be a pointer dereference.
2025-05-11Show experimental warning when namespace is enabledSatoshi Tagomori
2025-05-11Delete code for debugging namespaceSatoshi Tagomori
2025-05-11namespace on readSatoshi Tagomori