Age | Commit message (Collapse) | Author |
|
|
|
Notes:
Merged: https://github.com/ruby/ruby/pull/5548
|
|
|
|
|
|
I used this regex:
(?<=\[)#(?:class|module)-([A-Za-z]+)-label-([A-Za-z0-9\-\+]+)
And performed a global find & replace for this:
rdoc-ref:$1@$2
Notes:
Merged: https://github.com/ruby/ruby/pull/5530
|
|
I used this regex:
([A-Za-z]+)\.html#(?:class|module)-[A-Za-z]+-label-([A-Za-z0-9\-\+]+)
And performed a global find & replace for this:
rdoc-ref:$1@$2
Notes:
Merged: https://github.com/ruby/ruby/pull/5530
|
|
Before this change the write barrier was executed before the key and
value were actually reachable via the Hash. This could cause
inconsistencies in object coloration which would lead to accidental
collection of dup'd keys.
Example:
1. Object O is grey, Object P is white.
2. Write barrier fires O -> P
3. Write barrier does nothing
4. Malloc happens, which starts GC
5. GC colors O black
6. P is written in to O (now we have O -> P reference)
7. P is now accidentally treated as garbage
Notes:
Merged: https://github.com/ruby/ruby/pull/5525
|
|
Fixes [Bug #16908]
Notes:
Merged: https://github.com/ruby/ruby/pull/5360
|
|
Already these had been announced to be removed in 3.2.
Notes:
Merged: https://github.com/ruby/ruby/pull/5348
|
|
|
|
Notes:
Merged: https://github.com/ruby/ruby/pull/5244
Merged-By: nobu <[email protected]>
|
|
[DOC] What's Here for ENV
Notes:
Merged-By: BurdetteLamar <[email protected]>
|
|
Notes:
Merged: https://github.com/ruby/ruby/pull/5288
|
|
pointed by @nobu.
Notes:
Merged: https://github.com/ruby/ruby/pull/5288
|
|
The `ENV` object can have instance variables like other objects,
but they should be accessed only on the main ractor.
fix https://github.com/ruby/ruby/pull/5263#issuecomment-995585766
Notes:
Merged: https://github.com/ruby/ruby/pull/5288
|
|
|
|
|
|
We found that we need to make Ruby objects while locking the environ
to ENV operation atomically, so we decided to use `RB_VM_LOCK_ENTER()`
instead of `env_lock`.
Notes:
Merged: https://github.com/ruby/ruby/pull/5263
|
|
Notes:
Merged: https://github.com/ruby/ruby/pull/5263
|
|
Notes:
Merged: https://github.com/ruby/ruby/pull/5263
|
|
Notes:
Merged: https://github.com/ruby/ruby/pull/5263
|
|
* --braces-after-func-def-line
* --space-after-for
Notes:
Merged: https://github.com/ruby/ruby/pull/5263
|
|
Notes:
Merged: https://github.com/ruby/ruby/pull/5263
|
|
Notes:
Merged: https://github.com/ruby/ruby/pull/5263
|
|
Notes:
Merged: https://github.com/ruby/ruby/pull/5263
|
|
Notes:
Merged: https://github.com/ruby/ruby/pull/5263
|
|
* Adding links to literals and Kernel
Notes:
Merged-By: BurdetteLamar <[email protected]>
|
|
This commit removes usages of rb_gc_force_recycle since it is a burden
to maintain and makes changes to the GC difficult.
Notes:
Merged: https://github.com/ruby/ruby/pull/4363
|
|
Notes:
Merged: https://github.com/ruby/ruby/pull/4893
|
|
Notes:
Merged: https://github.com/ruby/ruby/pull/4893
|
|
From the documentation of rb_obj_hash:
> Certain core classes such as Integer use built-in hash calculations and
> do not call the #hash method when used as a hash key.
So if you override, say, Integer#hash it won't be used from rb_hash_aref
and similar. This avoids method lookups in many common cases.
This commit uses the same optimization in rb_hash, a method used
internally and in the C API to get the hash value of an object. Usually
this is used to build the hash of an object based on its elements.
Previously it would always do a method lookup for 'hash'.
This is primarily intended to speed up hashing of Arrays and Hashes,
which call rb_hash for each element.
compare-ruby: ruby 3.0.1p64 (2021-04-05 revision 0fb782ee38) [x86_64-linux]
built-ruby: ruby 3.1.0dev (2021-09-29T02:13:24Z fast_hash d670bf88b2) [x86_64-linux]
# Iteration per second (i/s)
| |compare-ruby|built-ruby|
|:----------------|-----------:|---------:|
|hash_aref_array | 1.008| 1.769|
| | -| 1.76x|
Notes:
Merged: https://github.com/ruby/ruby/pull/4916
|
|
* As the "doc/" prefix is specified by the `--page-dir` option,
remove from the rdoc references.
* Refer to the original .rdoc instead of the converted .html.
|
|
Instead of looking for Object::ENV (which can be overwritten),
directly look for the envtbl variable. As that is static in hash.c,
and the lookup code is in process.c, add a couple non-static
functions that will return envtbl (or envtbl#to_hash).
Fixes [Bug #18164]
Notes:
Merged: https://github.com/ruby/ruby/pull/4834
|
|
#17735]"
This reverts commit 522d4cd32f7727886f4fcbc28ed29c08d361ee20.
Notes:
Merged: https://github.com/ruby/ruby/pull/4341
|
|
Notes:
Merged: https://github.com/ruby/ruby/pull/4805
|
|
Notes:
Merged: https://github.com/ruby/ruby/pull/4788
|
|
We don't need to increment/decrement iteration level for frozen Hash
because frozen Hash can't be modified. We can assume that nobody
changes the target Hash while calling #each family.
How to reproduce:
a = {}
100.times do |i|
a[i] = true
end
Ractor.make_shareable(a)
4.times.collect do
Ractor.new(a) do |b|
100.times do
b.each_value do
end
end
end
end.each(&:take)
Example output:
internal:ractor>:267: warning: Ractor is experimental, and the behavior may change in future versions of Ruby! Also there are many implementation issues.
#<Thread:0x00007fcfb087bb30 run> terminated with exception (report_on_exception is true):
#<Thread:0x00007fcfb087b8d8 run> terminated with exception (report_on_exception is true):
#<Thread:0x00007fcfb088d678 run> terminated with exception (report_on_exception is true):
#<Thread:0x00007fcfb087bd88 run> terminated with exception (report_on_exception is true):
/tmp/h.rb:10:in `each_value'/tmp/h.rb:10:in `each_value': : /tmp/h.rb:10:in `each_value'no implicit conversion from nil to integer/tmp/h.rb:10:in `each_value'no implicit conversion from nil to integer (: : (TypeErrorTypeError)no implicit conversion from nil to integer)no implicit conversion from nil to integer (
(TypeErrorTypeError from /tmp/h.rb:10:in `block (3 levels) in <main>'
from /tmp/h.rb:10:in `block (3 levels) in <main>'
)) from /tmp/h.rb:9:in `times'
from /tmp/h.rb:9:in `times'
from /tmp/h.rb:9:in `block (2 levels) in <main>'
from /tmp/h.rb:10:in `block (3 levels) in <main>'
from /tmp/h.rb:10:in `block (3 levels) in <main>'
from /tmp/h.rb:9:in `block (2 levels) in <main>'
from /tmp/h.rb:9:in `times'
from /tmp/h.rb:9:in `times'
from /tmp/h.rb:9:in `block (2 levels) in <main>'
from /tmp/h.rb:9:in `block (2 levels) in <main>'
<internal:ractor>:694:in `take': thrown by remote Ractor. (Ractor::RemoteError)
from /tmp/h.rb:14:in `each'
from /tmp/h.rb:14:in `<main>'
/tmp/h.rb:10:in `each_value': no implicit conversion from nil to integer (TypeError)
from /tmp/h.rb:10:in `block (3 levels) in <main>'
from /tmp/h.rb:9:in `times'
from /tmp/h.rb:9:in `block (2 levels) in <main>'
Notes:
Merged: https://github.com/ruby/ruby/pull/4768
|
|
|
|
|
|
Notes:
Merged: https://github.com/ruby/ruby/pull/4695
Merged-By: nobu <[email protected]>
|
|
|
|
|
|
This makes the compare_by_identity setting always copied
for the following methods:
* except
* merge
* reject
* select
* slice
* transform_values
Some of these methods did not copy the setting, or only
copied the setting if the receiver was not empty.
Fixes [Bug #17757]
Co-authored-by: Kenichi Kamiya <[email protected]>
Notes:
Merged: https://github.com/ruby/ruby/pull/4616
Merged-By: jeremyevans <[email protected]>
|
|
|
|
Notes:
Merged: https://github.com/ruby/ruby/pull/3972
|
|
At compilation time with RUBY_DEBUG enabled, check if the removal
version has been reached.
Notes:
Merged: https://github.com/ruby/ruby/pull/3972
|
|
|
|
|
|
|
|
* --braces-after-func-def-line
* --dont-cuddle-else
* --procnames-start-lines
* --space-after-for
* --space-after-if
* --space-after-while
|