summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2022-08-17Fix flaky test for GC thrashingPeter Zhu
GC could be in an intermediate state after creating the objects, so we should finish GC by running a minor GC. Notes: Merged: https://github.com/ruby/ruby/pull/6245
2022-08-17Extract common code from `rb_enc_vsprintf` and `rb_str_vcatf`Nobuyoshi Nakada
2022-08-17Update dependenciesNobuyoshi Nakada
Notes: Merged: https://github.com/ruby/ruby/pull/6239
2022-08-17yjit.h is not necessary for all sources using mjit.hNobuyoshi Nakada
Notes: Merged: https://github.com/ruby/ruby/pull/6239
2022-08-17Move `mjit_exec` to vm.cNobuyoshi Nakada
Notes: Merged: https://github.com/ruby/ruby/pull/6239
2022-08-17Make date in installed gemspec files stableNobuyoshi Nakada
Set `date` member to `RUBY_RELEASE_DATE` instead of the date at the build time, to make installed files reproducible.
2022-08-17Refactor `RbInstall::Specs::FileCollector`Nobuyoshi Nakada
- Split into `Ext` and `Lib` classes. - `Ext#files` should not include built extension libraries. - `Ext#files` should include scripts under its own `lib`. - `Lib#files` should be prefixed with `lib/`.
2022-08-17* 2022-08-17 [ci skip]git
2022-08-17The tzdata 2022c removed Amsterdam Mean TimeNobuyoshi Nakada
2022-08-16[ruby/cgi] Implement `CGI.url_encode` and `CGI.url_decode`Jean Boussier
[Feature #18822] Ruby is somewhat missing an RFC 3986 compliant escape method. https://github.com/ruby/cgi/commit/c2729c7f33
2022-08-16Update the excluding message for Psych [ci skip]Nobuyoshi Nakada
2022-08-15Optimize Marshal dump/load for large (> 31-bit) FIXNUM (#6229)John Hawthorn
* Optimize Marshal dump of large fixnum Marshal's FIXNUM type only supports 31-bit fixnums, so on 64-bit platforms the 63-bit fixnums need to be represented in Marshal's BIGNUM. Previously this was done by converting to a bugnum and serializing the bignum object. This commit avoids allocating the intermediate bignum object, instead outputting the T_FIXNUM directly to a Marshal bignum. This maintains the same representation as the previous implementation, including not using LINKs for these large fixnums (an artifact of the previous implementation always allocating a new BIGNUM). This commit also avoids unnecessary st_lookups on immediate values, which we know will not be in that table. * Fastpath for loading FIXNUM from Marshal bignum * Run update-deps Notes: Merged-By: jhawthorn <john@hawthorn.email>
2022-08-15Do not clone method entries when bind_call is usedPenelope Phippen
I noticed that this site unconditionally clones the method entry, which means that `bind_call` always allocates a `T_IMEMO`. While this clone is necessary for `bind`, it is not necessary for `bind_call`. I work at Stripe, and the sorbet_runtime gem uses bind call as part of it's [call validation](https://github.com/sorbet/sorbet/blob/master/gems/sorbet-runtime/lib/types/private/methods/call_validation.rb#L157) so this can save us a lot of allocations. This patch adds a `clone` parameter to `convert_umethod_to_method_components`, which then controls whether or not we do this cloning. This patch passed Stripe CI and works in our QA environment. I reviewed it with @tenderlove to talk about correctness also. Notes: Merged: https://github.com/ruby/ruby/pull/6244
2022-08-16[ruby/rdoc] [DOC] Remove duplicated line in RDoc::MarkupReferencePeter Zhu
https://github.com/ruby/rdoc/commit/488f89aee4
2022-08-16* 2022-08-16 [ci skip]git
2022-08-15Simplify around `USE_YJIT` macro (#6240)Nobuyoshi Nakada
* Simplify around `USE_YJIT` macro - Use `USE_YJIT` macro only instead of `YJIT_BUILD`. - An intermediate macro `YJIT_SUPPORTED_P` is no longer used. * Bail out if YJIT is enabled on unsupported platforms Notes: Merged-By: maximecb <maximecb@ruby-lang.org>
2022-08-15Add test for GC thrashing of young object creationPeter Zhu
This test will prevent performance regressions like [Bug #18929]. Notes: Merged: https://github.com/ruby/ruby/pull/6243
2022-08-15[ruby/date] [DOC] Enhanced intro for Date (https://github.com/ruby/date/pull/72)Burdette Lamar
https://github.com/ruby/date/commit/59a6673221
2022-08-15[rubygems/rubygems] Fix Ruby platform incorrectly removed on `bundle update`David Rodríguez
https://github.com/rubygems/rubygems/commit/0d321c9e3a
2022-08-15* 2022-08-15 [ci skip]git
2022-08-15[ruby/rinda] Handle situations where IPv4 multicast is not availableJeremy Evans
Fixes [Bug #13864] https://github.com/ruby/rinda/commit/3cd620f38c
2022-08-14Update dependenciesNobuyoshi Nakada
2022-08-14* 2022-08-14 [ci skip]git
2022-08-14Silent configure does not output cached configurationsNobuyoshi Nakada
2022-08-13[DOC] Add the link to [Feature #18809]Nobuyoshi Nakada
2022-08-13Add a NEWS entry about Integer#ceildiv [ci skip]Kouhei Yanagita
Notes: Merged: https://github.com/ruby/ruby/pull/6237
2022-08-13* 2022-08-13 [ci skip]git
2022-08-13[ruby/rdoc] [DOC] Enhances text about escapes ↵Burdette Lamar
(https://github.com/ruby/rdoc/pull/917) https://github.com/ruby/rdoc/commit/c40bac829c
2022-08-12Adjust columns in gems/bundled_gems [ci skip]Nobuyoshi Nakada
2022-08-12Preserve each column positions in gems/bundled_gemsNobuyoshi Nakada
2022-08-12Bundle unreleased debugNobuyoshi Nakada
2022-08-12Introduce with_warn_vsprintf macroS-H-GAMELINKS
Notes: Merged: https://github.com/ruby/ruby/pull/6225
2022-08-12Short-circuit `Process._fork`Nobuyoshi Nakada
Notes: Merged: https://github.com/ruby/ruby/pull/6139
2022-08-12[Bug #18962] Do not read again once reached EOFNobuyoshi Nakada
`Ripper::Lexer#parse` re-parses the source code with syntax errors when `raise_errors: false`. Co-Authored-By: tompng <tomoyapenguin@gmail.com> Notes: Merged: https://github.com/ruby/ruby/pull/6233
2022-08-12Improve performance of Integer#ceildivKouhei Yanagita
This patch is suggested by nobu. Benchmark result: ``` require 'benchmark' n = 10 ** 7 Benchmark.bm do |x| x.report("Fixnum/Fixnum") { a, b = 5, 2; n.times { a.ceildiv(b) } } x.report("Bignum/Bignum") { a, b = 10**100, 10**99 - 1; n.times { a.ceildiv(b) } } x.report("Bignum/Fixnum") { a, b = 10**100, 3; n.times { a.ceildiv(b) } } end ``` Original: ``` user system total real Fixnum/Fixnum 3.340009 0.043029 3.383038 ( 3.384022) Bignum/Bignum 8.229500 0.118543 8.348043 ( 8.349574) Bignum/Fixnum 8.328971 0.097842 8.426813 ( 8.426952) ``` Improved: ``` user system total real Fixnum/Fixnum 0.699140 0.000961 0.700101 ( 0.700199) Bignum/Bignum 5.076165 0.083160 5.159325 ( 5.159360) Bignum/Fixnum 5.548684 0.115372 5.664056 ( 5.666735) ``` Notes: Merged: https://github.com/ruby/ruby/pull/5965
2022-08-12Remove Numeric#ceildivKouhei Yanagita
Notes: Merged: https://github.com/ruby/ruby/pull/5965
2022-08-12Add Numeric#ceildiv and Integer#ceildivKouhei Yanagita
Notes: Merged: https://github.com/ruby/ruby/pull/5965
2022-08-12Stop defining `RUBY_ABI_VERSION` if released versionsNobuyoshi Nakada
As commented in include/ruby/internal/abi.h, since teeny versions of Ruby should guarantee ABI compatibility, `RUBY_ABI_VERSION` has no role in released versions of Ruby. Notes: Merged: https://github.com/ruby/ruby/pull/6231
2022-08-12Add missing `rb_enc_iscntrl`Nobuyoshi Nakada
Notes: Merged: https://github.com/ruby/ruby/pull/6235
2022-08-12[DOC] Use `true`/`false` for `@retval`s which are `bool`Nobuyoshi Nakada
Notes: Merged: https://github.com/ruby/ruby/pull/6235
2022-08-12No bundled gems to be installed from gem nowNobuyoshi Nakada
Notes: Merged: https://github.com/ruby/ruby/pull/6234
2022-08-12All extensions in bundled gems are built by build-ext nowNobuyoshi Nakada
`RbInstall::GemInstaller#build_extensions` has nothing to do. Notes: Merged: https://github.com/ruby/ruby/pull/6234
2022-08-12[ruby/error_highlight] Add a note about the current limitation of ↵Yusuke Endoh
ErrorHighlight.spot https://github.com/ruby/error_highlight/commit/489ce80a62
2022-08-12[ruby/rdoc] Mods to section Text Markup (https://github.com/ruby/rdoc/pull/916)Burdette Lamar
https://github.com/ruby/rdoc/commit/5506d4d67e
2022-08-12[ruby/rdoc] Improvements to Text Markup examples ↵Burdette Lamar
(https://github.com/ruby/rdoc/pull/915) https://github.com/ruby/rdoc/commit/d00ddfe57c
2022-08-12* 2022-08-12 [ci skip]git
2022-08-11Fix inspect for unicode codepoint 0x85Jeremy Evans
This is an inelegant hack, by manually checking for this specific code point in rb_str_inspect. Some testing indicates that this is the only code point affected. It's possible a better fix would be inside of lower-level encoding code, such that rb_enc_isprint would return false and not true for codepoint 0x85. Fixes [Bug #16842] Notes: Merged: https://github.com/ruby/ruby/pull/4229
2022-08-11[ruby/rdoc] [DOC] Make example formats explicit and consistent ↵Burdette Lamar
(https://github.com/ruby/rdoc/pull/913) https://github.com/ruby/rdoc/commit/7e6ef6c855
2022-08-11Fix Array#[] with ArithmeticSequence with negative steps (#5739)Jeremy Evans
* Fix Array#[] with ArithmeticSequence with negative steps Previously, Array#[] when called with an ArithmeticSequence with a negative step did not handle all cases correctly, especially cases involving infinite ranges, inverted ranges, and/or exclusive ends. Fixes [Bug #18247] * Add Array#slice tests for ArithmeticSequence with negative step to test_array Add tests of rb_arithmetic_sequence_beg_len_step C-API function. * Fix ext/-test-/arith_seq/beg_len_step/depend * Rename local variables * Fix a variable name Co-authored-by: Kenta Murata <3959+mrkn@users.noreply.github.com> Notes: Merged-By: mrkn <mrkn@ruby-lang.org>
2022-08-11Fix race conditions when cleaning extensionsNobuyoshi Nakada
Clean built directories by `make distclean`, and then clean leftover makefiles for skipped extensions.