summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2020-12-07Hash#index: delete卜部昌平
Has been deprecated since 0c97c8e33584e6203bb09c08f92b63bd2cca8ae7.
2020-12-07Ractor.select requires an argument or yield_valueMarc-Andre Lafortune
Notes: Merged: https://github.com/ruby/ruby/pull/3848
2020-12-07fix Thread's interrupt and Ractor#take issueKoichi Sasada
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.
2020-12-07Doxygen terminology update [ci skip]卜部昌平
Follow N2328 http://www.open-std.org/jtc1/sc22/wg14/www/docs/n2328.pdf
2020-12-07Revert getaddrinfo_a()Masaki Matsushita
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]
2020-12-07need more lock in finalize_list()Koichi Sasada
Some data should be accessed in parallel so they should be protected by the lock.
2020-12-06Lock active_units references on compactionTakashi Kokubun
This might race with mjit_recompile.
2020-12-07Update TypeProf to 0.9.0 (#3856)Yusuke Endoh
* Update TypeProf to 0.9.0 Notes: Merged-By: mame <mame@ruby-lang.org>
2020-12-07RB_VM_LOCK_ENTER_NO_BARRIERKoichi Sasada
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.
2020-12-07skip assertion on multi-ractorKoichi Sasada
This assertion is not considerred on multi-ractor mdoe.
2020-12-07fix decl of ruby_single_main_ractorKoichi Sasada
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
2020-12-07tuning trial: newobj with current ecKoichi Sasada
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
2020-12-07RB_EC_NEWOBJ_OFKoichi Sasada
NEWOBJ with current ec. Notes: Merged: https://github.com/ruby/ruby/pull/3842
2020-12-07per-ractor object allocationKoichi Sasada
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
2020-12-07log for the beggining of vm_lock_enterKoichi Sasada
Before this patch, there is no information to start locking. Notes: Merged: https://github.com/ruby/ruby/pull/3842
2020-12-07RB_VM_LOCK_ENTER_CR_LEVKoichi Sasada
This is variant of RB_VM_LOCK_ENTER_LEV, but accept current racotr's pointer. Notes: Merged: https://github.com/ruby/ruby/pull/3842
2020-12-07show ractor info on non-single ractor modeKoichi Sasada
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
2020-12-07cancel theap on multi-ractorsKoichi Sasada
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
2020-12-07ruby_single_main_ractor for single ractor modeKoichi Sasada
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
2020-12-07Revert "memory_view.c: Add rb_memory_view_extract_item_members"Kenta Murata
This reverts the following three commits. - ce707079c153f389d861c91a8dccc510fab0e245 - 1a76bb56b0ba99a19d1373c4c8ebac42e7b6f27c - 51500eedefa492699668ced3e07e330a9a4d53ee
2020-12-07* 2020-12-07 [ci skip]git
2020-12-07memory_view.c: suppress uninitialized warningKenta Murata
2020-12-06Update rbsNobuyoshi Nakada
2020-12-06memory_view.c: Fix the argument type of rb_memory_view_extract_item_membersKenta Murata
2020-12-06memory_view.c: Add rb_memory_view_extract_item_membersKenta Murata
2020-12-06Update rbsNobuyoshi Nakada
2020-12-06Updated bundled gemsNobuyoshi Nakada
2020-12-06update-bundled_gems: support recent format, keep the tag to testNobuyoshi Nakada
2020-12-06update-bundled_gems: chomp ".git" suffix from the source code URINobuyoshi Nakada
2020-12-06Moved update-bundled_gems code to a toolNobuyoshi Nakada
2020-12-05Mentioned numbered parameter assignment is a SyntaxError in NEWS [ci skip]Jeremy Evans
Requested by Junichi Ito.
2020-12-06RubyGems certs - remove AddTrust, add GlobalSign Root R3MSP-Greg
Notes: Merged: https://github.com/ruby/ruby/pull/3854
2020-12-06Call cleanup function for getaddrinfo_a(3) only before fork()Masaki Matsushita
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().
2020-12-06* 2020-12-06 [ci skip]git
2020-12-06Extend sleep time to 1.5 second in rb_getaddrinfo_a_before_exec()Masaki Matsushita
After 94d49ed31c, TestSocket#test_getaddrinfo_after_fork fails in some platforms. To avoid this, the change extends sleep time to 1.5 second.
2020-12-05Wrap SortedSet with `ruby_version_is ""..."3.0"`Benoit Daloze
* Using $ spec/mspec/tool/wrap_with_guard.rb 'ruby_version_is ""..."3.0"' spec/ruby/library/set/sortedset/**/*_spec.rb
2020-12-05Add MSpec tool to automatically wrap spec files with a guardBenoit Daloze
2020-12-05Revert "SortedSet was removed at a3db08d7b6ff119223f77e3df00b4f6deac971e2"Benoit Daloze
* This reverts commit b06ffce4aef002dc47c3c5968181230e7ab8d7cc. * Do not revert specs, wrap them with `ruby_version_is` (tool for that in next commit).
2020-12-05Reduce timeout of test_getaddrinfo_after_forkMasaki Matsushita
2020-12-05Protoized old pre-ANSI K&R style definitionsNobuyoshi Nakada
2020-12-05[ruby/matrix] Optimize **Marc-Andre Lafortune
Avoiding recursive call would imply iterating bits starting from most significant, which is not easy to do efficiently. Any saving would be dwarfed by the multiplications anyways. [Feature #15233] Notes: Merged: https://github.com/ruby/ruby/pull/3844
2020-12-05Proposed method for dealing with stack locals which have non-local lifetime.Samuel Williams
Notes: Merged: https://github.com/ruby/ruby/pull/3624
2020-12-05Rework the order of operations to avoid stack smashing.Samuel Williams
Notes: Merged: https://github.com/ruby/ruby/pull/3624
2020-12-05Cope with frozen-string-literalRobert Schulze
When running irb 1.2.1 (2019-12-24) with frozen-string-literal enabled, it crashes in reline with `can't modify frozen String (FrozenError)` Steps to reproduce: `RUBYOPT="--enable-frozen-string-literal" irb`
2020-12-05[ruby/reline] Process insertion buffer forciblyaycabta
https://github.com/ruby/reline/commit/89d49ec9e0
2020-12-05[ruby/reline] Support bracketed paste modeaycabta
https://github.com/ruby/reline/commit/d1a6869322
2020-12-05[ruby/reline] Forced newline insertion is not just cursor movingaycabta
https://github.com/ruby/reline/commit/0e30a49d03
2020-12-05[ruby/reline] Drop prompt list cache when num of lines is changedaycabta
https://github.com/ruby/reline/commit/1959e22043
2020-12-05[ruby/reline] Cache dynamic prompt for 0.5secaycabta
https://github.com/ruby/reline/commit/06b89d0e61
2020-12-05[ruby/reline] Stop rerendering if the cursor is only movedaycabta
https://github.com/ruby/reline/commit/30e8eaf855