summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2020-10-03Remove known use-after-poison bugNobuyoshi Nakada
9eda6547812cbda23a73ba3b2620520b0de2bdd6 was fixed by b9488accf9e2cbf5f7c47b42b3eb23469f0aa58d.
2020-10-03* 2020-10-03 [ci skip]git
2020-10-03Fix ObjectSpace.dump(obj, output: :stdout)Kazuhiro NISHIYAMA
RDoc says `ObjectSpace.dump(obj, output: :stdout) # => nil`, but it returns STDOUT since fbba6bd4e3dff7a61965208fecae908f10c4edbe. I think it is unintentional change. Notes: Merged: https://github.com/ruby/ruby/pull/3620
2020-10-02Hoisted out ensure_cmp which checks the comparison succeededNobuyoshi Nakada
2020-10-02Update marshal.rdocGwitr
Notes: Merged: https://github.com/ruby/ruby/pull/3568
2020-10-02Ensure that the comparison succeeded [Bug #17205]Nobuyoshi Nakada
2020-10-01Update the thread's self / wrapper addressAaron Patterson
Threads can move, and if they do, their self pointer may go bad. We need to update it.
2020-10-02Put same frozen Range literal if possibleKoichi Sasada
Range literal is now frozen so we can reuse same Range object if the begin and the last are Numeric (frozen), such as `(1..2)`. Notes: Merged: https://github.com/ruby/ruby/pull/3587
2020-10-02Removed meaningless system dependent testsNobuyoshi Nakada
As [Bug #16662] lchmod available in linux since glibc 2.31.9000, a system call may exist or not exist depending on the version. It is not a spec nor responsibility of Ruby.
2020-10-02memory_view.c: Use ssize_t for ndim in memory_view (#3615)Kenta Murata
* memory_view.c: Use ssize_t for ndim in memory_view * include/ruby/memory_view.h: Fix the type of item_size argument Notes: Merged-By: mrkn <mrkn@ruby-lang.org>
2020-10-01Make minor improvements to supereileencodes
The changes here include: * Using `FL_TEST_RAW` instead of `FL_TEST` in the first check in `vm_search_super_method`. While the profile showed us spending a fair amount of time here, the subsequent benchmarks didn't show much improvement when adding this. Regardless, we know this does less work than `FL_TEST` and we know that `FL_TEST_RAW` is safe due to the previous check so it's a small but accurate optimization. * Set `mid` only once. Both `vm_ci_new_runtime` and `vm_ci_mid` were getting the `original_id` for the method entry. We can do this once and pass the variable to the 2 callers that need it. This also doesn't have a huge performance improvement but cleans up the code a bit. Benchmark: ``` | |compare-ruby|built-ruby| |:----------------|-----------:|---------:| |vm_iclass_super | 3.540M| 3.940M| | | -| 1.11x| ``` Co-authored-by: Aaron Patterson <tenderlove@ruby-lang.org> Notes: Merged: https://github.com/ruby/ruby/pull/3614
2020-10-02* 2020-10-02 [ci skip]git
2020-10-01Fix a use-after-free bug reported by ASANAaron Patterson
If a fiber and thread are collected at the same time, the thread might get collected first and the pointer on the fiber will go bad. I don't think we need to check whether or not this is the main fiber in order to release its stack Notes: Merged: https://github.com/ruby/ruby/pull/3571
2020-10-01Don't use `th->scheduler` directly because it's not always valid to do so.Samuel Williams
Notes: Merged: https://github.com/ruby/ruby/pull/3613
2020-10-01Refined assertions for better failure messagesNobuyoshi Nakada
2020-10-01strip trailing spaces [ci skip]Nobuyoshi Nakada
2020-10-01Added a fallback returnNobuyoshi Nakada
2020-10-01rb_thread_scheduler is no longer usedNobuyoshi Nakada
2020-10-01break around function definition [ci skip]Nobuyoshi Nakada
2020-10-01spec/ruby/core/process/spawn_spec.rb: skip a test on AndroidYusuke Endoh
On Android, STDERR seems to be open even its invoker closes it. http://rubyci.s3.amazonaws.com/android29-x86_64/ruby-master/log/20201001T014315Z.fail.html.gz ``` 1) Process.spawn closes STDERR in the child if :err => :close FAILED Expected (59840): "out\nrescued\n" but got: "out\n" ```
2020-10-01Add links to the tickets [ci skip]Kazuhiro NISHIYAMA
2020-10-01Rework `rb_ec_scheduler_finalize` to ensure exceptions are printed.Samuel Williams
Notes: Merged: https://github.com/ruby/ruby/pull/3610
2020-10-01Remove `Thread.scheduler` from public interface.Samuel Williams
It's implementation is equivalent to: Thread.current.scheduler unless Thread.current.blocking? Notes: Merged: https://github.com/ruby/ruby/pull/3610
2020-10-01Raise an exception if the scheduler was already closed.Samuel Williams
Notes: Merged: https://github.com/ruby/ruby/pull/3612
2020-10-01Don't call `Scheduler#close` if it doesn't exist.Samuel Williams
Notes: Merged: https://github.com/ruby/ruby/pull/3612
2020-10-01stop Ractor test in test-allKoichi Sasada
Ractor changes the interpreter's running mode so now it should not use in test-all process which running with many other tests. Test with a separating process is one idea, but I'm not sure the ruby/ostruct can use this trick.
2020-09-30[ruby/ostruct] Tweak docMarc-Andre Lafortune
Notes: Merged: https://github.com/ruby/ruby/pull/3593
2020-09-30[ruby/ostruct] Remove unused conditionMarc-Andre Lafortune
Notes: Merged: https://github.com/ruby/ruby/pull/3593
2020-09-30[ruby/ostruct] Improved YAML serialization.Marc-Andre Lafortune
Patch adapted from Pietro Monteiro [Fixes bug#8382] Notes: Merged: https://github.com/ruby/ruby/pull/3593
2020-09-30[ruby/ostruct] Update NEWSMarc-Andre Lafortune
Notes: Merged: https://github.com/ruby/ruby/pull/3593
2020-09-30[ruby/ostruct] Add test that frozen OpenStructs are Ractor-shareableMarc-Andre Lafortune
Notes: Merged: https://github.com/ruby/ruby/pull/3593
2020-09-30[ruby/ostruct] Protect subclass' methods and our bang methods.Marc-Andre Lafortune
Internally, use only bang methods Notes: Merged: https://github.com/ruby/ruby/pull/3593
2020-09-30[ruby/ostruct] Avoid calling initializeMarc-Andre Lafortune
Notes: Merged: https://github.com/ruby/ruby/pull/3593
2020-09-30Remove trailing whitespace [doc]Marc-Andre Lafortune
Notes: Merged: https://github.com/ruby/ruby/pull/3593
2020-10-01* 2020-10-01 [ci skip]git
2020-09-30Enhanced RDoc for String#[] (#3607)Burdette Lamar
* Enhanced RDoc for String#[] Notes: Merged-By: BurdetteLamar <BurdetteLamar@Yahoo.com>
2020-09-30Unfreeze string-literal-only interpolated string-literalNobuyoshi Nakada
[Feature #17104]
2020-09-30Update to ruby/spec@bfd843aBenoit Daloze
2020-09-30Update to ruby/mspec@e154fa1Benoit Daloze
2020-09-30strip trailing spaces [ci skip]Nobuyoshi Nakada
2020-09-30Update to ruby/spec@681e8cfBenoit Daloze
2020-09-30Update to ruby/mspec@4120a62Benoit Daloze
2020-09-30Update to ruby/spec@9277d27Benoit Daloze
2020-09-30Remove unneeded `begin` and `end`Kazuhiro NISHIYAMA
2020-09-30Fix `Leaked tempfile`sKazuhiro NISHIYAMA
http://rubyci.s3.amazonaws.com/debian10/ruby-master/log/20200930T033004Z.diff.html.gz ``` [n/n] JSONCommonInterfaceTest#test_load = <elapsed> s [n/n] JSONCommonInterfaceTest#test_load_file = <elapsed> s +Leaked tempfile: JSONCommonInterfaceTest#test_load_file: #<Tempfile:<build-dir>/tmp/20200930-7601-ptnv6i (closed)> [n/n] JSONCommonInterfaceTest#test_load_file! = <elapsed> s +Leaked tempfile: JSONCommonInterfaceTest#test_load_file!: #<Tempfile:<build-dir>/tmp/20200930-7601-1la6m9 (closed)> [n/n] JSONCommonInterfaceTest#test_load_file_with_option = <elapsed> s +Leaked tempfile: JSONCommonInterfaceTest#test_load_file_with_option: #<Tempfile:<build-dir>/tmp/20200930-7601-blf9hz (closed)> [n/n] JSONCommonInterfaceTest#test_load_file_with_option! = <elapsed> s +Leaked tempfile: JSONCommonInterfaceTest#test_load_file_with_option!: #<Tempfile:<build-dir>/tmp/20200930-7601-b5gsdb (closed)> ```
2020-09-30Suppress warningsKazuhiro NISHIYAMA
``` compiling ../mjit.c In file included from ../mjit.c:28: ../mjit_worker.c:1270:33: warning: incompatible pointer to integer conversion passing 'const struct rb_callcache *' to parameter of type 'VALUE' (aka 'unsigned long') [-Wint-conversion] assert(BUILTIN_TYPE(cc) != T_MOVED); ^~ /Library/Developer/CommandLineTools/SDKs/MacOSX10.14.sdk/usr/include/assert.h:93:25: note: expanded from macro 'assert' (__builtin_expect(!(e), 0) ? __assert_rtn(__func__, __FILE__, __LINE__, #e) : (void)0) ^ ../include/ruby/internal/value_type.h:153:23: note: passing argument to parameter 'obj' here RB_BUILTIN_TYPE(VALUE obj) ^ In file included from ../mjit.c:28: ../mjit_worker.c:1271:33: warning: incompatible pointer to integer conversion passing 'const struct rb_callable_method_entry_struct *' to parameter of type 'VALUE' (aka 'unsigned long') [-Wint-conversion] assert(BUILTIN_TYPE(vm_cc_cme(cc)) != T_MOVED); ^~~~~~~~~~~~~ /Library/Developer/CommandLineTools/SDKs/MacOSX10.14.sdk/usr/include/assert.h:93:25: note: expanded from macro 'assert' (__builtin_expect(!(e), 0) ? __assert_rtn(__func__, __FILE__, __LINE__, #e) : (void)0) ^ ../include/ruby/internal/value_type.h:153:23: note: passing argument to parameter 'obj' here RB_BUILTIN_TYPE(VALUE obj) ^ In file included from ../mjit.c:28: ../mjit_worker.c:1272:50: warning: incompatible pointer to integer conversion passing 'const struct rb_callcache *' to parameter of type 'VALUE' (aka 'unsigned long') [-Wint-conversion] assert(!rb_objspace_garbage_object_p(cc)); ^~ /Library/Developer/CommandLineTools/SDKs/MacOSX10.14.sdk/usr/include/assert.h:93:25: note: expanded from macro 'assert' (__builtin_expect(!(e), 0) ? __assert_rtn(__func__, __FILE__, __LINE__, #e) : (void)0) ^ ../gc.h:128:40: note: passing argument to parameter 'obj' here int rb_objspace_garbage_object_p(VALUE obj); ^ In file included from ../mjit.c:28: ../mjit_worker.c:1273:50: warning: incompatible pointer to integer conversion passing 'const struct rb_callable_method_entry_struct *' to parameter of type 'VALUE' (aka 'unsigned long') [-Wint-conversion] assert(!rb_objspace_garbage_object_p(vm_cc_cme(cc))); ^~~~~~~~~~~~~ /Library/Developer/CommandLineTools/SDKs/MacOSX10.14.sdk/usr/include/assert.h:93:25: note: expanded from macro 'assert' (__builtin_expect(!(e), 0) ? __assert_rtn(__func__, __FILE__, __LINE__, #e) : (void)0) ^ ../gc.h:128:40: note: passing argument to parameter 'obj' here int rb_objspace_garbage_object_p(VALUE obj); ^ 4 warnings generated. ```
2020-09-30Fix order of operations during `rb_ec_finalize`.Samuel Williams
Notes: Merged: https://github.com/ruby/ruby/pull/3605
2020-09-29Enhanced RDoc for String#upto (#3603)Burdette Lamar
* Enhanced RDoc for String#upto Notes: Merged-By: BurdetteLamar <BurdetteLamar@Yahoo.com>
2020-09-29Reference process PID using the Process#pidMaciej Mensfeld
This change will allow formatter to run from Ractors other than main. Notes: Merged: https://github.com/ruby/ruby/pull/3600
2020-09-30* 2020-09-30 [ci skip]git