Actions
Backport #8149
closed[patch] iseq: remove duplicate strings for file paths
Status:
Closed
Assignee:
Description
with:
./ruby -Ilib -e' GC.start; p ObjectSpace.each_object(String).to_a.select{ |s| s =~ /rubygems/defaults/ }.inject(Hash.new 0){|h,s| h[s]+=1; h} '
before:
{"/Users/test/code/ruby-trunk/lib/rubygems/defaults.rb"=>3}
after:
{"/Users/test/code/ruby-trunk/lib/rubygems/defaults.rb"=>1}
diff --git a/iseq.c b/iseq.c
index 288d3bf..72c92bd 100644
--- a/iseq.c
+++ b/iseq.c
@@ -188,7 +188,10 @@ iseq_location_setup(rb_iseq_t *iseq, VALUE path, VALUE absolute_path, VALUE name
{
rb_iseq_location_t *loc = &iseq->location;
loc->path = path;
- loc->absolute_path = absolute_path;
- if (RTEST(absolute_path) && rb_str_cmp(path, absolute_path) == 0)
-
loc->absolute_path = path;
- else
-
loc->label = loc->base_label = name;loc->absolute_path = absolute_path;
loc->first_lineno = first_lineno;
return loc;
Actions
Like0
Like0Like0Like0