aboutsummaryrefslogtreecommitdiffstats
path: root/ChangeLog
diff options
context:
space:
mode:
authorshirosaki <shirosaki@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2012-11-05 15:27:01 +0000
committershirosaki <shirosaki@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2012-11-05 15:27:01 +0000
commitb56a2afc14ebdc2e5524e0a8ebcf920626d463af (patch)
treed5ed0e2b7538ecddfebbebeea6949ace96c4aec7 /ChangeLog
parent2a7d349eb4d8535dda1f615a262614d3cee4d038 (diff)
downloadruby-b56a2afc14ebdc2e5524e0a8ebcf920626d463af.tar.gz
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
Diffstat (limited to 'ChangeLog')
-rw-r--r--ChangeLog32
1 files changed, 32 insertions, 0 deletions
diff --git a/ChangeLog b/ChangeLog
index da540779a6..e04be2cd7f 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,35 @@
+Mon Nov 5 23:24:42 2012 Greg Price <price@mit.edu>
+
+ * 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]
+
Mon Nov 5 23:23:51 2012 Greg Price <price@mit.edu>
* array.c (rb_ary_shared_with_p): new function.