aboutsummaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* [rubygems/rubygems] Extract a `next_ruby_minor` helper method for specsDavid Rodríguez2022-05-112-6/+8
| | | | https://github.com/rubygems/rubygems/commit/66eae0ef1d
* Write have instead of have have [ci skipKaíque Kandy Koga2022-05-101-1/+1
|
* Fix the order of assert_eqaul and remove unused variablesNobuyoshi Nakada2022-05-101-10/+8
|
* Honor --with-thread option to enable pthreadNobuyoshi Nakada2022-05-102-48/+52
|
* * 2022-05-10 [ci skip]git2022-05-101-1/+1
|
* [ruby/psych] tr is typically 4 to 5 times faster than gsubMSP-Greg2022-05-101-2/+2
| | | | https://github.com/ruby/psych/commit/8533be8fe7
* Don't allocate new page on finish sweepingPeter Zhu2022-05-091-2/+0
| | | | | We don't need to allocate a new page in gc_sweep_finish_size_pool. It can be allocated when needed.
* Fix heap_extend_pages when total_slots is 0Peter Zhu2022-05-091-3/+7
| | | | | | | Some size pools may not have any pages/slots, so total_slots is 0. This causes a divide-by-zero in the calculation. This commit adds a special case to catch the case when total_slots is 0 and returns the number of pages for heap_init_slots.
* Grow size pools with no or few slotsPeter Zhu2022-05-091-0/+5
| | | | | | If the size pool has no or few pages/slots, then min_free_slots will be a very small number (or even 0). Then the heap won't be eligible to grow, causing GC thrashing or infinite loops.
* Call gc_sweep_finish_size_pool on size pools with no pagesPeter Zhu2022-05-091-0/+13
| | | | | | Size pools with no pages won't be swept so gc_sweep_finish_size_pool will never be called on it, but gc_sweep_finish_size_pool must be called to grow the size pool.
* Fix gc_page_sweep when last bitmap plane is not usedPeter Zhu2022-05-091-3/+8
| | | | | | | | Depending on alignment, the last bitmap plane may not used. Then it will appear as if all of the objects on that plane is unmarked, which will cause a buffer overrun when we try to free the object. This commit changes the loop to calculate the number of planes used (bitmap_plane_count).
* Increase SIZE_POOL_COUNT to 5Peter Zhu2022-05-092-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Having more size pools will allow us to allocate larger objects through Variable Width Allocation. I have attached some benchmark results below. Discourse: On Discourse, we don't see much change in response times. We do see a small reduction in RSS. Branch RSS: 377.8 MB Master RSS: 396.3 MB railsbench: On railsbench, we don't see a big change in RPS or p99 performance. We see a small increase in RSS. Branch RPS: 815.38 Master RPS: 811.73 Branch p99: 1.69 ms Master p99: 1.68 ms Branch RSS: 90.6 MB Master RSS: 89.4 MB liquid: We don't see a significant change in liquid performance. Branch parse & render: 29.041 I/s Master parse & render: 29.211 I/s
* [rubygems/rubygems] Cleanup old legacy codeDavid Rodríguez2022-05-093-36/+2
| | | | https://github.com/rubygems/rubygems/commit/531d6b5fee
* Update default gems list at ecf32dbfc03c39a75fdd8a4e4dc3cb [ci skip]git2022-05-091-1/+1
|
* [ruby/net-http] Bump version to 0.2.2Hiroshi SHIBATA2022-05-091-1/+1
| | | | https://github.com/ruby/net-http/commit/992d07cb41
* Update default gems list at a370eb5a6360a789b7c5249d97169f [ci skip]git2022-05-091-1/+1
|
* [ruby/io-wait] bump up to 0.2.3Hiroshi SHIBATA2022-05-091-1/+1
| | | | https://github.com/ruby/io-wait/commit/f59d1d12e0
* Update default gems list at 30632efeaad6f5837102ff4229777e [ci skip]git2022-05-091-1/+1
|
* [ruby/stringio] bump up to 3.0.3Sutou Kouhei2022-05-091-1/+1
| | | | https://github.com/ruby/stringio/commit/64f225bf00
* Update default gems list at fbbe7ac7e3256e78d01e0b92d74611 [ci skip]git2022-05-091-1/+1
|
* [ruby/stringio] Bump versionSutou Kouhei2022-05-091-1/+1
| | | | https://github.com/ruby/stringio/commit/b79152d08f
* Add basic binary operators (and, or, xor, not) to `IO::Buffer`. (#5893)Samuel Williams2022-05-092-0/+427
|
* test/fiber/test_scheduler.rb: Remove the test file from $LOADED_FEATURESYusuke Endoh2022-05-091-0/+1
| | | | | | | | | | | | | to prevent the following failure on `make test-all --repeat-count=2` http://ci.rvm.jp/results/trunk-repeat20-asserts@phosphorus-docker/3957774 ``` 1) Error: TestFiberScheduler#test_autoload: NameError: uninitialized constant TestFiberSchedulerAutoload Object.const_get(:TestFiberSchedulerAutoload) ^^^^^^^^^^ ```
* Fix rdoc of IO::Buffer [ci skip]Kazuhiro NISHIYAMA2022-05-091-14/+1
|
* Explicit handling of frozen strings in `IO::Buffer#for`. (#5892)Samuel Williams2022-05-092-41/+117
|
* Ignore rubyspec_temp fot GitHiroshi SHIBATA2022-05-091-0/+1
|
* [ruby/getoptlong] Fixup https://github.com/ruby/getoptlong/commit/39faa7b390f0Hiroshi SHIBATA2022-05-091-11/+11
| | | | https://github.com/ruby/getoptlong/commit/c8b3c0c00d
* * 2022-05-09 [ci skip]git2022-05-091-1/+1
|
* [ruby/getoptlong] ruby/ruby used sample, not examplesHiroshi SHIBATA2022-05-0910-0/+0
| | | | https://github.com/ruby/getoptlong/commit/39faa7b390
* Update bundled gems list at 25eb63fa7fa7075764cd71920eb89d [ci skip]git2022-05-081-1/+1
|
* Bundle RBS 2.4.0 (#5894)Soutaro Matsumoto2022-05-081-1/+1
|
* * 2022-05-08 [ci skip]git2022-05-081-1/+1
|
* Use a proper mutex for autoloading features. (#5788)Samuel Williams2022-05-083-133/+122
| | | | | | Object#autoload implements a custom per-thread "mutex" for blocking threads waiting on autoloading a feature. This causes problems when used with the fiber scheduler. We swap the implementation to use a Ruby mutex which is fiber aware.
* * 2022-05-07 [ci skip]git2022-05-071-1/+1
|
* Replace with https://github.com [ci skip]Kazuhiro NISHIYAMA2022-05-072-5/+5
|
* Fix missing paren [ci skip]Kazuhiro NISHIYAMA2022-05-061-2/+2
|
* [rubygems/rubygems] Fix typo in documentationDominik Bauernfeind2022-05-061-1/+1
| | | | https://github.com/rubygems/rubygems/commit/800a973e00
* [rubygems/rubygems] Update man page for `require` option in `bundle add` commandnobuyo2022-05-0626-29/+36
| | | | https://github.com/rubygems/rubygems/commit/08a0a5b7d1
* Mark RCLASS_INCLUDERAlan Wu2022-05-051-0/+4
| | | | | | | | | | Since 4d8f76286beefbb8f7fba2479f6d0a0b4a47304c, we need to dereference the includer field on iclasses, so we need to mark it to make sure it's alive. Sometimes during compaction we crash because the field is dangling, though I have a hard time constructing such a situation. See http://ci.rvm.jp/results/trunk@ruby-iga/3947725
* Fix potential GC issue while iterating over weak refsAlan Wu2022-05-051-8/+9
| | | | | | | | | | | | While walking over the list of subclasses for `include` and friends, we check whether the subclass is a garbage object. After the check, we allocate objects which might trigger GC and make the subclass garbage, even though before the allocation the subclass was not garbage. This is a sort of time-of-check-time-of-use issue. Fix this by saving the weak reference to a local variable, upgrading it to a strong reference while we do the allocation. It makes the code look slightly nicer even if it doesn't fix any runtime issues.
* * 2022-05-06 [ci skip]git2022-05-061-1/+1
|
* File rdoc (#5888)Burdette Lamar2022-05-051-14/+29
| | | | | | | | | Treats: ::pipe? ::symlink? ::socket? ::blockdev? ::chardev?
* Link from printf methods to format spec doc (#5886)Burdette Lamar2022-05-053-259/+28
|
* [ruby/logger] Prefer String#[0, 1] over [0..0]Akira Matsuda2022-05-051-1/+1
| | | | | | [0..0] internally creates an extra Array object, and so is slower and much more memory consuming https://github.com/ruby/logger/commit/20616ad34a
* * remove trailing spaces. [ci skip]git2022-05-051-3/+3
|
* [DOC] More on format specs (#5877)Burdette Lamar2022-05-041-9/+151
| | | | | | * Update doc/format_specifications.rdoc Co-authored-by: Peter Zhu <peter@peterzhu.ca>
* * 2022-05-05 [ci skip]git2022-05-051-1/+1
|
* Unpoison freelist when iterating over it in gc_sweep_pageJemma Issroff2022-05-041-0/+2
|
* Update lldb helper for iseq disassembly to use correct var nameJemma Issroff2022-05-041-1/+1
|
* Remove unneeded castPeter Zhu2022-05-041-1/+1
| | | | `start` is of type uintptr_t so it does not need to be casted to VALUE.