Age | Commit message (Collapse) | Author |
|
|
|
Notes:
Merged: https://github.com/ruby/ruby/pull/6237
|
|
|
|
(https://github.com/ruby/rdoc/pull/917)
https://github.com/ruby/rdoc/commit/c40bac829c
|
|
|
|
|
|
|
|
Notes:
Merged: https://github.com/ruby/ruby/pull/6225
|
|
Notes:
Merged: https://github.com/ruby/ruby/pull/6139
|
|
`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
|
|
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
|
|
Notes:
Merged: https://github.com/ruby/ruby/pull/5965
|
|
Notes:
Merged: https://github.com/ruby/ruby/pull/5965
|
|
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
|
|
Notes:
Merged: https://github.com/ruby/ruby/pull/6235
|
|
Notes:
Merged: https://github.com/ruby/ruby/pull/6235
|
|
Notes:
Merged: https://github.com/ruby/ruby/pull/6234
|
|
`RbInstall::GemInstaller#build_extensions` has nothing to do.
Notes:
Merged: https://github.com/ruby/ruby/pull/6234
|
|
ErrorHighlight.spot
https://github.com/ruby/error_highlight/commit/489ce80a62
|
|
https://github.com/ruby/rdoc/commit/5506d4d67e
|
|
(https://github.com/ruby/rdoc/pull/915)
https://github.com/ruby/rdoc/commit/d00ddfe57c
|
|
|
|
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
|
|
(https://github.com/ruby/rdoc/pull/913)
https://github.com/ruby/rdoc/commit/7e6ef6c855
|
|
* 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>
|
|
Clean built directories by `make distclean`, and then clean leftover
makefiles for skipped extensions.
|
|
|
|
exts.mk files are one level under the top of extension directories.
|
|
Since `RUBY_DEVEL` in cppflags has no effect in the configure script
and makefiles.
Notes:
Merged: https://github.com/ruby/ruby/pull/6230
|
|
(https://github.com/ruby/rdoc/pull/911)
https://github.com/ruby/rdoc/commit/dc88f1b425
|
|
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]
Notes:
Merged: https://github.com/ruby/ruby/pull/5974
|
|
Fixes [Bug #18826]
Co-authored-by: Nobuyoshi Nakada <nobu@ruby-lang.org>
Notes:
Merged: https://github.com/ruby/ruby/pull/6018
Merged-By: jeremyevans <code@jeremyevans.net>
|
|
|
|
Notes:
Merged-By: BurdetteLamar <BurdetteLamar@Yahoo.com>
|
|
Notes:
Merged-By: soutaro <matsumoto@soutaro.com>
|
|
|
|
https://github.com/ruby/error_highlight/commit/6edf0a0a5d
|
|
We had to keep backtrace_location before opts is overwritten.
https://github.com/ruby/error_highlight/commit/2735e4681a
|
|
(https://github.com/ruby/error_highlight/pull/25)
... and move things from core_ext.rb to base.rb.
This will confine CRuby-dependent things to ErrorHighlight.spot.
https://github.com/ruby/error_highlight/commit/22d1dd7824
|
|
|
|
Notes:
Merged: https://github.com/ruby/ruby/pull/6158
|
|
There's no point in making a copy of an array just to expand it. Saves
an unnecessary array allocation in the multiple assignment case, with
a 35-84% improvement in affected cases in benchmark/masgn.yml.
Notes:
Merged: https://github.com/ruby/ruby/pull/6158
|
|
This optimizes unbalanced multiple assignment cases such as:
```ruby
a.b, c.d = e, f, g
a.b, c.d, e.f = g, h
```
Previously, this would use:
```
newarray(3)
expandarray(2, 0)
newarray(2)
expandarray(3, 0)
```
These would both allocate arrays. This switches to opt_reverse
with either pop or putnil:
```
pop
opt_reverse(2)
putnil
opt_reverse(3)
```
This avoids an unnecessary array allocation, and results in a 35-76%
performance increase in these types of unbalanced cases (tested with
benchmark/masgn.yml).
Notes:
Merged: https://github.com/ruby/ruby/pull/6158
|
|
This allows them to show the effect of the previous newarray/expandarray
to swap/opt_reverse optimization. This shows an 35-83% performance
improvement in the four multiple assignment benchmarks that use this
optimization.
Notes:
Merged: https://github.com/ruby/ruby/pull/6158
|
|
This renames the reverse instruction to opt_reverse, since now it
is only added by the optimizer. Then it uses as a more general
form of swap. This optimizes multiple assignment in the popped
case with more than two elements.
Notes:
Merged: https://github.com/ruby/ruby/pull/6158
|
|
This reverts commit 5512353d97250e85c13bf10b9b32e750478cf474.
Notes:
Merged: https://github.com/ruby/ruby/pull/6158
|
|
An optimization for multiple assignment in the popped case to avoid
array allocation was lost in my fix to make multiple assignment follow
left-to-right evaluation (50c54d40a81bb2a4794a6be5f1861152900b4fed).
Before, in the two element case, swap was used. Afterward, newarray(2)
and expandarray(2, 0) were used, which is the same as swap, with the
addition of an unnecessary allocation.
Because this issue is not specific to multiple assignment, and the
multiple assignment code is complex enough as it is, this updates
the peephole optimizer to do the newarray(2)/expandarray(2, 0) -> swap
conversion.
A more general optimization pass for
newarray(X)/expandarray(X, 0) -> reverse(X) will follow, but that
requires readding the reverse instruction.
Notes:
Merged: https://github.com/ruby/ruby/pull/6158
|
|
|
|
This makes RUBY_DEVEL not enabled automatically. It still can be
enabled manually.
Test manually using RUBY_DEVEL in CI.
Implements [Feature #17468]
Notes:
Merged: https://github.com/ruby/ruby/pull/4993
|
|
Poisoned regions cannot be accessed without unpoisoning outside gc.c.
Specifically, debug.gem is terminated by AddressSanitizer.
```
SUMMARY: AddressSanitizer: use-after-poison iseq_collector.c:39 in iseq_i
```
|