It seems exceptions still store backtraces in strings, shouldn't the backtrace be stored in RubyVM::Backtrace::Location objects and then optionally grabbed using backtrace_locations or backtrace depending on how you feel?
This means exceptions could be more efficient as filenames could easily be pinned in memory leading to significantly reduced allocation for exceptions.
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: