Граф коммитов

63205 Коммитов

Автор SHA1 Сообщение Дата
Benoit Daloze 264889ec3d Fix Mutex#unlock with a scheduler and thread contention
* It would hit "[BUG] unexpected THREAD_STOPPED" before.
2020-09-17 15:15:43 +02:00
Benoit Daloze deffb63021 Document the various scheduler hooks 2020-09-17 14:59:38 +02:00
Benoit Daloze 9472d16061 Call scheduler.block instead of scheduler.kernel_sleep for blocking Queue/SizedQueue operations
* scheduler.unblock was already already called before but with no corresponding scheduler.block
* add test that Queue#pop makes the scheduler wait until it gets an element.
2020-09-17 14:59:38 +02:00
Benoit Daloze 738a089b3a Rename scheduler.{mutex_lock,mutex_unlock} to {block,unblock}
* Move #kernel_sleep next to #block as it is similar
2020-09-17 14:30:40 +02:00
Benoit Daloze c3acfcc78d Use a similar pattern for waiting and ready 2020-09-17 14:14:49 +02:00
Kazuhiro NISHIYAMA e4dbb91f4c
Fix typos [ci skip]
s/overriden/overridden/
2020-09-17 20:34:59 +09:00
Kazuhiro NISHIYAMA 63a4f2f93f
Sort links in NEWS.md by URI [ci skip] 2020-09-17 20:30:59 +09:00
Benoit Daloze 3f6c0a6d74 Update to ruby/spec@e829fb0 2020-09-17 11:42:26 +02:00
Benoit Daloze ce888bfa23 Add NEWS entry for [Feature #16792] 2020-09-17 11:17:07 +02:00
git 2e6c484040 * 2020-09-17 [ci skip] 2020-09-17 05:52:45 +09:00
Chris Seaton 8e173d8b27 Warn on a finalizer that captures the object to be finalized
Also improve specs and documentation for finalizers and more clearly
recommend a safe code pattern to use them.
2020-09-16 13:52:24 -07:00
Samuel Williams f75009c122 Prefer to use `prep_io` for temporary IO instances. 2020-09-17 00:31:04 +12:00
Kenta Murata 68b5f14d53
Fix assertion failed in Complex.polar without NDEBUG (#3551)
Fixes [Bug #17172].
2020-09-16 19:27:16 +09:00
Benoit Daloze 10290da54d Add a note at the top of the test scheduler 2020-09-16 11:37:06 +02:00
Benoit Daloze 9e813c1fc4 RUBY_ISEQ_DUMP_DEBUG=to_binary never kept the debug information for String literals
* That is, for plain string literals, not interpolated.
* The test below is very similar and uses the same check.
2020-09-16 11:17:23 +02:00
Benoit Daloze 9d8eeccf06 Revert "skip on RUBY_ISEQ_DUMP_DEBUG=to_binary"
This reverts commit 889bbbaf52.
2020-09-16 10:39:27 +02:00
Koichi Sasada 889bbbaf52 skip on RUBY_ISEQ_DUMP_DEBUG=to_binary
9b535f3ff7 does not support ISeq#to_binary.
To make CI green, skip this test temporarily.

Please fix this issue and revert this patch.
2020-09-16 15:44:26 +09:00
Hiroshi SHIBATA 344304c89f
Use build_message on test_securerandom.rb (#3543)
* Revert "Revert "[ruby/securerandom] Use build_message instead of message for test-unit""
* [ruby/securerandom] Fixed the wrong usage of build_message
2020-09-16 07:45:01 +09:00
Benoit Daloze 1af0319fc8 2.8 -> 3.0 in specs 2020-09-15 21:56:00 +02:00
Benoit Daloze 9b535f3ff7 Interpolated strings are no longer frozen with frozen-string-literal: true
* Remove freezestring instruction since this was the only usage for it.
* [Feature #17104]
2020-09-15 21:32:35 +02:00
Jean Boussier fbba6bd4e3 Parse ObjectSpace.dump_all / dump arguments in Ruby to avoid allocation noise
[Feature #17045] ObjectSpace.dump_all should allocate as little as possible in the GC heap

Up until this commit ObjectSpace.dump_all allocates two Hash because of `rb_scan_args`.

It also can allocate a `File` because of `rb_io_get_write_io`.

These allocations are problematic because `dump_all` dumps the Ruby
heap, so it should try modify as little as possible what it is
observing.
2020-09-15 09:18:13 -07:00
git a0d50465de * 2020-09-16 [ci skip] 2020-09-16 01:09:49 +09:00
Aaron Patterson 86087a1527 pointers on the stack need to be pinned 2020-09-15 09:09:25 -07:00
Hiroshi SHIBATA ee10efdcf0
Revert "[ruby/securerandom] Use build_message instead of message for test-unit"
This reverts commit 7f9f5f5723.
2020-09-15 21:44:59 +09:00
Jeremy Evans abbd324152 [ruby/uri] Remove deprecated URI.escape/URI.unescape
https://github.com/ruby/uri/commit/61c6a47ebf
2020-09-15 21:17:20 +09:00
Hiroshi SHIBATA 7f9f5f5723 [ruby/securerandom] Use build_message instead of message for test-unit
https://github.com/ruby/securerandom/commit/826b877e83
2020-09-15 21:07:27 +09:00
Ashwin Maroli 3dd9e12b51 [ruby/fileutils] Reduce iteration through list for `:mkdir_p`
By calling the instruction to `list.map` within `list.each` itself.
https://github.com/ruby/fileutils/commit/e690eec937
2020-09-15 20:32:13 +09:00
Samuel Williams 026ba68c10 Fix handling of FMODE_PREP. 2020-09-15 22:53:08 +12:00
Samuel Williams a9b2a96c5c Fix incorrect initialization of `rb_io_t::self`. 2020-09-15 22:53:08 +12:00
Kazuhiro NISHIYAMA b2b855f486
Fix `warning: instance variable bt_locations not initialized` 2020-09-15 14:03:41 +09:00
Kazuhiro NISHIYAMA f3754dfc2e
Fix missing `"` [ci skip] 2020-09-15 14:03:22 +09:00
aycabta 29b1ac613b Add IRB and Reline update for NEWS of 3.0.0-preview1 2020-09-15 09:40:24 +09:00
Marc-Andre Lafortune 60f5d38482 [ruby/ostruct] Fix dup/clone 2020-09-14 16:10:37 -04:00
Marc-Andre Lafortune 125605abd9 [ruby/ostruct] method_missing is private 2020-09-14 16:10:37 -04:00
Marc-Andre Lafortune 606c009ce2 [ruby/ostruct] Avoid self calling our public methods.
Found because `json` has a bad example in its test suite.
This implementation still offers better encapsulation.
2020-09-14 16:10:37 -04:00
Marc-Andre Lafortune 67e5f7a9e5 [ruby/ostruct] Reinstate recent changes
This reverts commit 28e60b0045.
2020-09-14 16:10:37 -04:00
Marc-Andre Lafortune 39312cf4d6 Optimize Pathname#relative? / absolute? 2020-09-14 14:18:23 -04:00
Marc-Andre Lafortune 28e60b0045 [ruby/ostruct] Revert recent changes
This reverts commit e026e186f4..12a2e32d43.
2020-09-14 13:29:54 -04:00
Marc-Andre Lafortune 867f0c6793 [ruby/rdoc] Prefer require_relative 2020-09-14 12:59:11 -04:00
Marc-Andre Lafortune 12a2e32d43 [ruby/ostruct] Add access to public instance methods in case they are overriden 2020-09-14 12:46:51 -04:00
Marc-Andre Lafortune 12a13eef49 [ruby/ostruct] Tweak doc 2020-09-14 12:46:49 -04:00
Marc-Andre Lafortune 8eefa8f373 [ruby/ostruct] Allow overriding public methods
[Fixes https://bugs.ruby-lang.org/issues/15409]
2020-09-14 12:46:47 -04:00
Marc-Andre Lafortune ebb8de7302 [ruby/ostruct] Refactor handling of frozen OpenStruct. Simplify `new_ostruct_member!` 2020-09-14 12:46:45 -04:00
Marc-Andre Lafortune 5e7ec05319 [ruby/ostruct] Add really basic test that was missing 2020-09-14 12:46:43 -04:00
Marc-Andre Lafortune e026e186f4 [ruby/ostruct] Revert "ostruct.rb: deferred accessors"
This reverts commits:
dc38e99813
22c082fcfd
b499e0f9ff
58e5876646

Add test for overriden private methods

[Fixes https://bugs.ruby-lang.org/issues/12136]
2020-09-14 12:46:27 -04:00
git 1cabb216c6 * 2020-09-15 [ci skip] 2020-09-15 00:05:28 +09:00
Koichi Sasada e81d7189a0 sync fstring pool
fstring pool should be sync with other Ractors.
2020-09-15 00:04:59 +09:00
Koichi Sasada 74ddac1c82 relax dependency
vm_sync.h does not need to include vm_core.h and ractor_pub.h.
2020-09-15 00:04:59 +09:00
Koichi Sasada f7ccb8dd88 restart Ractor.select on intterupt
signal can interrupt Ractor.select, but if there is no exception,
Ractor.select should restart automatically.
2020-09-15 00:04:59 +09:00
Nobuyoshi Nakada edb5c67195 [ruby/tmpdir] Warn when environment variables skipped (fixes #2)
https://github.com/ruby/tmpdir/commit/af7b020a89
2020-09-14 18:22:37 +09:00