(2012/11/26 7:02), sam.saffron (Sam Saffron) wrote:
> This means exceptions could be more efficient as filenames could easily be pinned in memory leading to significantly reduced allocation for exceptions. 

Current implementation does not make String array.
Please run the following code:

----

def foo
  raise
end

begin
  foo
rescue => e
  # e.backtrace # (X)
  ObjectSpace.each_object(Array){|ary|
    if ary.find{|obj| obj.is_a?(String) and /foo/ =~ obj}
      p ary
    end
  }
end

----

If you run (X), then the code prints out backtrace object.

-- 
// SASADA Koichi at atdot dot net