summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2020-12-10Revert "Revert "Have list_node at the top of rb_mjit_unit""Takashi Kokubun
This reverts commit 73b07c437e24711c23dd2dd01d3ffc5f1012e046. This was, of course, innocent.
2020-12-10Use list_for_each_safe when list_del is used insideTakashi Kokubun
list_for_each seems to cause all the SEGVs we've seen.
2020-12-10cache free pages per ractorKoichi Sasada
Per ractor method cache (GH-#3842) only cached 1 page and this patch caches several pages to keep at least 512 free slots if available. If you increase the number of cached free slots, all cached slots will be collected when the GC is invoked. Notes: Merged: https://github.com/ruby/ruby/pull/3875
2020-12-10set min/maximum free slots relative to ractor cntKoichi Sasada
A program with multiple ractors can consume more objects per unit time, so this patch set minimum/maximum free_slots to relative to ractors count (upto 8). Notes: Merged: https://github.com/ruby/ruby/pull/3875
2020-12-10lazy sweep tries to collect 2048 slotsKoichi Sasada
Lazy sweep tries to collect free (unused) slots incrementally, and it only collect a few pages. This patch makes lazy sweep collects more objects (at least 2048 objects) and GC overhead of multi-ractor execution will be reduced. Notes: Merged: https://github.com/ruby/ruby/pull/3875
2020-12-10test/ruby/test_arithmetic_sequence.rb: restore test_last_bug17218Kenta Murata
And rename the existing `test_last_bug17218` to `test_to_a_bug17218`.
2020-12-10memory_view.c: Add rb_memory_view_get_item and ↵Kenta Murata
rb_memory_view_prepare_item_desc (#3871) Notes: Merged-By: mrkn <mrkn@ruby-lang.org>
2020-12-10* 2020-12-10 [ci skip]git
2020-12-10test/ruby/test_arithmetic_sequence.rb: remove a duplicated testYusuke Endoh
There is another "test_last_bug17218"
2020-12-09Fix ArithmeticSequence#last and ArithmeticSequence#each for non-integer ↵Kenta Murata
sequences (#3870) [Bug #17218] [ruby-core:100312] Notes: Merged-By: mrkn <mrkn@ruby-lang.org>
2020-12-09[ruby/matrix] Disable Ractor testMarc-Andre Lafortune
2020-12-09[ruby/matrix] v0.3.1Marc-Andre Lafortune
Notes: Merged: https://github.com/ruby/ruby/pull/3869
2020-12-09[ruby/matrix] Make frozen matrices Ractor shareableMarc-Andre Lafortune
Notes: Merged: https://github.com/ruby/ruby/pull/3869
2020-12-09[ruby/prime] Fix gemspecMarc-Andre Lafortune
2020-12-09need the lock for debug checking.Koichi Sasada
Checking code (RGENGC_CHECK_MODE > 0) need a VM lock because it refers objspace.
2020-12-09Update maintainers list [doc] [ci skip]Marc-Andre Lafortune
2020-12-09[ruby/prime] v0.1.2Marc-Andre Lafortune
2020-12-09[ruby/prime] Optimize `Integer#prime?`Marc-Andre Lafortune
Miller Rabin algorithm can be used to test primality for integers smaller than a max value "MaxMR" (~3e24) It can be much faster than previous implementation: ~100x faster for numbers with 13 digits, at least 5 orders of magnitude for even larger numbers (previous implementation is so slow that it requires more patience than I have for more precise estimate). Miller Rabin test becomes faster than previous implementation at somewhere in the range 1e5-1e6. It seems that the range 62000..66000 is where Miller Rabin starts being always faster, so I picked 0xffff arbitrarily; before that, or above "MaxMR", the previous implementation remains. I compared the `faster_prime` gem too. It is slower than previous implementation up to ~1e4. After that it becomes faster and faster compared to previous implementation, but is still slower than Miller Rabin starting at ~1e5 and up to MaxMR. Thus, after this commit, builtin `Integer#prime?` will be similar or faster than `faster_prime` up to "MaxMR". Adapted from patch of Stephen Blackstone [Feature #16468] Benchmark results and code: https://gist.github.com/marcandre/b263bdae488e76dabdda84daf73733b9 Co-authored-by: Stephen Blackstone <sblackstone@gmail.com> Notes: Merged: https://github.com/ruby/ruby/pull/3847
2020-12-09Ad-hoc fix of test-bundlerNobuyoshi Nakada
2020-12-09Tweaked `Process::Status.wait`Nobuyoshi Nakada
* revert `rb_last_status_set` * renamed the new function as `rb_process_status_new` * `rb_process_status_new` always freezes the return value * marked `Process::Status.wait` as EXPERIMENTAL, as it has not been discussed totally yet.
2020-12-09Removed declaration of non-existent symbolNobuyoshi Nakada
2020-12-08Add test that `Ractor.make_shareable` calls user defined `#freeze`Marc-Andre Lafortune
Notes: Merged: https://github.com/ruby/ruby/pull/3694
2020-12-09Add support for non-blocking `Process.wait`.Samuel Williams
Notes: Merged: https://github.com/ruby/ruby/pull/3853
2020-12-09* 2020-12-09 [ci skip]git
2020-12-09re-layout rb_ractor_tKoichi Sasada
separate synchronization data and ractor local data. Notes: Merged: https://github.com/ruby/ruby/pull/3858
2020-12-08Supported category option in Warning#warnNobuyoshi Nakada
2020-12-08[DOC] mentioned category optionNobuyoshi Nakada
2020-12-08Revert "test/fiddle/helper.rb: remove duplication (#3863)" (#3865)Kenta Murata
This reverts commit bd47a8d660ab33a20c5e28d0effcc29105c434e4. `libc_so` and `libm_so` are `nil` at line 124 because Big Sur doesn't have `/usr/lib/libSystem.B.dylib`. The reassignment at line 127 is necessary in this case. Notes: Merged-By: mrkn <mrkn@ruby-lang.org>
2020-12-08Update rubygems.org links for publlished default gems.Hiroshi SHIBATA
2020-12-08Fix "Ruby is not properly fortified on armv7hl".Samuel Williams
See <https://bugs.ruby-lang.org/issues/16762> for more details. Notes: Merged: https://github.com/ruby/ruby/pull/3866
2020-12-08Added missing dependency of fileutilsHiroshi SHIBATA
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>