summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2023-11-28[DOC] Add a mention of [Feature #18551] to NEWS.mdKouhei Yanagita
2023-11-28Retry pthread_create a few timesYusuke Endoh
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.
2023-11-28Make Range#reverse_each raise TypeError if endlessKouhei Yanagita
2023-11-28[ruby/prism] Use un-capitalized error messagesKevin Newton
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
2023-11-28[ruby/prism] Introduce char_is_identifier_utf8Haldun Bayhantopcu
https://github.com/ruby/prism/commit/5f43e57b0f
2023-11-28Update default gems list at def416899d2b72d2299ddfa97f1f94 [ci skip]git
2023-11-28[ruby/stringio] Development of 3.1.1 started.Sutou Kouhei
https://github.com/ruby/stringio/commit/75da93d48f
2023-11-27YJIT: add top C function call counts to `--yjit-stats` (#9047)Maxime Chevalier-Boisvert
* YJIT: gather call counts for individual cfuncs Co-authored by Takashi Kokubun
2023-11-27Guard match from GC when scanning stringPeter Zhu
We need to guard match from GC because otherwise it could end up being reclaimed or moved in compaction.
2023-11-27[PRISM] Small fixes to parameters ordering and methodsJemma Issroff
2023-11-27[PRISM] Renamed some variables, added commentsJemma Issroff
2023-11-27[PRISM] Compile IndexOperatorWriteNodeJemma Issroff
2023-11-27[PRISM] Compile IndexAndWriteNodeJemma Issroff
2023-11-27[PRISM] Compile IndexOrWriteNodeJemma Issroff
2023-11-27Add assertions to check created red-black treePeter Zhu
2023-11-27Fix indentation in comment in shape.cPeter Zhu
2023-11-27[PRISM] Fix compilation for SplatNodes within ArrayNodesJemma Issroff
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.
2023-11-27[PRISM] Don't pop several args related nodesJemma Issroff
2023-11-27Fix compaction during ary_make_partialPeter Zhu
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.
2023-11-27[ruby/prism] Check void expressions for constant pathsTSUYUSATO Kitsune
Fix https://github.com/ruby/prism/pull/1920 https://github.com/ruby/prism/commit/ee8e03bac7
2023-11-27[ruby/prism] Fix and reuse pm_call_node_index_pTSUYUSATO Kitsune
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
2023-11-27[ruby/prism] Correct template.rb commentKevin Newton
https://github.com/ruby/prism/commit/4d689fe1df
2023-11-27Update to ruby/spec@c3206f6Benoit Daloze
2023-11-27Update to ruby/mspec@9f83eeaBenoit Daloze
2023-11-27Refactor and fix the GVL instrumentation APIJean Boussier
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>
2023-11-27Don't incremental mark when GC stressfulPeter Zhu
Incremental marking prevents the GC from fully executing, so it may fail to catch certain bugs.
2023-11-27[ruby/rdoc] [DOC] Slightly decorate `em` and `strong`Nobuyoshi Nakada
https://github.com/ruby/rdoc/commit/2161157205
2023-11-27Fix flaky "Expected 499 to be >= 500" assertion in test_gc_compact.rbKJ Tsanaktsidis
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]
2023-11-27[ruby/rdoc] Place a space between certain character class letters onlyNobuyoshi Nakada
https://github.com/ruby/rdoc/commit/1f568e049d
2023-11-27Set compaction after major GC has been determinedPeter Zhu
do_full_mark can change in gc_start, so we want to set auto-compaction only after do_full_mark has been properly set.
2023-11-28[Bug #20023] Resurrect fake string feature name before raisingNobuyoshi Nakada
2023-11-27Implement Write Barriers on Enumerator::ProducerPeter Zhu
2023-11-27Implement Write Barriers on Enumerator::GeneratorPeter Zhu
2023-11-27Implement Write Barriers on Enumerator::YielderPeter Zhu
2023-11-27[ruby/stringio] Do not compile the C extension on TruffleRubyBenoit Daloze
* 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
2023-11-27[ruby/irb] Hide debugger hint after the input is submittedStan Lo
(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
2023-11-27Opaque Etags for compact index requestsJosef Šimánek
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.
2023-11-27[rubygems/rubygems] Don't remember `--jobs` flagDavid Rodríguez
https://github.com/rubygems/rubygems/commit/9ab1136036
2023-11-27[rubygems/rubygems] Fix advice in `bundle install --system` deprecationDavid Rodríguez
https://github.com/rubygems/rubygems/commit/59a66e3560
2023-11-27[rubygems/rubygems] Keep a single copy of the remembered flag deprecation ↵David Rodríguez
message https://github.com/rubygems/rubygems/commit/cb4e26eabc
2023-11-27[rubygems/rubygems] Avoid some unnecessary quotes in remember flag ↵David Rodríguez
deprecation message https://github.com/rubygems/rubygems/commit/3fd627e486
2023-11-27[rubygems/rubygems] Simplify remembered flags deprecation messageDavid Rodríguez
Configuration is now local by default. https://github.com/rubygems/rubygems/commit/6bc7709aa8
2023-11-27[rubygems/rubygems] Remove no longer necessary workaround for old RubyGemsDavid Rodríguez
https://github.com/rubygems/rubygems/commit/ed4eaefac0
2023-11-27[ruby/psych] Prefer each_char in Psych::Visitors::Visitor::ToRuby#deserializeMau Magnaguagno
Use safe navigation operator with each_char to remove empty strings and improve readability. https://github.com/ruby/psych/commit/5fe714b216
2023-11-26[rubygems/rubygems] Add missing --prefer-local to Synopsis in ↵Olle Jonsson
bundle-install.1.ronn https://github.com/rubygems/rubygems/commit/e956c5bbe4
2023-11-26[rubygems/rubygems] Reduce allocations when installing gems with bundlerSamuel Giddins
``` ==> 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
2023-11-26[ruby/irb] Display aliases in help messageStan Lo
(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
2023-11-26[DOC] Fix markup in declarative marking API documentNobuyoshi Nakada
- RDoc is not markdown, use `+` and `_` for code and variables respectively, instead of backquotes. - Remove useless backslashes.
2023-11-26[ruby/irb] Support disabling pagerStan Lo
(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
2023-11-26[DOC] Remove extra `+` which is not a part of keyword argument nameNobuyoshi Nakada