aboutsummaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* [DOC] Fixed RDoc directives [ci skip]v3_0_0_preview2Nobuyoshi Nakada2020-12-081-2/+2
|
* Bump version numbers of RubyGems and Bundler on NEWSHiroshi SHIBATA2020-12-081-2/+2
|
* Merge prepare version of Bundler 2.2.0Hiroshi SHIBATA2020-12-08135-868/+1293
|
* Merge prepare version of RubyGems 3.2.0Hiroshi SHIBATA2020-12-08134-746/+2003
|
* Fix links [ci skip]Kazuhiro NISHIYAMA2020-12-081-0/+2
|
* Add NEWS about UTF-8 on WindowsNARUSE, Yui2020-12-081-0/+6
| | | | | * 94b6933d1c6f4c8698319fbcac9dcecc9033b4b9 * ca76337a00244635faa331afd04f4b75161ce6fb
* Add NEWS about Net::SMTP [ci skip]Kazuhiro NISHIYAMA2020-12-081-0/+8
|
* test/fiddle/helper.rb: remove duplication (#3863)Kenta Murata2020-12-081-5/+1
|
* Revert some recent JIT changesTakashi Kokubun2020-12-071-14/+1
| | | | | | | | | | | | | | | | | 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.
* Revert "Have list_node at the top of rb_mjit_unit"Takashi Kokubun2020-12-071-1/+1
| | | | | | | This reverts commit 3319ce37651aa7e50c31b5fba14871938318b37a. I still haven't figured out why, but this seems to have increased the failure rate.
* Wait for GC before unload_unitsTakashi Kokubun2020-12-071-1/+12
|
* Made method-local instance variables local variablesNobuyoshi Nakada2020-12-081-24/+16
|
* Lock the entire active_units loopTakashi Kokubun2020-12-071-3/+0
| | | | The previous fix seems not working. Let me test if this works.
* Remove BUNLDER_VERSION in Windows (#3859)MSP-Greg2020-12-071-1/+2
| | | [Bug #17372]
* Pass the flag as $TESTOPTSTakashi Kokubun2020-12-071-1/+1
| | | | | Fixing the failure of a4f292426b40f9d6c8f3d646e4b7c667313074f2 like https://github.com/ruby/ruby/runs/1513663542
* Have list_node at the top of rb_mjit_unitTakashi Kokubun2020-12-071-1/+1
| | | | to convert list_node to rb_mjit_unit easily in gdb.
* skip failing tests in test-all on mingwNARUSE, Yui2020-12-081-1/+1
| | | | https://bugs.ruby-lang.org/issues/17372
* ruby.c: remove needless substitution of uencKenta Murata2020-12-081-3/+0
| | | | uenc has already been initialized the top of the function.
* memory_view.c: Add rb_memory_view_extract_item_members (#3855)Kenta Murata2020-12-084-6/+285
|
* Windows: Read ENV names and values as UTF-8 encoded Strings (#3818)Lars Kanis2020-12-089-82/+39
| | | | | | | | | | | | | | | | | | | | | * 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.
* Set default for Encoding.default_external to UTF-8 on Windows (#2877)Lars Kanis2020-12-084-6/+11
| | | | | | * 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
* [ruby/reline] Editing to initial content is not just cursor movingaycabta2020-12-082-1/+13
| | | | https://github.com/ruby/reline/commit/0a4f175b0a
* * 2020-12-08 [ci skip]git2020-12-081-1/+1
|
* rbinstall.rb: do not install useless files after installedNobuyoshi Nakada2020-12-071-1/+1
|
* Extract gemspec to versioned fileNobuyoshi Nakada2020-12-072-4/+9
| | | | | Not to be overwritten by test-bundler-prepare. gem files often contain useless gemspec files which have not been processed.
* rbinstall.rb: relaxed split argumentNobuyoshi Nakada2020-12-071-1/+1
| | | | did_you_mean splits the output by `$/`.
* rbinstall.rb: fix the position to expand filesNobuyoshi Nakada2020-12-071-13/+13
| | | | | As `spec.files` is used for `executables` and so on, the expanded list needs to be located at the same place.
* Remove resolv_timeout of TCPSocket.new from NEWSMasaki Matsushita2020-12-071-9/+0
| | | | | We couldn't support it for now, because getaddrinfo_a(3) was reverted in 5d8bcc4870. `resolv_timeout` will be just ignored.
* rbinstall.rb: install files expanded from bundled gemsNobuyoshi Nakada2020-12-071-2/+14
| | | | | | | 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.
* Removed deprecated Time#succNobuyoshi Nakada2020-12-076-67/+33
|
* Update the version guard to 3.0Nobuyoshi Nakada2020-12-071-1/+1
|
* Hash#index: delete卜部昌平2020-12-072-11/+4
| | | | Has been deprecated since 0c97c8e33584e6203bb09c08f92b63bd2cca8ae7.
* Ractor.select requires an argument or yield_valueMarc-Andre Lafortune2020-12-072-0/+11
|
* fix Thread's interrupt and Ractor#take issueKoichi Sasada2020-12-073-2/+27
| | | | | | | | | 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.
* Doxygen terminology update [ci skip]卜部昌平2020-12-071-12/+12
| | | | Follow N2328 http://www.open-std.org/jtc1/sc22/wg14/www/docs/n2328.pdf
* Revert getaddrinfo_a()Masaki Matsushita2020-12-079-289/+0
| | | | | | | | 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]
* need more lock in finalize_list()Koichi Sasada2020-12-071-9/+10
| | | | | Some data should be accessed in parallel so they should be protected by the lock.
* Lock active_units references on compactionTakashi Kokubun2020-12-061-0/+5
| | | | This might race with mjit_recompile.
* Update TypeProf to 0.9.0 (#3856)Yusuke Endoh2020-12-071-1/+1
| | | * Update TypeProf to 0.9.0
* RB_VM_LOCK_ENTER_NO_BARRIERKoichi Sasada2020-12-073-46/+73
| | | | | | | | | 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.
* skip assertion on multi-ractorKoichi Sasada2020-12-071-1/+3
| | | | This assertion is not considerred on multi-ractor mdoe.
* fix decl of ruby_single_main_ractorKoichi Sasada2020-12-074-10/+3
| | | | | | | 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.
* tuning trial: newobj with current ecKoichi Sasada2020-12-075-4/+89
| | | | | Passing current ec can improve performance of newobj. This patch tries it for Array and String literals ([] and '').
* RB_EC_NEWOBJ_OFKoichi Sasada2020-12-072-1/+8
| | | | NEWOBJ with current ec.
* per-ractor object allocationKoichi Sasada2020-12-073-147/+225
| | | | | | | | 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).
* log for the beggining of vm_lock_enterKoichi Sasada2020-12-071-0/+2
| | | | Before this patch, there is no information to start locking.
* RB_VM_LOCK_ENTER_CR_LEVKoichi Sasada2020-12-072-5/+34
| | | | | This is variant of RB_VM_LOCK_ENTER_LEV, but accept current racotr's pointer.
* show ractor info on non-single ractor modeKoichi Sasada2020-12-071-1/+1
| | | | | | | 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.
* cancel theap on multi-ractorsKoichi Sasada2020-12-074-81/+99
| | | | | | | 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.
* ruby_single_main_ractor for single ractor modeKoichi Sasada2020-12-074-10/+19
| | | | | | | | 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.