| Age | Commit message (Collapse) | Author |
|
|
|
According to https://bugs.openjdk.org/browse/JDK-8268605, pthread_create
may fail spuriously. This change implements a simple retry as a modest
measure, which is also used by JDK.
|
|
|
|
I don't prefer this style, but it appears that a plurality of syntax
error messages between with un-capitalized messages in CRuby, so
we'll go with that for consistency, for now.
https://github.com/ruby/prism/commit/b02df68954
|
|
https://github.com/ruby/prism/commit/5f43e57b0f
|
|
|
|
https://github.com/ruby/stringio/commit/75da93d48f
|
|
* YJIT: gather call counts for individual cfuncs
Co-authored by Takashi Kokubun
|
|
We need to guard match from GC because otherwise it could end up being
reclaimed or moved in compaction.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
SplatNodes within ArrayNodes (e.g. [*1..2, 3]) need to be special
cased in the compiler because they use a combination of concatarray
and newarray instructions to treat each sequence of splat or non-splat
elements as independent arrays which get concatenated. This commit
implements those cases.
|
|
|
|
The ary_make_shared call may allocate, which can trigger a GC
compaction. This can cause the array to be embedded because it has a
length of 0.
|
|
Fix https://github.com/ruby/prism/pull/1920
https://github.com/ruby/prism/commit/ee8e03bac7
|
|
Fix https://github.com/ruby/prism/pull/1925
Fix https://github.com/ruby/prism/pull/1927
Previously pm_call_node_index_p does not check about a block argument
correctly and is not used in parse_write to check an index call node.
This commit fixes these problems.
https://github.com/ruby/prism/commit/92bab044ff
|
|
https://github.com/ruby/prism/commit/4d689fe1df
|
|
|
|
|
|
This entirely changes how it is tested. Rather than to use counters
we now record the timeline of events with associated threads which
makes it much easier to assert that certains events are only preceded
by a specific event, and makes it much easier to debug unexpected
timelines.
Co-Authored-By: Étienne Barrié <etienne.barrie@gmail.com>
Co-Authored-By: JP Camara <jp@jpcamara.com>
Co-Authored-By: John Hawthorn <john@hawthorn.email>
|
|
Incremental marking prevents the GC from fully executing, so it may fail
to catch certain bugs.
|
|
https://github.com/ruby/rdoc/commit/2161157205
|
|
There have been some sproradically flaky tests related to GC compaction,
which fail with:
1) Failure:
TestGCCompact#test_moving_hashes_down_size_pools [/test/ruby/test_gc_compact.rb:442]:
Expected 499 to be >= 500.
What's happening here, is that, _sometimes_, depending on very unlucky
combinations of machine things, one of the expected-to-be-moved hashes
might be found on the machine stack during GC, and thus pinned.
One factor which seems to make this _more_ likely is that GCC 11 on
Ubuntu 22.04 seems to want to allocate 440 bytes of stack space for
`gc_start`, which is much more than it actually uses on the common code
path. The result is that there are some 50-odd VALUE-sized cells "live"
on the stack which may well contain valid heap pointers from previous
function calls, and will need to be pinned.
This is, of course, totally normal and expected; Ruby's GC is
conservative and if there is the possibility that a VALUE might be live
on the machine stack, it can't be moved. However, it does make these
tests flaky.
This commit "fixes" the tests by performing the work in a fiber; the
fiber goes out of scope and should be collected by the call to
verify_compaction_references, so there should be no references to the
to-be-moved objects floating around on the machine stack.
Fixes [#20021]
|
|
https://github.com/ruby/rdoc/commit/1f568e049d
|
|
do_full_mark can change in gc_start, so we want to set auto-compaction
only after do_full_mark has been properly set.
|
|
|
|
|
|
|
|
|
|
* Before this it was compiled but not used, because TruffleRuby has
a stringio.rb in stdlib and .rb has precedence over .so.
In fact that extension never worked on TruffleRuby,
because rb_io_extract_modeenc() has never been defined on TruffleRuby.
* So this just skip compiling the extension since compilation of it now fails:
https://github.com/ruby/openssl/issues/699
https://github.com/ruby/stringio/commit/d791b63df6
|
|
(https://github.com/ruby/irb/pull/789)
If `output_modifier_proc`'s `complete` arg is true, it means the input is
submitted. In that case, debugger hint doesn't provide value to users
and adds noise to the output. So we hide it in such case.
https://github.com/ruby/irb/commit/f86d9dbe2f
|
|
This changes the CompactIndexClient to store etags received from the
compact index in separate files rather than relying on the MD5 checksum
of the file as the etag.
Smoothes the upgrade from md5 etags to opaque by generating them when no
etag file exists. This should reduce the initial impact of changing the
caching behavior by reducing cache misses when the MD5 etag is the same.
Eventually, the MD5 behavior should be retired and the etag should be
considered completely opaque with no assumption that MD5 would match.
|
|
https://github.com/rubygems/rubygems/commit/9ab1136036
|
|
https://github.com/rubygems/rubygems/commit/59a66e3560
|
|
message
https://github.com/rubygems/rubygems/commit/cb4e26eabc
|
|
deprecation message
https://github.com/rubygems/rubygems/commit/3fd627e486
|
|
Configuration is now local by default.
https://github.com/rubygems/rubygems/commit/6bc7709aa8
|
|
https://github.com/rubygems/rubygems/commit/ed4eaefac0
|
|
Use safe navigation operator with each_char to remove empty strings and improve readability.
https://github.com/ruby/psych/commit/5fe714b216
|
|
bundle-install.1.ronn
https://github.com/rubygems/rubygems/commit/e956c5bbe4
|
|
```
==> memprof.after.txt <==
Total allocated: 1.13 MB (2352 objects)
Total retained: 10.08 kB (78 objects)
==> memprof.before.txt <==
Total allocated: 46.27 MB (38439 objects)
Total retained: 9.94 kB (75 objects)
```
Yes, we were allocating 45MB of arrays in `dependencies_installed?`,
it was accidentally cubic.
https://github.com/rubygems/rubygems/commit/13ab874388
|
|
(https://github.com/ruby/irb/pull/788)
Similar to Pry, it displays user-defined aliases in the help message with
a dedicated section. With the current default aliases, it looks like:
```
...other sections...
Aliases
$ Alias for `show_source`
@ Alias for `whereami`
```
https://github.com/ruby/irb/commit/2a0eacc891
|
|
- RDoc is not markdown, use `+` and `_` for code and variables
respectively, instead of backquotes.
- Remove useless backslashes.
|
|
(https://github.com/ruby/irb/pull/783)
With either `IRB.conf[:USE_PAGER] = false` or `--no-pager` commnad line flag.
I decided use `--no-pager` instead of `--use-pager` because it matches with
Pry and git's command line flags.
https://github.com/ruby/irb/commit/df1c3b9042
|
|
|