summaryrefslogtreecommitdiff
path: root/array.c
diff options
context:
space:
mode:
authorPeter Zhu <peter@peterzhu.ca>2024-07-31 14:59:21 -0400
committerPeter Zhu <peter@peterzhu.ca>2024-08-07 09:14:14 -0400
commit584559d86a951095d793a536ad998e12ea08a890 (patch)
tree0ae27b633e48bbb0eed2e770917f45fc7a288d4b /array.c
parent60bbd9e462eaa84fa7393e4db11ed5ad52a5ae9a (diff)
Fix leak of token_info when Ripper#warn jumps
For example, the following code leaks: class MyRipper < Ripper def initialize(src, &blk) super(src) @blk = blk end def warn(msg, *args) = @blk.call(msg) end $VERBOSE = true def call_parse = MyRipper.new("if true\n end\n") { |msg| return msg }.parse 10.times do 500_000.times do call_parse end puts `ps -o rss= -p #{$$}` end Before: 37536 53744 70064 86448 102576 119120 135248 151216 167744 183824 After: 19280 19696 19728 20336 20448 21408 21616 21616 21824 21840
Notes
Notes: Merged: https://github.com/ruby/ruby/pull/11289
Diffstat (limited to 'array.c')
0 files changed, 0 insertions, 0 deletions