summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2020-12-08[DOC] Fixed RDoc directives [ci skip]v3_0_0_preview2Nobuyoshi Nakada
2020-12-08Bump version numbers of RubyGems and Bundler on NEWSHiroshi SHIBATA
Notes: Merged: https://github.com/ruby/ruby/pull/3864
2020-12-08Merge prepare version of Bundler 2.2.0Hiroshi SHIBATA
Notes: Merged: https://github.com/ruby/ruby/pull/3864
2020-12-08Merge prepare version of RubyGems 3.2.0Hiroshi SHIBATA
Notes: Merged: https://github.com/ruby/ruby/pull/3864
2020-12-08Fix links [ci skip]Kazuhiro NISHIYAMA
2020-12-08Add NEWS about UTF-8 on WindowsNARUSE, Yui
* 94b6933d1c6f4c8698319fbcac9dcecc9033b4b9 * ca76337a00244635faa331afd04f4b75161ce6fb
2020-12-08Add NEWS about Net::SMTP [ci skip]Kazuhiro NISHIYAMA
2020-12-08test/fiddle/helper.rb: remove duplication (#3863)Kenta Murata
Notes: Merged-By: mrkn <mrkn@ruby-lang.org>
2020-12-07Revert some recent JIT changesTakashi Kokubun
Revert "Lock the entire active_units loop" This reverts commit 5c2ff88be2e515613dfe54823e8429656f688e9f. Revert "Lock active_units references on compaction" This reverts commit 556a7285080c1344c75bb93a333c9bfc5d631c61. Revert "Wait for GC before unload_units" This reverts commit a8f16df615daa55901bb351efe038e86b61fbb92. Well, the previous revert actually didn't fix it, but this series of reverts seems to rollback the situation a little.
2020-12-07Revert "Have list_node at the top of rb_mjit_unit"Takashi Kokubun
This reverts commit 3319ce37651aa7e50c31b5fba14871938318b37a. I still haven't figured out why, but this seems to have increased the failure rate.
2020-12-07Wait for GC before unload_unitsTakashi Kokubun
2020-12-08Made method-local instance variables local variablesNobuyoshi Nakada
2020-12-07Lock the entire active_units loopTakashi Kokubun
The previous fix seems not working. Let me test if this works.
2020-12-07Remove BUNLDER_VERSION in Windows (#3859)MSP-Greg
[Bug #17372] Notes: Merged-By: k0kubun <takashikkbn@gmail.com>
2020-12-07Pass the flag as $TESTOPTSTakashi Kokubun
Fixing the failure of a4f292426b40f9d6c8f3d646e4b7c667313074f2 like https://github.com/ruby/ruby/runs/1513663542
2020-12-07Have list_node at the top of rb_mjit_unitTakashi Kokubun
to convert list_node to rb_mjit_unit easily in gdb.
2020-12-08skip failing tests in test-all on mingwNARUSE, Yui
https://bugs.ruby-lang.org/issues/17372
2020-12-08ruby.c: remove needless substitution of uencKenta Murata
uenc has already been initialized the top of the function.
2020-12-08memory_view.c: Add rb_memory_view_extract_item_members (#3855)Kenta Murata
Notes: Merged-By: mrkn <mrkn@ruby-lang.org>
2020-12-08Windows: Read ENV names and values as UTF-8 encoded Strings (#3818)Lars Kanis
* Windows: Read ENV names and values as UTF-8 encoded Strings Implements issue #12650: fix https://bugs.ruby-lang.org/issues/12650 This also removes the special encoding for ENV['PATH'] and some complexity in the code that is unnecessary now. * Windows: Improve readablity of getenv() encoding getenv() did use the expected codepage as an implicit parameter of the macro. This is mis-leading since include/ruby/win32.h has a different definition. Using the "cp" variable explicit (like the other function calls) makes it more readable and consistent. * Windows: Change external C-API macros getenv() and execv() to use UTF-8 They used to process and return strings with locale encoding, but since all ruby-internal spawn and environment functions use UTF-8, it makes sense to change the C-API equally. Notes: Merged-By: nurse <naruse@airemix.jp>
2020-12-08Set default for Encoding.default_external to UTF-8 on Windows (#2877)Lars Kanis
* 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>
2020-12-08[ruby/reline] Editing to initial content is not just cursor movingaycabta
https://github.com/ruby/reline/commit/0a4f175b0a
2020-12-08* 2020-12-08 [ci skip]git
2020-12-07rbinstall.rb: do not install useless files after installedNobuyoshi Nakada
2020-12-07Extract gemspec to versioned fileNobuyoshi Nakada
Not to be overwritten by test-bundler-prepare. gem files often contain useless gemspec files which have not been processed.
2020-12-07rbinstall.rb: relaxed split argumentNobuyoshi Nakada
did_you_mean splits the output by `$/`.
2020-12-07rbinstall.rb: fix the position to expand filesNobuyoshi Nakada
As `spec.files` is used for `executables` and so on, the expanded list needs to be located at the same place.
2020-12-07Remove resolv_timeout of TCPSocket.new from NEWSMasaki Matsushita
We couldn't support it for now, because getaddrinfo_a(3) was reverted in 5d8bcc4870. `resolv_timeout` will be just ignored.
2020-12-07rbinstall.rb: install files expanded from bundled gemsNobuyoshi Nakada
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.
2020-12-07Removed deprecated Time#succNobuyoshi Nakada
Notes: Merged: https://github.com/ruby/ruby/pull/3841
2020-12-07Update the version guard to 3.0Nobuyoshi Nakada
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