| Age | Commit message (Collapse) | Author |
|
core_assertions.rb: Prefer CPU time clocks
To prevent influence from other processes.
|
|
core_assertions.rb: Extract common code block
|
|
Skip assert_linear_performance for RJIT
|
|
core_assertions.rb: Tweak timeout limit
Increase the timeout limit when variance at rehearsal is small.
|
|
[Backport #20698]"
This reverts commit 3a3784a197383046537e66a9c567b96a52f0f86f.
|
|
Update bundled gems list as of 2024-08-22
|
|
Fix next inside block argument stack underflow
[Bug #20344]
Fix compile_next adding removable adjust label
|
|
#20651] [Backport #20571]
Fix wrong unreachable chunk remove when jump destination label is unremovable
|
|
[Bug #20649] Allow `nil` as 2nd argument of `assign_error`
Fallback to the last token element in that case, for the backward
compatibilities.
|
|
Update bundled gems list as of 2024-08-12
|
|
Update bundled gems list as of 2024-08-02
|
|
.travis.yml: Allow failures for ppc64le and s390x.
Because Travis ppc64le/s390x are unstable.
ppc64le:
* https://app.travis-ci.com/github/ruby/ruby/builds/269211469
* https://app.travis-ci.com/github/ruby/ruby/builds/269204073
s390x:
* https://app.travis-ci.com/github/ruby/ruby/builds/269201221
|
|
|
|
|
|
|
|
[Bug #19619] Preserve numbered parameters context
Preserve numbered parameters context across method definitions
|
|
YJIT: Fix cfp inconsistency on tailcall (#8107)
[Bug #19781]
|
|
Don't call `Warning.warn` unless the category is enabled (#10981)
Don't call `Warning.warn` unless the category is enabled
The warning category should be enabled if we want to call
`Warning.warn`.
This commit speeds up the following benchmark:
```ruby
eval "def test; " +
1000.times.map { "' '.chomp!" }.join(";") + "; end"
def run_benchmark count
i = 0
while i < count
start = Process.clock_gettime(Process::CLOCK_MONOTONIC)
yield
ms = Process.clock_gettime(Process::CLOCK_MONOTONIC) - start
puts "itr ##{i}: #{(ms * 1000).to_i}ms"
i += 1
end
end
run_benchmark(25) do
250.times do
test
end
end
```
On `master` this runs at about 92ms per iteration. With this patch, it
is 7ms per iteration.
[Bug #20573]
|
|
d8c6e91748871ab2287d7703347847fe18a292d2: [Backport #20592]
[Bug #20592] Fix segfault when sending NULL to freeaddrinfo
On alpine freeaddrinfo does not accept NULL pointer
Fix dangling `else`
|
|
[Bug #20468] Fix safe navigation in `for` variable
|
|
[Backport #20500]"
This reverts commit fc5b9ffad1b0710bd999521d0bf9631af6b762c2.
|
|
[Bug #20517] Make a multibyte character one token at meta escape
|
|
[Bug #20030] dispatch invalid escaped character without ignoring it
|
|
[Bug #20500] Search non-default directories for jemalloc
Co-Authored-by: lish82 (Hiroki Katagiri)
|
|
[Bug #20342] Consider wrapped load in `main` methods
|
|
[Bug #20322] Fix rb_enc_interned_str_cstr null encoding
The documentation for `rb_enc_interned_str_cstr` notes that `enc` can be
a null pointer, but this currently causes a segmentation fault when
trying to autoload the encoding. This commit fixes the issue by checking
for NULL before calling `rb_enc_autoload`.
|
|
Fix memory leak in setting encodings
There is a memory leak in Encoding.default_external= and
Encoding.default_internal= because the duplicated name is not freed
when overwriting.
10.times do
1_000_000.times do
Encoding.default_internal = nil
end
puts `ps -o rss= -p #{$$}`
end
Before:
25664
41504
57360
73232
89168
105056
120944
136816
152720
168576
After:
9648
9648
9648
9680
9680
9680
9680
9680
9680
9680
|
|
7f87ad9fc4bc45faf8cd33602a025f27c094b2fd: [Backport #20431]
Check if macros are defined before using
Assume macros with the same prefix would be defined together.
Refer autoconfigured endian macro (#10572)
Remove the case `RB_IO_BUFFER_HOST_ENDIAN` is not defined.
|
|
[Backport #20169]"
This reverts commit 6b73406833dd22e489114fa77c1c80c4b7af2ed0.
|
|
d5080f6e8b77364483ff6727b1065e45e180f05d: [Backport #20292]"
This reverts commit a54c717c7a74b91a3cdf20742c355e3ea42052d1.
|
|
f23d5028059078a346efc977287b669d494a5a3f, a0f7de814ae5c299d6ce99bed5fb308a05d50ba0: [Backport #20296]
[Bug #20296] Clear errinfo when `exception: false`
[Bug #20296] Refine the test
[Bug #20296] Fix the default assertion message
|
|
d5080f6e8b77364483ff6727b1065e45e180f05d: [Backport #20292]
[Bug #20292] Truncate embedded string to new capacity
Fix -Wsign-compare on String#initialize
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
../string.c:1886:57: warning: comparison of integer expressions of different signedness: ‘size_t’ {aka ‘long unsigned int’} and ‘long int’ [-Wsign-compare]
1886 | if (STR_EMBED_P(str)) RUBY_ASSERT(osize <= str_embed_capa(str));
| ^~
|
|
Make io_fwrite safe for compaction
[Bug #20169]
Embedded strings are not safe for system calls without the GVL because
compaction can cause pages to be locked causing the operation to fail
with EFAULT. This commit changes io_fwrite to use rb_str_tmp_frozen_no_embed_acquire,
which guarantees that the return string is not embedded.
|
|
[Bug #20307] Fix `Hash#update` to make frozen copy of string keys
|
|
rb_obj_setup: do not copy RUBY_FL_SEEN_OBJ_ID
[Bug #20250]
We're seting up a new instance, so it never had an associated
object_id.
|
|
Fix memory leak when duplicating too complex object
[Bug #20162]
Creating a ST table then calling st_replace leaks memory because the
st_replace overwrites the ST table without freeing any of the existing
memory. This commit changes it to use st_copy instead.
For example:
RubyVM::Shape.exhaust_shapes
o = Object.new
o.instance_variable_set(:@a, 0)
10.times do
100_000.times { o.dup }
puts `ps -o rss= -p #{$$}`
end
Before:
23264
33600
42672
52160
61600
71728
81056
90528
100560
109840
After:
14752
14816
15584
15584
15664
15664
15664
15664
15664
15664
|
|
f3af5ae7e6c1c096bbfe46d69de825a02b1696cf: [Backport #20311]
Don't pin named structs defined in Ruby
[Bug #20311]
`rb_define_class_under` assumes it's called from C and that the
reference might be held in a C global variable, so it adds the
class to the VM root.
In the case of `Struct.new('Name')` it's wasteful and make
the struct immortal.
Make Struct memory leak test faster
[Bug #20311]
It times out on some platform, so we can reduce iterations.
On my machine it completes in 250ms and RSS grows 8X.
|
|
[Bug #20239] Fix overflow at down-casting
|
|
[Bug #20305] Fix matching against an incomplete character
When matching against an incomplete character, some `enclen` calls are
expected not to exceed the limit, and some are expected to return the
required length and then the results are checked if it exceeds.
|
|
04729fe68dceddab045be7324e26c2bb15aa62c7: [Backport #20286] [Backport #20286]
Ensure that exiting thread invokes end-of-life behaviour. (#10039)
Fix exception handling in `rb_fiber_scheduler_set`. (#10042)
|
|
Don't clear pending interrupts in the parent process. (#10365)
|
|
Enumerator should use a non-blocking fiber, change `rb_fiber_new` to be non-blocking by default. (#10481)
|
|
[Bug #20499] Use Xcode owned tools for Xcode clang
Xcode has its own version tools that may be incompatible with genuine
LLVM tools, use the tools in the same directory.
|
|
|
|
[Backport #20494]"
This reverts commit ec30266267b2a063089b8ce7967203bcbadbdf4e.
|
|
1ab7c412d2e3880a7ad233c32e93961888f8145c, fd549b229b0822198ddc847703194263a2186ed1: [Backport #20515]"
This reverts commit dc4ca25e0a01e072ba3cf1fc47612aff72c980af.
|
|
1ab7c412d2e3880a7ad233c32e93961888f8145c, fd549b229b0822198ddc847703194263a2186ed1: [Backport #20515]
ci: Test whether GMP is working in compilers.yml (#10875)
Avoid reoccurence of [Bug #20515]
Requires https://github.com/ruby/ruby/pull/10876 since 18eaf0be905e3e251423b42d6f4e56b7cae1bc3b
bug: https://bugs.ruby-lang.org/issues/20515
RUBY_CHECK_HEADER didn't define HAVE_{header-file} (#10876)
--with-gmp is not working at all because HAVE_GMP_H
was missing since 18eaf0be90. [Bug #20515]
bug: https://bugs.ruby-lang.org/issues/20515
follow-up: https://bugs.ruby-lang.org/issues/20494
follow-up: 18eaf0be905e3e251423b42d6f4e56b7cae1bc3b
follow-up: https://github.com/ruby/ruby/pull/10805
test_bignum: defined? returns String (#10880)
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
didn't verify the test is working properly due to mistaken auto-merge… [Bug #20515]
bug: https://bugs.ruby-lang.org/issues/20515
follow-up: 22e4eeda6561693367fc7a00b92b90f46b09cabd
follow-up: https://github.com/ruby/ruby/pull/10875
|
|
[Bug #20494] Search non-default directories for GMP
Co-Authored-by: lish82 (Hiroki Katagiri)
|
|
[Bug #20180]
Backports #9624.
|
|
README.ja.md: Remove Cirrus CI badge image. folloup for 15ee9c7c1b693f29b6b2dbe7b47488bf154e481c.
|