aboutsummaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* [ruby/cgi] Implement `CGI.url_encode` and `CGI.url_decode`Jean Boussier2022-08-163-17/+142
| | | | | | | | [Feature #18822] Ruby is somewhat missing an RFC 3986 compliant escape method. https://github.com/ruby/cgi/commit/c2729c7f33
* Update the excluding message for Psych [ci skip]Nobuyoshi Nakada2022-08-161-1/+4
|
* Optimize Marshal dump/load for large (> 31-bit) FIXNUM (#6229)John Hawthorn2022-08-154-25/+148
| | | | | | | | | | | | | | | | | | | | | | | * 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
* Do not clone method entries when bind_call is usedPenelope Phippen2022-08-151-4/+14
| | | | | | | | | | | | | | | 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.
* [ruby/rdoc] [DOC] Remove duplicated line in RDoc::MarkupReferencePeter Zhu2022-08-161-1/+0
| | | | https://github.com/ruby/rdoc/commit/488f89aee4
* * 2022-08-16 [ci skip]git2022-08-161-1/+1
|
* Simplify around `USE_YJIT` macro (#6240)Nobuyoshi Nakada2022-08-155-31/+21
| | | | | | | | * 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
* Add test for GC thrashing of young object creationPeter Zhu2022-08-151-0/+22
| | | | This test will prevent performance regressions like [Bug #18929].
* [ruby/date] [DOC] Enhanced intro for Date (https://github.com/ruby/date/pull/72)Burdette Lamar2022-08-151-133/+51
| | | | https://github.com/ruby/date/commit/59a6673221
* [rubygems/rubygems] Fix Ruby platform incorrectly removed on `bundle update`David Rodríguez2022-08-152-1/+42
| | | | https://github.com/rubygems/rubygems/commit/0d321c9e3a
* * 2022-08-15 [ci skip]git2022-08-151-1/+1
|
* [ruby/rinda] Handle situations where IPv4 multicast is not availableJeremy Evans2022-08-151-30/+41
| | | | | | Fixes [Bug #13864] https://github.com/ruby/rinda/commit/3cd620f38c
* Update dependenciesNobuyoshi Nakada2022-08-141-6/+3
|
* * 2022-08-14 [ci skip]git2022-08-141-1/+1
|
* Silent configure does not output cached configurationsNobuyoshi Nakada2022-08-141-2/+3
|
* [DOC] Add the link to [Feature #18809]Nobuyoshi Nakada2022-08-131-0/+1
|
* Add a NEWS entry about Integer#ceildiv [ci skip]Kouhei Yanagita2022-08-131-0/+3
|
* * 2022-08-13 [ci skip]git2022-08-131-1/+1
|
* [ruby/rdoc] [DOC] Enhances text about escapes ↵Burdette Lamar2022-08-131-31/+87
| | | | | | (https://github.com/ruby/rdoc/pull/917) https://github.com/ruby/rdoc/commit/c40bac829c
* Adjust columns in gems/bundled_gems [ci skip]Nobuyoshi Nakada2022-08-121-15/+15
|
* Preserve each column positions in gems/bundled_gemsNobuyoshi Nakada2022-08-121-1/+3
|
* Bundle unreleased debugNobuyoshi Nakada2022-08-121-1/+1
|
* Introduce with_warn_vsprintf macroS-H-GAMELINKS2022-08-121-27/+22
|
* Short-circuit `Process._fork`Nobuyoshi Nakada2022-08-121-9/+22
|
* [Bug #18962] Do not read again once reached EOFNobuyoshi Nakada2022-08-122-0/+15
| | | | | | | `Ripper::Lexer#parse` re-parses the source code with syntax errors when `raise_errors: false`. Co-Authored-By: tompng <tomoyapenguin@gmail.com>
* Improve performance of Integer#ceildivKouhei Yanagita2022-08-122-23/+17
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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) ```
* Remove Numeric#ceildivKouhei Yanagita2022-08-124-42/+0
|
* Add Numeric#ceildiv and Integer#ceildivKouhei Yanagita2022-08-125-0/+82
|
* Stop defining `RUBY_ABI_VERSION` if released versionsNobuyoshi Nakada2022-08-127-5/+33
| | | | | | 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.
* Add missing `rb_enc_iscntrl`Nobuyoshi Nakada2022-08-121-0/+15
|
* [DOC] Use `true`/`false` for `@retval`s which are `bool`Nobuyoshi Nakada2022-08-121-43/+43
|
* No bundled gems to be installed from gem nowNobuyoshi Nakada2022-08-121-22/+2
|
* All extensions in bundled gems are built by build-ext nowNobuyoshi Nakada2022-08-121-5/+2
| | | | `RbInstall::GemInstaller#build_extensions` has nothing to do.
* [ruby/error_highlight] Add a note about the current limitation of ↵Yusuke Endoh2022-08-121-0/+8
| | | | | | ErrorHighlight.spot https://github.com/ruby/error_highlight/commit/489ce80a62
* [ruby/rdoc] Mods to section Text Markup (https://github.com/ruby/rdoc/pull/916)Burdette Lamar2022-08-121-10/+16
| | | | https://github.com/ruby/rdoc/commit/5506d4d67e
* [ruby/rdoc] Improvements to Text Markup examples ↵Burdette Lamar2022-08-121-56/+48
| | | | | | (https://github.com/ruby/rdoc/pull/915) https://github.com/ruby/rdoc/commit/d00ddfe57c
* * 2022-08-12 [ci skip]git2022-08-121-1/+1
|
* Fix inspect for unicode codepoint 0x85Jeremy Evans2022-08-112-1/+14
| | | | | | | | | | | | 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]
* [ruby/rdoc] [DOC] Make example formats explicit and consistent ↵Burdette Lamar2022-08-111-66/+87
| | | | | | (https://github.com/ruby/rdoc/pull/913) https://github.com/ruby/rdoc/commit/7e6ef6c855
* Fix Array#[] with ArithmeticSequence with negative steps (#5739)Jeremy Evans2022-08-118-1/+431
| | | | | | | | | | | | | | | | | | | | | | * 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>
* Fix race conditions when cleaning extensionsNobuyoshi Nakada2022-08-111-0/+4
| | | | | Clean built directories by `make distclean`, and then clean leftover makefiles for skipped extensions.
* The "gems" build directory was rename as ".bundle"Nobuyoshi Nakada2022-08-112-11/+11
|
* Fix paths of exts.mk to cleanNobuyoshi Nakada2022-08-111-1/+1
| | | | exts.mk files are one level under the top of extension directories.
* Add `--enable-devel` configure optionNobuyoshi Nakada2022-08-115-6/+26
| | | | | Since `RUBY_DEVEL` in cppflags has no effect in the configure script and makefiles.
* [ruby/rdoc] Treat text markup (italic, bold, monofont) as blocks ↵Burdette Lamar2022-08-111-114/+253
| | | | | | (https://github.com/ruby/rdoc/pull/911) https://github.com/ruby/rdoc/commit/dc88f1b425
* Revert "Add {Method,UnboundMethod}#{public?,private?,protected?}"Jeremy Evans2022-08-102-110/+3
| | | | | | | | | | | | This reverts commit 27278150685e738f84105d09843d3ba371146c7a and 58dc8bf8f15df9a33d191074e8a5d4946a3d59d5. Visibility is an attribute of the method entry in a class, not an attribute of the Method object. Fixes [#18729] Fixes [#18751] Fixes [#18435]
* Only allow procs created by Symbol#to_proc to call public methodsJeremy Evans2022-08-103-8/+57
| | | | | Fixes [Bug #18826] Co-authored-by: Nobuyoshi Nakada <nobu@ruby-lang.org>
* * 2022-08-11 [ci skip]git2022-08-111-1/+1
|
* [DOC] Adding a few standards-based formats (#6227)Burdette Lamar2022-08-101-54/+118
|
* Bundle unreleased RBS (#6228)Soutaro Matsumoto2022-08-101-1/+1
|