Commit graph

63661 commits

Author SHA1 Message Date
Koichi Sasada
b416a76402 add debug log on enabling multi-ractor mode 2020-09-18 14:17:49 +09:00
Koichi Sasada
b189dc6926 rb_obj_info() shows more info for T_SYMBOL 2020-09-18 14:17:49 +09:00
Koichi Sasada
dd5db6f5fe sync fstring_table for deletion
Ractors can access this table simultaneously so we need to sync
accesses.
2020-09-18 14:17:49 +09:00
git
609e6ac0ca * 2020-09-18 [ci skip] 2020-09-18 00:30:47 +09:00
Benoit Daloze
d9b943b8e5 Cleanup commented code
* Mutex operations no longer disable the Fiber scheduler.
2020-09-17 17:29:43 +02:00
Benoit Daloze
d01954632d Add missing goto found;
* To still remove the lock from the Thread's list of acquired locks.
* Also to not wake up other waiters and preserve blocking behavior.
2020-09-17 17:26:52 +02:00
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
61c6a47ebf
2020-09-15 21:17:20 +09:00
Hiroshi SHIBATA
7f9f5f5723 [ruby/securerandom] Use build_message instead of message for test-unit
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.
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