mirror of
https://github.com/ruby/ruby.git
synced 2022-11-09 12:17:21 -05:00
Guard array when appending This prevents early collection of the array. The GC doesn't see the array on the stack when Ruby is compiled with optimizations enabled [ruby-core:105099] [Bug #18140] --- array.c | 1 + test/ruby/test_array.rb | 6 ++++++ 2 files changed, 7 insertions(+) Guard array when appending This prevents early collection of the array. The GC doesn't see the array on the stack when Ruby is compiled with optimizations enabled Thanks @jhaberman for the test case [ruby-core:105099] [Bug #18140] --- ext/-test-/array/concat/depend | 321 ++++++++++++++++++++++++++++++++ ext/-test-/array/concat/extconf.rb | 2 + ext/-test-/array/concat/to_ary_conact.c | 64 +++++++ test/-ext-/array/test_to_ary_concat.rb | 20 ++ 4 files changed, 407 insertions(+) create mode 100644 ext/-test-/array/concat/depend create mode 100644 ext/-test-/array/concat/extconf.rb create mode 100644 ext/-test-/array/concat/to_ary_conact.c create mode 100644 test/-ext-/array/test_to_ary_concat.rb Refined test [Bug #18140] --- ext/-test-/array/concat/to_ary_conact.c | 48 +++++++-------------------------- test/ruby/test_array.rb | 5 +++- 2 files changed, 13 insertions(+), 40 deletions(-) |
||
|---|---|---|
| .. | ||
| arith_seq | ||
| array | ||
| bignum | ||
| bug_reporter | ||
| class | ||
| debug | ||
| exception | ||
| file | ||
| float | ||
| funcall | ||
| gvl | ||
| hash | ||
| integer | ||
| iseq_load | ||
| iter | ||
| load | ||
| marshal | ||
| method | ||
| num2int | ||
| path_to_class | ||
| popen_deadlock | ||
| postponed_job | ||
| proc | ||
| rational | ||
| st | ||
| string | ||
| struct | ||
| symbol | ||
| thread_fd_close | ||
| time | ||
| tracepoint | ||
| typeddata | ||
| vm | ||
| wait_for_single_fd | ||
| win32 | ||
| test_bug-3571.rb | ||
| test_bug-5832.rb | ||
| test_bug-14834.rb | ||
| test_enumerator_kw.rb | ||
| test_notimplement.rb | ||
| test_printf.rb | ||
| test_random.rb | ||
| test_recursion.rb | ||
| test_scan_args.rb | ||