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
entries.
load.c (reset_loaded_features_snapshot): add a new function to reset
vm->loaded_features_snapshot.
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 feature.
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
entries.
load.c (reset_loaded_features_snapshot): add a new function to reset
vm->loaded_features_snapshot.
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
feature
.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]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@37480 b2dd03c8-39d4-4d8f-98ff-823fe69b080e