Age | Commit message (Collapse) | Author |
|
https://github.com/ruby/date/commit/f6140df0ad
|
|
https://github.com/ruby/date/commit/f08175e34d
|
|
https://github.com/ruby/date/commit/d20380fc55
|
|
https://github.com/ruby/date/commit/3c002b1daa
|
|
https://github.com/ruby/date/commit/58ca6e6a3e
|
|
|
|
|
|
|
|
|
|
A fix to 54fb8fb62a30c7b60ab6443a62821f6f8bc479c4
|
|
Partially revert 54fb8fb62a30c7b60ab6443a62821f6f8bc479c4
|
|
close_incoming by antoher ractor means there is no other messages
will be sent to the ractor, so Ractor.receive will block forever,
and it should raise and stop.
close_outgoing by antoher ractor means, ... I don't have good idea
to use it. It can be a private method.
Ractor#close calls both, but it does not make sense to call
different purpose methods, so I remove it.
Notes:
Merged: https://github.com/ruby/ruby/pull/3759
|
|
If outgoing_port is closed, Ractor.yield never successes.
[Bug #17310]
Notes:
Merged: https://github.com/ruby/ruby/pull/3755
|
|
If a terminating ractor has child threads, then kill all child
threads.
Notes:
Merged: https://github.com/ruby/ruby/pull/3754
|
|
The timer function used on windows system set timer interrupt
flag of current main ractor's executing ec and thread can detect
the end of time slice. However, to set all ec->interrupt_flag for
all running ractors, it is requires to synchronize with other ractors.
However, timer thread can not acquire the ractor-wide lock because
of some limitation.
To solve this issue, this patch introduces USE_VM_CLOCK compile option
to introduce rb_vm_t::clock. This clock will be incremented by the
timer thread and each thread can check the incrementing by comparison
with previous checked clock. At last, on windows platform this patch
introduces some overhead, but I think there is no critical performance
issue because of this modification.
Notes:
Merged: https://github.com/ruby/ruby/pull/3754
|
|
Notes:
Merged: https://github.com/ruby/ruby/pull/3712
|
|
Notes:
Merged: https://github.com/ruby/ruby/pull/3712
|
|
Notes:
Merged: https://github.com/ruby/ruby/pull/3712
|
|
|
|
Notes:
Merged: https://github.com/ruby/ruby/pull/3756
|
|
https://github.com/ruby/racc/commit/2cb3055a73
|
|
https://github.com/ruby/racc/commit/cf37713895
|
|
https://github.com/ruby/racc/commit/7c881cd548
|
|
- ext/win32/lib/win32/sspi.rb: Use fiddle (win32/importer) instead of Win32API
|
|
Notes:
Merged: https://github.com/ruby/ruby/pull/3753
|
|
Notes:
Merged: https://github.com/ruby/ruby/pull/3691
|
|
Notes:
Merged: https://github.com/ruby/ruby/pull/3738
|
|
iv_index_tbl_newsize() usually returns iv_index_tbl->num_entries
because ivup->iv_extended is usually false.
|
|
Racc calls `Array#sort!` to build a state transition table. As
`Array#sort!` is not a stable sort, the output may differ depending upon
the environment.
This changeset makes the sort stable manually, and updates all
expectation files.
Notes:
Merged: https://github.com/ruby/ruby/pull/3749
|
|
This benchmark demonstrates the performance of setting an instance
variable when the type of object is constantly changing. This benchmark
should give us an idea of the performance of ivar setting in a
polymorphic environment
Notes:
Merged: https://github.com/ruby/ruby/pull/3750
|
|
This commit adds a debug counter for the case where the inline cache
*missed* but the ivar index table has an entry for that ivar. This is a
case where a polymorphic cache could help
Notes:
Merged: https://github.com/ruby/ruby/pull/3750
|
|
If the ivar index table exists, we can avoid the slowest path for
setting ivars.
Notes:
Merged: https://github.com/ruby/ruby/pull/3750
|
|
rb_vm_add_root_module() is enough to make sure the object become a GC
root.
Notes:
Merged: https://github.com/ruby/ruby/pull/3741
|
|
Notes:
Merged: https://github.com/ruby/ruby/pull/3741
|
|
|
|
Notes:
Merged: https://github.com/ruby/ruby/pull/3740
|
|
Co-authored-by: Takashi Kokubun <takashikkbn@gmail.com>
Notes:
Merged: https://github.com/ruby/ruby/pull/3740
|
|
iv tables cannot shrink. If the inline cache was ever set, then there
must be an entry for the instance variable in the iv table. Just set
the iv list on the object to be equal to the iv index table size, then
set the iv.
Notes:
Merged: https://github.com/ruby/ruby/pull/3740
|
|
When the inline cache is written, the iv table will contain an entry for
the instance variable. If we get an inline cache hit, then we know the
iv table must contain a value for the index written to the inline cache.
If the index in the inline cache is larger than the list on the object,
but *smaller* than the iv index table on the class, then we can just
eagerly allocate the iv list to be the same size as the iv index table.
This avoids duplicate work of checking frozen as well as looking up the
index for the particular instance variable name.
Notes:
Merged: https://github.com/ruby/ruby/pull/3740
|
|
|
|
|
|
|
|
* Now that it works correctly.
|
|
|
|
|
|
Notes:
Merged: https://github.com/ruby/ruby/pull/3743
|
|
duration is nil.
Notes:
Merged: https://github.com/ruby/ruby/pull/3743
|
|
When a scheduler is present, it's entirely possible for
`th->keeping_mutexes` to be updated while enumerating the waitq. Therefore
it must be fetched only during the removal operation.
Notes:
Merged: https://github.com/ruby/ruby/pull/3743
|
|
Notes:
Merged: https://github.com/ruby/ruby/pull/3743
|
|
Notes:
Merged: https://github.com/ruby/ruby/pull/3743
|