Age | Commit message (Collapse) | Author |
|
I suspect that sometimes on CI the last thread is prempted before eaching the exit hook
causing the test to flake. I can't find a good way to force it to run.
|
|
Co-Authored-By: Janosch Müller <janosch.mueller@betterplace.org>
Notes:
Merged: https://github.com/ruby/ruby/pull/6039
|
|
Co-Authored-By: Janosch Müller <janosch.mueller@betterplace.org>
Notes:
Merged: https://github.com/ruby/ruby/pull/6039
|
|
`Regexp.new` now supports passing the regexp flags not only as an
`Integer`, but also as a `String. Unknown flags raise errors.
Notes:
Merged: https://github.com/ruby/ruby/pull/6039
|
|
Notes:
Merged: https://github.com/ruby/ruby/pull/6039
|
|
Now second argument should be `true`, `false`, `nil` or Integer.
This flag is confused with third argument some times.
Notes:
Merged: https://github.com/ruby/ruby/pull/6039
|
|
Notes:
Merged: https://github.com/ruby/ruby/pull/6039
|
|
|
|
This commit is to skip a failure with annocheck 10.76 on the annocheck test
case on the CI. Previously The test worked with annocheck 10.73.
The issue was reported at <https://bugs.ruby-lang.org/issues/18061#note-24>.
> Hardened: ruby: MAYB: test: gaps because no notes found
> Hardened: ruby: info: For more information visit: https://sourceware.org/annobin/annobin.html/Test-gaps.html
It seems that the annocheck added the gaps test at 10.76. Maybe the upstream commit is below.
The annocheck is a part of the annobin project: https://sourceware.org/annobin/
```
$ git clone git://sourceware.org/git/annobin.git
$ git show 61184ae1180a134bfbbd125e9fe339baedd67c18
commit 61184ae1180a134bfbbd125e9fe339baedd67c18
Author: Nick Clifton <nickc@redhat.com>
Date: Mon Jun 13 16:56:46 2022 +0100
Annocheck: Add TEST_GAPS. Add MAYB for TEST_NOTES if DWARF info could not be found
...
```
Notes:
Merged: https://github.com/ruby/ruby/pull/6043
|
|
|
|
|
|
related: [Bugs #18813] and eca31d24d606a73def3674938112dc3c5b79c445
|
|
The paths for extensions of gems would contain the hardcoded ruby
version on which the extension was built. This will replace it with
runtime ruby version like the parent version directory. It will make the
standalone script compatible between different ruby version installations.
https://github.com/rubygems/rubygems/commit/a9dae93d5d
|
|
Notes:
Merged: https://github.com/ruby/ruby/pull/6037
|
|
|
|
* Bundle RBS 2.5.1
Notes:
Merged-By: soutaro <matsumoto@soutaro.com>
|
|
|
|
|
|
hash lookup of handled deps
I was looking at (yet another) flamegraph in speedscope, and used the
'left hand heavy' and was shocked to realize that 0.5s of the 1.7s
is spent in DepProxy#name. This method _only_ delegates the name to an
underlying spec, so it's not complex at all.
It seems to be of how often this line ends up calling it:
next if handled.any?{|d| d.name == dep.name && (match_current_platform || d.__platform == dep.__platform) } || dep.name == "bundler"
The `handled` array is built up as dependencies are handled, so this get
slower as more dependencies are installed.
This change changes how `handled` is track. Instead of just an array, I've
tried using a Hash, with the key being a dep's name, and the value being
a list of deps with that name. This means it's constant time to find
the dependencies with the same name.
I saw a drop from 1.7s to 1.0s against master, and from 0.95s to 0.24s
when used with https://github.com/rubygems/rubygems/pull/5533
https://github.com/rubygems/rubygems/commit/844dac30d4
|
|
|
|
|
|
https://github.com/ruby/etc/commit/6c9a0b4e5d
|
|
|
|
|
|
https://github.com/ruby/etc/commit/a8801e07d1
|
|
https://github.com/ruby/etc/commit/ea51739974
|
|
System-dependent feature macros are automatically detected by
extconf.rb, and are not used by users.
https://github.com/ruby/etc/commit/e7343b4e69
|
|
This is a verbose mode only warning.
Notes:
Merged: https://github.com/ruby/ruby/pull/6038
|
|
|
|
It often shows false positive warnings (at least in 4.8). Newer
versions work well and we can check correct warnings.
|
|
|
|
This script runs with BASERUBY, which can be as old as 2.2.x.
Exception#full_message is new in 2.5.0.
I saw a NoMethodError on the AppVeyor CI where BASERUBY is 2.4.6:
https://ci.appveyor.com/project/ruby/ruby/builds/43870654/job/kae4uo2xbhuhqmdw#L121
|
|
|
|
Notes:
Merged: https://github.com/ruby/ruby/pull/6035
|
|
|
|
The GC compaction mechanism implements a kind of read barrier by marking
some (OS) pages as unreadable, and installing a SIGBUS/SIGSEGV handler
to detect when they're accessed and invalidate an attempt to move the
object.
Unfortunately, when a debugger is attached to the Ruby interpreter on
Mac OS, the debugger will trap the EXC_BAD_ACCES mach exception before
the runtime can transform that into a SIGBUS signal and dispatch it.
Thus, execution gets stuck; any attempt to continue from the debugger
re-executes the line that caused the exception and no forward progress
can be made.
This makes it impossible to debug either the Ruby interpreter or a C
extension whilst compaction is in use.
To fix this, we disable the EXC_BAD_ACCESS handler when installing the
SIGBUS/SIGSEGV handlers, and re-enable them once the compaction is done.
The debugger will still trap on the attempt to read the bad page, but it
will be trapping the SIGBUS signal, rather than the EXC_BAD_ACCESS mach
exception. It's possible to continue from this in the debugger, which
invokes the signal handler and allows forward progress to be made.
Notes:
Merged: https://github.com/ruby/ruby/pull/5991
|
|
Repeating to intern the same string is just redundant, as interned
strings for the same content are always the same object until it gets
collected.
Notes:
Merged: https://github.com/ruby/ruby/pull/6034
Merged-By: nobu <nobu@ruby-lang.org>
|
|
iseq_alloc is not used in compile.c. It is also a static function
declared in iseq.c so it's not accessible in compile.c.
|
|
(https://github.com/ruby/fileutils/pull/90)
* Revisions for module-level doc
https://github.com/ruby/fileutils/commit/dcbad90a1f
|
|
This commit makes `rp` report the correct array length in lldb.
When USING_RVARGC is set we use 7 bits of the flags to store the array
len rather than the usual 2, so they need to be part of the mask when
calculating the length in lldb.
When calculating whether rvargc is enabled I've used the same approach
that's used by `GC.using_rvargc?` which is to detect whether there is
more than one size pool in the current objspace.
Notes:
Merged: https://github.com/ruby/ruby/pull/6033
|
|
It previously failed with:
```
1) Failure:
TestThreadInstrumentation#test_thread_instrumentation_fork_safe [/home/runner/work/ruby/ruby/src/test/-ext-/thread/test_instrumentation_api.rb:50]:
<5> expected but was
<4>.
```
Suggesting one `EXIT` event wasn't fired or processed.
Adding an assetion on `Thead#status` may help figure out what is wrong.
Notes:
Merged: https://github.com/ruby/ruby/pull/6032
|
|
So that it does not interfere with our specs.
https://github.com/rubygems/rubygems/commit/1029714e21
|
|
https://github.com/rubygems/rubygems/commit/e07dba0923
|
|
https://github.com/rubygems/rubygems/commit/272ac23aa8
|
|
Instead, pass sitearchdir and sitelibdir directly to `make`.
This also removes the need to create and use the siteconf file at all
when generating makefiles.
https://github.com/rubygems/rubygems/commit/dea41fa2dc
|
|
This variable can't be falsy.
https://github.com/rubygems/rubygems/commit/b838f9a6f0
|
|
Only `RbConfig::MAKEFILE_CONFIG` is actually used.
https://github.com/rubygems/rubygems/commit/b767cc0929
|
|
[Feature #18339]
After experimenting with the initial version of the API I figured there is a need
for an exit event to cleanup instrumentation data. e.g. if you record data in a
{thread_id -> data} table, you need to free associated data when a thread goes away.
Notes:
Merged: https://github.com/ruby/ruby/pull/6029
|
|
|
|
Notes:
Merged: https://github.com/ruby/ruby/pull/5867
|