summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2025-12-02Win32: Remove DLL files linked by `prepare-vcpkg`Nobuyoshi Nakada
2025-12-02Win32: Support removing wildcards in middle of pathNobuyoshi Nakada
2025-12-02Win32: Clean generated sourcesNobuyoshi Nakada
2025-12-02Win32: Refine outputsNobuyoshi Nakada
- Suppress logos from sub makes. - Set the prompt for `for` command when `echo` is on.
2025-12-02Win32: Append `-p` option to `RMDIRS`Nobuyoshi Nakada
`rmdirs.bat` may require this option explicitly to remove parent directories, in the future.
2025-12-02Win32: Clean prismNobuyoshi Nakada
- intermediate source files - timestamp files - build directories
2025-12-02Win32: Remove extra suffix for sub-makeNobuyoshi Nakada
2025-12-02Win32: Fix removing symlinkNobuyoshi Nakada
Try `rd` first for symlink to a directory; `del` attemps to remove all files under the target directory, instead of the symlink itself.
2025-12-02Win32: Add `DLEXT` for clean-specNobuyoshi Nakada
2025-12-02Win32: Fix rm.bat removing non existent fileNobuyoshi Nakada
2025-12-02Win32: Fix @ in middle of commandsNobuyoshi Nakada
`@` is not a command, and cannot be placed after `||`.
2025-12-02ZJIT: Optimize GetIvar for non-T_OBJECTBenoit Daloze
* All Invariant::SingleRactorMode PatchPoint are replaced by assume_single_ractor_mode() to fix https://github.com/Shopify/ruby/issues/875 for SingleRactorMode patchpoints.
2025-12-02Clean generated transcodersNobuyoshi Nakada
2025-12-01ZJIT: Split Lea memory reads on x86_64Max Bernstein
2025-12-01ZJIT: Add HIR test for VM_OPT_NEWARRAY_SEND_PACK_BUFFERMax Bernstein
2025-12-01ZJIT: Open-code String#getbyteMax Bernstein
Don't call a C function.
2025-12-01ZJIT: Mark String#ascii_only? as leafMax Bernstein
2025-12-01ZJIT: Specialize Integer#>>Max Bernstein
Same as Integer#>>. Also add more strict type checks for both Integer#>> and Integer#<<.
2025-12-01Add BOP_GTGTMax Bernstein
This will help JITs (and maybe later the interpreter) optimize Integer#>>.
2025-12-01ZJIT: Specialize String#<< with FixnumMax Bernstein
Append a codepoint.
2025-12-01ZJIT: Add late pass to fold AnyToStringMax Bernstein
This otherwise would miss annotations of C methods.
2025-12-01ZJIT: Don't use GuardTypeNotMax Bernstein
Use actual receiver type. This gives us better method lookup.
2025-12-01ZJIT: Mark Integer#to_s as returning StringExactMax Bernstein
2025-12-01Add remembered flag to heap dumpJohn Hawthorn
This should be less common than than many of the other flags, so should not inflate the heap too much. This is desirable because reducing the number of remembered objects will improve minor GC speeds.
2025-12-01[ruby/strscan] [DOC] Fix broken link to helper methodsBerkan Ünal
(https://github.com/ruby/strscan/pull/179) ### Helper methods link is broken at master branch To reproduce 1. go to [StringScanner docs](https://docs.ruby-lang.org/en/master/StringScanner.html) 2. Click to link at line > See examples at **helper_methods** 3. Resolved url gives 404: https://docs.ruby-lang.org/en/master/strscan/helper_methods_md.html ### Fix Currently link resolves as `href="doc/strscan/helper_methods_md.html"` Correct link should be resolved as `href="helper_methods_md.html"` https://github.com/ruby/strscan/commit/adb8678aa6
2025-12-01Test CC invalidation for singleton classes of objects (#15360)Luke Gruber
I made a recent change where all the tests passed but it turns out it was still wrong. We didn't have any tests for CC invalidation on singletons of objects that aren't classes or modules.
2025-12-01ZJIT: Fix erroneous version number for Iongraph (#15357)Aiden Fox Ivey
As per https://github.com/mozilla-spidermonkey/iongraph/blob/8d5e531305320216f86a24bfc9bc136a3627e832/src/iongraph.ts#L147, correct version number for the web-based tool is 1, rather than 2.
2025-12-01ZJIT: Standardize method dispatch insns' `recv` field (#15334)Stan Lo
ZJIT: Standardize C call related insn fields - Add `recv` field to `CCall` and `CCallWithFrame` so now all method dispatch related instructions have `recv` field, separate from `args` field. This ensures consistent pointer arithmetic when generating code for these instructions. - Standardize `recv` field's display position in send related instructions.
2025-12-01Speedup RBASIC_FIELDS_COUNT (#15273)Luke Gruber
We know the argument is not a class, module or special const, so we can skip these checks.
2025-12-01ZJIT: Optimize variadic cfunc `Send` calls into `CCallVariadic` (#14898)Stan Lo
ZJIT: Optimize variadic cfunc Send calls into CCallVariadic
2025-12-01[ruby/prism] PM_NODE_INITKevin Newton
Hide the initialization of the base node inside the node initializer lists by a macro. As such, consistently enforce flags are set properly. https://github.com/ruby/prism/commit/c7b3d66d84
2025-12-01Add `rb_ec_close` function to manage execution context cleanup. (#15253)Samuel Williams
2025-12-01Nullify scheduler during `terminate_atfork_i`. (#15354)Samuel Williams
2025-12-01[ruby/prism] Fix up newlines in newline-delimited-literalsKevin Newton
When you have a %-literal that is delimited by newlines, and you are also interpolating a heredoc into that literal, then both concepts will attempt to add the same newline to the newline list. https://github.com/ruby/prism/commit/c831abb888
2025-12-01[ruby/prism] Properly remove referencesKevin Newton
https://github.com/ruby/prism/commit/17b246fd6a
2025-12-01Remove an excess semicolon in a macroNobuyoshi Nakada
2025-11-30Remove stale checkNobuyoshi Nakada
Any objects with `call` method can be accepted as trap handlers, and the check for `Proc` type is useless since ruby/ruby@29f5911cf545.
2025-11-30Fix switch fall-through in copy_ext_file_errorDaisuke Fujimura (fd0)
2025-11-30Set DESTDIR if relative loadingNobuyoshi Nakada
When relative loading, `prefix` makes no sense actually. Use the given (or default) path as `DESTDIR` instead. This change affects only when the relative loading is enabled and the destdir is not given, and does not change the final installation path, but makes the configuration options simpler a little.
2025-11-30Compare with the upper bound of the loop variableNobuyoshi Nakada
Fix sign-compare warning
2025-11-30[ruby/prism] Update unicode tables to match that of CRubyKevin Newton
The unicode version has been updated upstream, which means new codepoints mapped to alpha/alnum/isupper flags. We need to update our tables to match. I'm purposefully not adding a version check here, since that is such a large amount of code. It's possible that we could include different tables depending on a macro (like UNICODE_VERSION) or something to that effect, but it's such a minimal impact on the running of the actual parser that I don't think it's necessary. https://github.com/ruby/prism/commit/78925fe5b6
2025-11-30[ruby/prism] Ensure implicit parameter nodes are destroyed.Kevin Newton
When we are about to destroy a node because of a syntax error, we need to check if it is potentially containing an implicit parameter in its subtree. https://github.com/ruby/prism/commit/1531433e02
2025-11-30[ruby/prism] Fully destroy call operator write argumentsKevin Newton
If we are about to delete a call operator write argument, it needs to be removed from the list of block exits as well. https://github.com/ruby/prism/commit/ebc91c2e39
2025-11-29[ruby/prism] Revert "Fix invalid Ruby code example in ClassNode comment"Kevin Newton
https://github.com/ruby/prism/commit/b960079559
2025-11-29[ruby/prism] Fix out-of-bounds read in parser_lex_magic_commentKevin Newton
https://github.com/ruby/prism/commit/e24e701f3a Co-authored-by: Steven Johnstone <steven.james.johnstone@gmail.com>
2025-11-29[ruby/prism] Fix label interpolated stringKevin Newton
https://github.com/ruby/prism/commit/e3e2b1ed04
2025-11-29[ruby/prism] Fix out-of-bounds read after utf-8 BOMKevin Newton
https://github.com/ruby/prism/commit/198080c106 Co-authored-by: Steven Johnstone <steven.james.johnstone@gmail.com>
2025-11-29[ruby/prism] Handle invalid string pattern keyKevin Newton
When a pattern match is using a string as a hash pattern key and is using it incorrectly, we were previously assuming it was a symbol. In the case of an error, that's not the case. So we need to add a missing node in this case. https://github.com/ruby/prism/commit/f0b06d6269
2025-11-29[ruby/prism] Optimize `Prism::Source#find_line`Earlopain
This is more concise and ruby does a better job performance-wise. This used to be `bsearch_index` already but https://github.com/ruby/prism/commit/6d8358c08395438d5924777c1fc3001a5ebf0aa3 changed it. https://github.com/ruby/prism/pull/1733#discussion_r1373702087 said: > Yeah the edge case was that the value matched an element exactly But surely there would be a test to show this behaviour? Gets called as part of pretty-printing nodes. Further reduces the time for `SnapshotsTest` by ~16% for me. https://github.com/ruby/prism/commit/f448e2b995
2025-11-29[ruby/tempfile] [DOC] Monofont some text in Tempfile.createPeter Zhu
https://github.com/ruby/tempfile/commit/7fa7436baa