Added by shirosaki over 6 years ago
Index $LOADED_FEATURES so that require isn't so slow
load.c (rb_feature_p, rb_provide_feature): index $LOADED_FEATURES
so that require isn't so slow.
load.c (rb_provide_feature, get_loaded_features_index): ensure
that $LOADED_FEATURES entries are frozen strings. The user
must mutate $LOADED_FEATURES itself rather than its individual
load.c (reset_loaded_features_snapshot): add a new function to reset
load.c (get_loaded_features_index_raw): add a new function to get
the loaded-features index.
load.c (features_index_add_single): add a new function to add to the
loaded-features index a single feature.
load.c (features_index_add): add a new function to add to the
loaded-features index all the required entries for
vm_core.h (rb_vm_struct): add fields.
vm.c (rb_vm_mark): mark new fields.
include/ruby/intern.h (rb_hash_clear): declare function.
hash.c (rb_hash_clear): make function non-static.
Patch by Greg Price.
[ruby-core:47970] [Bug #7158]