summaryrefslogtreecommitdiff
path: root/test/ruby/test_variable.rb
diff options
context:
space:
mode:
authorPeter Zhu <peter@peterzhu.ca>2024-07-31 13:32:29 -0400
committerPeter Zhu <peter@peterzhu.ca>2024-07-31 14:47:44 -0400
commit635839749026b5d5bafeb892f2f01a9348a4b5c8 (patch)
treeae9b62749e81ebb598c4bdfcce8e7ee4ab705bee /test/ruby/test_variable.rb
parent70b4f45d9f1936128e73ab0b8701269c06e709f5 (diff)
Fix leak of AST when Ripper#compile_error jumps
For example, the following script leaks: class MyRipper < Ripper def initialize(src, &blk) super(src) @blk = blk end def compile_error(msg) = @blk.call(msg) end def call_parse = MyRipper.new("/") { |msg| return msg }.parse 10.times do 100_000.times do call_parse end puts `ps -o rss= -p #{$$}` end Before: 93952 169040 244224 318784 394432 468224 544048 618560 693776 768384 After: 19776 19776 20352 20880 20912 21408 21328 21152 21472 20944
Notes
Notes: Merged: https://github.com/ruby/ruby/pull/11287
Diffstat (limited to 'test/ruby/test_variable.rb')
0 files changed, 0 insertions, 0 deletions