aboutsummaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* [ruby/resolv] IPv6: update to_s method to be RFC5952 compliantJohn Bond2023-11-222-6/+3
| | | | | | | | | | | | | | | | | | | (https://github.com/ruby/resolv/pull/25) * IPv6: update to_s method to be RFC5952 compliant I noticed that the resolv library does not honour RFC 5952 Section 4.2.2. in relation to textural representation of ipv6 addresses: The symbol "::" MUST NOT be used to shorten just one 16-bit 0 field. For example, the representation 2001:db8:0:1:1:1:1:1 is correct, but 2001:db8::1:1:1:1:1 is not correct. Fixes https://github.com/ruby/resolv/pull/24 https://github.com/ruby/resolv/commit/5efcd6ed70 Co-authored-by: Sorah Fukumori <sora134@gmail.com>
* objspace_dump.c: dump call cache ids with dump_append_idJean Boussier2023-11-222-6/+7
| | | | | | Not all `ID` have an associated string. Fixes a SEGFAULT in ObjectSpace.dump_all spec.
* Speedup test_shape.rbJean Boussier2023-11-222-114/+32
| | | | | | | | | | | | | | | | Many tests start by exhausting all shapes, which is a slow process. By exposing a method to directly move the bump allocator forward we cut test runtime in half. Before: ``` Finished tests in 1.544756s ``` After: ``` Finished tests in 0.759733s, ```
* Update bundled gems list as of 2023-11-21git2023-11-222-2/+2
|
* Prevent a compiler warning: ‘zi’ may be used uninitializedYusuke Endoh2023-11-221-1/+1
|
* [ruby/prism] Add SPLAT flag on ArrayNode indicating if it contains splat ↵Jemma Issroff2023-11-2187-215/+442
| | | | | | | | | element(s) This commit puts a SPLAT flag on any ArrayNodes which contain SplatNode elements https://github.com/ruby/prism/commit/2fc1e7f181
* [PRISM] Rename flag to CONTAINS_KEYWORD_SPLATJemma Issroff2023-11-2116-21/+21
| | | | | We need to do this change first on ruby/ruby before merging to ruby/prism to avoid breaking ruby/ruby CI
* [ruby/open3] [DOC] Open3 doc (https://github.com/ruby/open3/pull/21)Burdette Lamar2023-11-211-106/+170
| | | | https://github.com/ruby/open3/commit/3bdb402b18
* [ruby/prism] Remove handling OptionalNodeField in set_newline_flagHiroya Fujinami2023-11-211-1/+1
| | | | | | | template (https://github.com/ruby/prism/pull/1905) https://github.com/ruby/prism/commit/6f7cbc1ca9
* Implement WeakKeyMap on VWAPeter Zhu2023-11-211-3/+2
| | | | | | | | | | | | | | | | | | | | | | | | Benchmark: ``` puts(Benchmark.measure do 10_000_000.times do ObjectSpace::WeakKeyMap.new end end) ``` Before: ``` 2.554772 0.014167 2.568939 ( 2.575763) ``` After: ``` 1.994920 0.013583 2.008503 ( 2.012139) ```
* Implement WeakMap on VWAPeter Zhu2023-11-211-3/+2
| | | | | | | | | | | | | | | | | | | | | | | | Benchmark: ``` puts(Benchmark.measure do 10_000_000.times do ObjectSpace::WeakMap.new end end) ``` Before: ``` 2.568662 0.014001 2.582663 ( 2.601743) ``` After: ``` 2.025523 0.008676 2.034199 ( 2.041760) ```
* [rubygems/rubygems] Fix invalid platform removal missing adjacent platformsBo Anderson2023-11-212-1/+2
| | | | https://github.com/rubygems/rubygems/commit/4ce66c41a2
* Update default gems list at 7d6f812c311436e357fa3fd7e883c4 [ci skip]git2023-11-211-1/+1
|
* [ruby/prism] Update to v0.18.0Kevin Newton2023-11-214-7/+7
| | | | https://github.com/ruby/prism/commit/1398879d79
* Use count macros for counting instance variablesAaron Patterson2023-11-211-33/+2
| | | | | We don't need to check for Qundef because the shape tells us the number if IVs that are stored on the object
* [ruby/prism] Fix lex_state_beg_pHaldun Bayhantopcu2023-11-213-29/+203
| | | | | | (https://github.com/ruby/prism/pull/1591) https://github.com/ruby/prism/commit/46b8576dd0
* [ruby/prism] feat: adds encoding for TIS-620Thiago Araujo2023-11-214-0/+40
| | | | | | (https://github.com/ruby/prism/pull/1901) https://github.com/ruby/prism/commit/2c308e6697
* [ruby/prism] Fix `..` and `...` to be non-associativeHiroya Fujinami2023-11-212-6/+12
| | | | | | | | | | (https://github.com/ruby/prism/pull/1837) Fix https://github.com/ruby/prism/pull/1829 https://github.com/ruby/prism/commit/90b0b1974c Co-authored-by: Kevin Newton <kddnewton@gmail.com>
* Embed ibf_dump objectsJean Boussier2023-11-211-5/+2
|
* [ruby/prism] Fix constant path full name when parent is not aVinicius Stock2023-11-212-0/+39
| | | | | | | | | | | | | | | | | constant (https://github.com/ruby/prism/pull/1742) * Raise if constant path parts contains nodes that can't be used to build full name * Fix typo in constant path error documentation Co-authored-by: Tim Morgan <tim@timmorgan.org> --------- https://github.com/ruby/prism/commit/d73a053262 Co-authored-by: Tim Morgan <tim@timmorgan.org>
* [ruby/prism] Warning for ENDs in methodsHaldun Bayhantopcu2023-11-215-1/+18
| | | | | | (https://github.com/ruby/prism/pull/1899) https://github.com/ruby/prism/commit/1b41c2d56c
* Remove string concat node in prismKevin Newton2023-11-212-13/+1
|
* [ruby/prism] Remove string concat in favor of a flat listKevin Newton2023-11-2111-311/+293
| | | | | | | | | | | | | | | | | | | | | | | | Right now when you have a lot of string concats it ends up being difficult to work with because of the depth of the tree. You end up descending very far for every string literal that is part of the concat. There are already times when we use an interpolated string node to group together two string segments that are part of the same string (like when they are interupted by the contents of a heredoc). This commit takes the same approach and replaces string concats with interpolated string nodes. Now that they're a flat list, they should be much easier to work with. There's still some missing information here that would be useful to consumers: whether or not there is _actually_ any interpolation contained in the list. We could remedy this with another node type that is named something like string list, or we could add a flag to interpolated string node indicating that there is interpolation. Either way I want to solve that in a follow-up commit, since this commit is valuable on its own. https://github.com/ruby/prism/commit/1e7ae3ad1b
* Refactor NameError::message and make it embededJean Boussier2023-11-211-50/+51
| | | | | | These aren't particularly common, but avoiding the malloc churn for small types is always nice, and this commit also modernize and cleanup the TypedData API usage.
* Make Process::Status embeddedJean Boussier2023-11-211-11/+13
| | | | These are not very common, but they're very easy to convert.
* YJIT: Skip dump-disasm if it fails to create a file (#8968)Takashi Kokubun2023-11-211-5/+9
|
* Fix memory leak when evacuating generic ivarsPeter Zhu2023-11-212-1/+25
| | | | | | The lookup in the table is using the wrong key when converting generic instance variables to too complex, which means that it never looks up the entry which leaks memory when the entry is overwritten.
* Get rid of useless dsize functionsJean Boussier2023-11-214-35/+22
| | | | | If we always return 0, we might as well not define the function at all.
* Update default gems list at f954a5663a6cb5fa9f55f45fd0f87e [ci skip]git2023-11-211-1/+1
|
* [ruby/irb] Bump version to 1.9.1tomoya ishida2023-11-211-2/+2
| | | | | | (https://github.com/ruby/irb/pull/773) https://github.com/ruby/irb/commit/997df3e849
* Update bundled gems list at 307af18fa0389135035c0c52f05975 [ci skip]git2023-11-211-1/+1
|
* Bundle rbs-3.3.2 (#8974)Soutaro Matsumoto2023-11-211-1/+1
|
* [Bug #20004] Revert "[Feature #19422] Enable shared by default on macOS"Hiroshi SHIBATA2023-11-211-4/+1
| | | | | | | | | | | | | | | This reverts commit 9694445051c4192c8f659529133acab253bd0bc3. This change broke our release CI. https://github.com/ruby/actions/actions/runs/6599016994/job/17927644579#step:16:44 Invoking `/Users/runner/work/actions/actions/snapshot-master/ruby -rrubygems /Users/runner/work/actions/actions/snapshot-master/bin/gem --backtrace build lib/bundler/bundler.gemspec` failed with output: ---------------------------------------------------------------------- dyld[42417]: Library not loaded: '/usr/local/lib/libruby.3.3.dylib' Referenced from: '/Users/runner/work/actions/actions/snapshot-master/ruby' Reason: tried: '/usr/local/lib/libruby.3.3.dylib' (no such file), '/usr/lib/libruby.3.3.dylib' (no such file) ----------------------------------------------------------------------
* Update bundled gems list at 1886ee190a26cca0308d69a32c9179 [ci skip]git2023-11-211-1/+1
|
* Bundle rbs-3.3.1 (#8921)Soutaro Matsumoto2023-11-212-7/+1
| | | | * bundle rbs-3.3.1 * Restore diff/subtract tests
* Add EXTERNAL_PREFIX to ruby_abi_versionNobuyoshi Nakada2023-11-211-1/+1
|
* typedef ABI version typesNobuyoshi Nakada2023-11-211-2/+4
|
* Do not change hash type in Hash#assocNobuyoshi Nakada2023-11-212-34/+49
|
* Raise an exception when Hash#compare_by_identity during its iterationYusuke Endoh2023-11-212-0/+12
|
* Raise an exception if ar_table is converted to st_table during iterationYusuke Endoh2023-11-211-0/+11
| | | | | | | | | | | ar_table may be converted to st_table by `ar_force_convert_table`. If the conversion occurs during the iteration of ar_table, the iteration may lead to memory corruption. This change prevents the catastrophy by throwing an exception when the conversion is detected. This issue is reported by [SuperS](https://hackerone.com/superss)
* `ObjectSpace.count_nodes` doesn't count nodesyui-knk2023-11-211-142/+1
| | | | | | | Node has not been managed by GC from Ruby 2.5. Therefore these codes are not needed. If ObjectSpace depends on Node, it needs to update the file when node type is updated. Delete node related codes to avoid such update.
* Add a testTSUYUSATO Kitsune2023-11-211-0/+5
|
* Reject 'class << (return); end` by "void value expression"TSUYUSATO Kitsune2023-11-211-5/+5
|
* [Bug #11183] Fix rb_complex_pow for special anglesKouhei Yanagita2023-11-212-0/+151
| | | | | | | | | | | | Add a special treatment for when the argument of self is an integral multiple of 45 degrees. 1i ** (10 ** 100) #=> 1+0i 1i ** (10 ** 100 + 1) #=> 0+1i (1+1i) ** (10 ** 100) # warning: in a**b, b may be too big #=> (Infinity+0.0i) (1+1i) ** (10 ** 100 + 1) # warning: in a**b, b may be too big #=> (Infinity+Infinity*i)
* [ruby/prism] Check a token after targets more strictlyHiroya Fujinami2023-11-212-2/+13
| | | | | | | | (https://github.com/ruby/prism/pull/1878) Fix https://github.com/ruby/prism/pull/1832 https://github.com/ruby/prism/commit/060bcc81a8
* [ruby/prism] Build the ability to format errorsKevin Newton2023-11-214-26/+115
| | | | | | | | | | | | | | | | | (https://github.com/ruby/prism/pull/1796) Previously, we only supported error messages that were constant strings. This works for the most part, but there are some times where we want to include some part of the source in the error message to make it better. For example, instead of "Token is reserved" it's better to write "_1 is reserved". To do this, we now support allocating error messages at runtime that are built around format strings. https://github.com/ruby/prism/commit/7e6aa17deb
* [ruby/prism] Split up CaseNode and CaseMatchNodeKevin Newton2023-11-2145-135/+247
| | | | | | (https://github.com/ruby/prism/pull/1801) https://github.com/ruby/prism/commit/4c1391ea56
* [prism] Remove pm_big5_hkscs from common.mk targetsKevin Newton2023-11-201-5/+0
|
* Rename the big5-hkscs stuff to something more generic and add UAO sharing ↵Ryan Garver2023-11-206-55/+66
| | | | | | common code. Merge the Big5 extensions into pm_big5.c
* [rubygems/rubygems] Bump rb-sysdependabot[bot]2023-11-212-7/+7
| | | | | | | | | | | | | | | | | Bumps [rb-sys](https://github.com/oxidize-rb/rb-sys) from 0.9.82 to 0.9.83. - [Release notes](https://github.com/oxidize-rb/rb-sys/releases) - [Commits](https://github.com/oxidize-rb/rb-sys/compare/v0.9.82...v0.9.83) --- updated-dependencies: - dependency-name: rb-sys dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] <support@github.com> https://github.com/rubygems/rubygems/commit/9eb6220c6c