Age | Commit message (Collapse) | Author |
|
* Use UTF-8 as default for Encoding.default_external on Windows
* Document UTF-8 change on Windows to Encoding.default_external
fix https://bugs.ruby-lang.org/issues/16604
Notes:
Merged-By: nurse <naruse@airemix.jp>
|
|
https://github.com/ruby/reline/commit/0a4f175b0a
|
|
|
|
|
|
Not to be overwritten by test-bundler-prepare. gem files often
contain useless gemspec files which have not been processed.
|
|
did_you_mean splits the output by `$/`.
|
|
As `spec.files` is used for `executables` and so on, the expanded
list needs to be located at the same place.
|
|
We couldn't support it for now, because getaddrinfo_a(3)
was reverted in 5d8bcc4870. `resolv_timeout` will be just ignored.
|
|
Although gemspec file (e.g., power_assert and rake) often uses
`git ls-files`, as it does not make sense in other than its own
repository, it has been ignored now. Gather all files expanded
from the bundled gem to install, instead.
|
|
Notes:
Merged: https://github.com/ruby/ruby/pull/3841
|
|
|
|
Has been deprecated since 0c97c8e33584e6203bb09c08f92b63bd2cca8ae7.
|
|
Notes:
Merged: https://github.com/ruby/ruby/pull/3848
|
|
Thread's interrupt set Ractor's wakeup_status as interrupted, but
the status remains next Ractor communication API. This patch makes
to ignore the previous interrupt state.
[Bug #17366]
Also this patch solves the Thread#kill and Ractor#take issues.
|
|
Follow N2328 http://www.open-std.org/jtc1/sc22/wg14/www/docs/n2328.pdf
|
|
getaddrinfo_a() gets stuck after fork().
To avoid this, we need 1 second sleep to wait for internal
worker threads of getaddrinfo_a() to be finished, but that is unacceptable.
[Bug #17220] [Feature #17134] [Feature #17187]
|
|
Some data should be accessed in parallel so they should be protected
by the lock.
|
|
This might race with mjit_recompile.
|
|
* Update TypeProf to 0.9.0
Notes:
Merged-By: mame <mame@ruby-lang.org>
|
|
Write barrier requires VM lock because it accesses VM global bitmap
but RB_VM_LOCK_ENTER() can invoke GC because another ractor can wait
to invoke GC and RB_VM_LOCK_ENTER() is barrier point. This means that
before protecting by a write barrier, GC can invoke.
To prevent such situation, RB_VM_LOCK_ENTER_NO_BARRIER() is introduced.
This lock primitive does not become GC barrier points.
|
|
This assertion is not considerred on multi-ractor mdoe.
|
|
On windows, MJIT doesn't work without this patch because of
the declaration of ruby_single_main_ractor. This patch fix this
issue and move the definition of it from ractor.c to vm.c to locate
near place of ruby_current_vm_ptr.
Notes:
Merged: https://github.com/ruby/ruby/pull/3842
|
|
Passing current ec can improve performance of newobj. This patch
tries it for Array and String literals ([] and '').
Notes:
Merged: https://github.com/ruby/ruby/pull/3842
|
|
NEWOBJ with current ec.
Notes:
Merged: https://github.com/ruby/ruby/pull/3842
|
|
Now object allocation requires VM global lock to synchronize objspace.
However, of course, it introduces huge overhead.
This patch caches some slots (in a page) by each ractor and use cached
slots for object allocation. If there is no cached slots, acquire the global lock
and get new cached slots, or start GC (marking or lazy sweeping).
Notes:
Merged: https://github.com/ruby/ruby/pull/3842
|
|
Before this patch, there is no information to start locking.
Notes:
Merged: https://github.com/ruby/ruby/pull/3842
|
|
This is variant of RB_VM_LOCK_ENTER_LEV, but accept current racotr's
pointer.
Notes:
Merged: https://github.com/ruby/ruby/pull/3842
|
|
Without this patch, Ruby doesn't show ractor's information when
there is only 1 ractor. However it is hard to read the log when
some ractors are created and terminated. This patch makes to keep
showing ractor's information on multi-ractor mode.
Notes:
Merged: https://github.com/ruby/ruby/pull/3842
|
|
accessing theap needs complicating synchronization but it reduce
performance on multi-ractor mode. So simply stop using theap
on multi-ractor mode. In future, theap should be replaced with
more cleaver memory strategy.
Notes:
Merged: https://github.com/ruby/ruby/pull/3842
|
|
ruby_multi_ractor was a flag that indicates the interpreter doesn't
make any additional ractors (single ractor mode).
Instead of boolean flag, ruby_single_main_ractor pointer is introduced
which keeps main ractor's pointer if single ractor mode. If additional
ractors are created, ruby_single_main_ractor becomes NULL.
Notes:
Merged: https://github.com/ruby/ruby/pull/3842
|
|
This reverts the following three commits.
- ce707079c153f389d861c91a8dccc510fab0e245
- 1a76bb56b0ba99a19d1373c4c8ebac42e7b6f27c
- 51500eedefa492699668ced3e07e330a9a4d53ee
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Requested by Junichi Ito.
|
|
Notes:
Merged: https://github.com/ruby/ruby/pull/3854
|
|
Previously, rb_getaddrinfo_a_before_exec() is called from before_exec().
However, the function needs to be called only before fork().
The change moves it to before_fork().
|
|
|
|
After 94d49ed31c, TestSocket#test_getaddrinfo_after_fork fails in some
platforms. To avoid this, the change extends sleep time to 1.5 second.
|
|
* Using $ spec/mspec/tool/wrap_with_guard.rb 'ruby_version_is ""..."3.0"' spec/ruby/library/set/sortedset/**/*_spec.rb
|
|
|
|
* This reverts commit b06ffce4aef002dc47c3c5968181230e7ab8d7cc.
* Do not revert specs, wrap them with `ruby_version_is` (tool for that in next commit).
|
|
|