Feature #11331
closed[PATCH] load.c: use fstring for loaded features and expanded load path
Description
Loaded features is an obvious candidate for fstring since
feature paths of Ruby sources are included in iseq locations,
and iseq locations are in the fstring table anyways.
Deduplicating expanded load path can reuse old objects, since
repeated expansions may get reused before old expanded paths are GC-ed
away.
Only lightly-verified since I don't have a lot of code, but seems obvious
enough. Folks with bigger codebases are encouraged to double-check results.
Files
Updated by Anonymous over 9 years ago
- Status changed from Open to Closed
Applied in changeset r51261.
load.c: use fstring for loaded features and expanded load path
Loaded features is an obvious candidate for fstring since
feature paths of Ruby sources are included in iseq locations,
and iseq locations are in the fstring table anyways.
Deduplicating expanded load path can reuse old objects, since since
repeated expansions may recycle before old expanded paths are GC-ed
away.
- load.c (rb_construct_expanded_load_path): fstring expanded path
(get_loaded_features_index): fstring feature path
(rb_provide_feature): ditto
[ruby-core:69871] [Feature #11331]