-
Notifications
You must be signed in to change notification settings - Fork 0
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[pull] master from ruby:master #385
Commits on Feb 28, 2024
-
Configuration menu - View commit details
-
Copy full SHA for 8b556d3 - Browse repository at this point
Copy the full SHA 8b556d3View commit details -
Configuration menu - View commit details
-
Copy full SHA for c990cc7 - Browse repository at this point
Copy the full SHA c990cc7View commit details -
Change T_ZOMBIE flag check from an assertion
Assertions are only enable on debug builds, so it will now check for flags of T_ZOMBIE objects on all builds in GC.verify_internal_consistency.
Configuration menu - View commit details
-
Copy full SHA for 48f433f - Browse repository at this point
Copy the full SHA 48f433fView commit details -
Add check for finalizer in verify_internal_constency
This adds a check in GC.verify_internal_constency that FL_FINALIZE flags is set if, and only if it is in finalizer_table.
Configuration menu - View commit details
-
Copy full SHA for 7b69563 - Browse repository at this point
Copy the full SHA 7b69563View commit details -
Configuration menu - View commit details
-
Copy full SHA for 742abbf - Browse repository at this point
Copy the full SHA 742abbfView commit details -
Configuration menu - View commit details
-
Copy full SHA for 1cef366 - Browse repository at this point
Copy the full SHA 1cef366View commit details -
Configuration menu - View commit details
-
Copy full SHA for 49aa8d6 - Browse repository at this point
Copy the full SHA 49aa8d6View commit details -
Configuration menu - View commit details
-
Copy full SHA for dcc976a - Browse repository at this point
Copy the full SHA dcc976aView commit details -
Configuration menu - View commit details
-
Copy full SHA for f8355e8 - Browse repository at this point
Copy the full SHA f8355e8View commit details -
Configuration menu - View commit details
-
Copy full SHA for 16c7144 - Browse repository at this point
Copy the full SHA 16c7144View commit details -
Configuration menu - View commit details
-
Copy full SHA for a29c0e8 - Browse repository at this point
Copy the full SHA a29c0e8View commit details -
Configuration menu - View commit details
-
Copy full SHA for 567d4ee - Browse repository at this point
Copy the full SHA 567d4eeView commit details -
[ruby/prism] Give a kind to all node[] fields which can have one more…
… specific than "any Node" * Fixes ruby/prism#2058 ruby/prism@f3e3310b5e
Configuration menu - View commit details
-
Copy full SHA for ea2cb00 - Browse repository at this point
Copy the full SHA ea2cb00View commit details -
[ruby/prism] Add a simple way to check field kinds are correct by set…
…ting $CHECK_FIELD_KIND ruby/prism@33e987ba3c
Configuration menu - View commit details
-
Copy full SHA for 1b0a5bc - Browse repository at this point
Copy the full SHA 1b0a5bcView commit details -
[ruby/prism] Make NodeKindField subclass NodeKindField
* To avoid duplication. ruby/prism@12e5aae0b4
Configuration menu - View commit details
-
Copy full SHA for 2143789 - Browse repository at this point
Copy the full SHA 2143789View commit details -
Configuration menu - View commit details
-
Copy full SHA for 7167346 - Browse repository at this point
Copy the full SHA 7167346View commit details -
Configuration menu - View commit details
-
Copy full SHA for a5bfc25 - Browse repository at this point
Copy the full SHA a5bfc25View commit details -
Configuration menu - View commit details
-
Copy full SHA for 5481dbe - Browse repository at this point
Copy the full SHA 5481dbeView commit details -
Configuration menu - View commit details
-
Copy full SHA for c5b568b - Browse repository at this point
Copy the full SHA c5b568bView commit details -
Configuration menu - View commit details
-
Copy full SHA for 4b92b60 - Browse repository at this point
Copy the full SHA 4b92b60View commit details -
YJIT: Reject keywords hash in -1 arity cfunc splat support
`test_keyword.rb` caught this issue. Just need to run with `threshold=1`
Configuration menu - View commit details
-
Copy full SHA for 558b58d - Browse repository at this point
Copy the full SHA 558b58dView commit details -
YJIT: Squash canary before falling back
Recent flaky canary-related CI failures have all happened while trying to fall back. It's unclear what is leaving the canary on the stack and causing gen_send_dynamic() to falsely assume that it should be leaf, and this patch isn't going to help us find the source. One source I found is Array#<< with a frozen array, but it's unclear if that's what's causing the CI failures. I'm somewhat afraid to add a canary check to rb_longjmp() since that might introduce more flaky failures, and maybe ones unrelated to YJIT. See: https://github.com/ruby/ruby/actions/runs/8083502532/job/22086714152 See: https://github.com/ruby/ruby/actions/runs/8066858522/job/22035963315
Configuration menu - View commit details
-
Copy full SHA for f05ad37 - Browse repository at this point
Copy the full SHA f05ad37View commit details
Commits on Feb 29, 2024
-
Configuration menu - View commit details
-
Copy full SHA for 51e3252 - Browse repository at this point
Copy the full SHA 51e3252View commit details -
Inform failures in parallel tests before retrying
Displays for each failure which test it actually occurred in. The output destination follows the --{stdout,stderr}-on-failure option.
Configuration menu - View commit details
-
Copy full SHA for 114c0b7 - Browse repository at this point
Copy the full SHA 114c0b7View commit details -
[wasm-pic] Remove --pass-arg=asyncify-ignore-imports from POSTLINK
Before PIC era, we could assume that the stack is not unwound by imported functions since all imported functions are WASI syscalls and they don't use Asyncify at all. However, PIC binary can import functions from other modules and we cannot guarantee that they won't unwind the stack.
Configuration menu - View commit details
-
Copy full SHA for 3f633e5 - Browse repository at this point
Copy the full SHA 3f633e5View commit details -
Use an unreleased version of RBS to see if the new commit fixes the `EBADF` error.
Configuration menu - View commit details
-
Copy full SHA for 1a6a7c6 - Browse repository at this point
Copy the full SHA 1a6a7c6View commit details -
Unset FL_FINALIZE before running the finalizer
The finalizer could trigger a GC, so FL_FINALIZE could get out of sync with the finalizer table.
Configuration menu - View commit details
-
Copy full SHA for d5bca06 - Browse repository at this point
Copy the full SHA d5bca06View commit details -
Delete from finalizer_table before running finalizer
The finalizer could trigger a GC, which would cause FL_FINALIZE to be out of sync with the finalizer table.
Configuration menu - View commit details
-
Copy full SHA for 950c606 - Browse repository at this point
Copy the full SHA 950c606View commit details -
Configuration menu - View commit details
-
Copy full SHA for cb78408 - Browse repository at this point
Copy the full SHA cb78408View commit details -
Configuration menu - View commit details
-
Copy full SHA for 8a918b4 - Browse repository at this point
Copy the full SHA 8a918b4View commit details -
[ruby/prism] Fix an incorrect parsing for
Prism::Translation::Parser
This PR fixes an incorrect parsing for `Prism::Translation::Parser` when one-line pattern mathing with Ruby 2.7 runtime. ## Expected Parsing should be done based on the specified Ruby parsing version, independent of the Ruby runtime version. When parsing for Ruby 3.3, it should return `:match_pattern_p` node: ```console $ ruby -rprism -rprism/translation/parser33 -ve 'p Prism::Translation::Parser33.parse("foo in bar")' ruby 3.0.6p216 (2023-03-30 revision ruby/prism@23a532679b) [x86_64-darwin19] s(:match_pattern_p, s(:send, nil, :foo), s(:match_var, :bar)) ``` ## Actual When parsing with Ruby 2.7 runtime, `match_pattern` node is returned, even though it is expected to parse for Ruby 3.3: ```console $ ruby -rprism -rprism/translation/parser33 -ve 'p Prism::Translation::Parser33.parse("foo in bar")' ruby 2.7.8p225 (2023-03-30 revision ruby/prism@1f4d455848) [x86_64-darwin19] s(:match_pattern, s(:send, nil, :foo), s(:match_var, :bar)) ``` The cause was the use of `RUBY_VERSION` for condition logic, which made it dependent on runtime Ruby version. `Prism::Translation::Parser` supports parsing for Ruby 3.3+. Therefore, the condition for parsing Ruby 2.7, which is not supported, is being removed. ## Background Found due to incompatibility with RuboCop's `Layout/SpaceAroundKeyword` and `Style/TernaryParentheses` cops. ruby/prism@e752e251d2
Configuration menu - View commit details
-
Copy full SHA for f8dd234 - Browse repository at this point
Copy the full SHA f8dd234View commit details -
Assume that FL_FINALIZE is in finalizer_table
If FL_FINALIZE is set but not in finalizer_table, then rb_bug.
Configuration menu - View commit details
-
Copy full SHA for 4c0f0b9 - Browse repository at this point
Copy the full SHA 4c0f0b9View commit details -
Configuration menu - View commit details
-
Copy full SHA for 5891c70 - Browse repository at this point
Copy the full SHA 5891c70View commit details -
Configuration menu - View commit details
-
Copy full SHA for cd8d101 - Browse repository at this point
Copy the full SHA cd8d101View commit details -
Configuration menu - View commit details
-
Copy full SHA for 50e999c - Browse repository at this point
Copy the full SHA 50e999cView commit details -
Configuration menu - View commit details
-
Copy full SHA for f9d5c60 - Browse repository at this point
Copy the full SHA f9d5c60View commit details -
Configuration menu - View commit details
-
Copy full SHA for 1c0c490 - Browse repository at this point
Copy the full SHA 1c0c490View commit details -
Use configured
LD
for linking enc and ext libraries"AR" was well propagated to the enc.mk and mkmf, but "LD" was not. This caused the dynamic libraries to be linked with a linker found in the PATH, which could be different from the one used in the Ruby build process. This is especially important for cross-compilation, where the host linker may not be compatible with the target system. (e.g. WebAssembly)
Configuration menu - View commit details
-
Copy full SHA for 57f014b - Browse repository at this point
Copy the full SHA 57f014bView commit details -
[wasm-pic] Add
LDSHARED
definition for WASI platformWe are going to add dynamic linking support for WASI platform. The `LDSHARED` definition is used to link shared libraries for building ruby binaries and extensions.
Configuration menu - View commit details
-
Copy full SHA for 6e2880b - Browse repository at this point
Copy the full SHA 6e2880bView commit details -
Remove check for is_markable_object in gc_mark_stack_values
gc_mark_and_pin already checks for is_markable_object.
Configuration menu - View commit details
-
Copy full SHA for 6665ec2 - Browse repository at this point
Copy the full SHA 6665ec2View commit details -
Configuration menu - View commit details
-
Copy full SHA for 3d61477 - Browse repository at this point
Copy the full SHA 3d61477View commit details -
Load iseq name later than other ISEQ references
previous_insn_index() is crashing: https://github.com/ruby/ruby/actions/runs/8100712618/job/22139323673 https://github.com/ruby/ruby/actions/runs/8099334388/job/22134848249 but it's probably not the fault of previous_insn_index() itself. I'm guessing the top-most frame is a C frame, and so iseq is just 0. To confirm that, I'd like to try calling other functions on an ISEQ first.
Configuration menu - View commit details
-
Copy full SHA for 1a58892 - Browse repository at this point
Copy the full SHA 1a58892View commit details -
[ruby/prism] Tweak wording for Prism::BACKEND
* TruffleRuby does support C extensions but FFI is faster there. ruby/prism@d211a87691
Configuration menu - View commit details
-
Copy full SHA for 6075f67 - Browse repository at this point
Copy the full SHA 6075f67View commit details -
[ruby/prism] Lazily create Location objects in Prism::Serialize::Load…
…er#load_location * Following the changes in #2428. * PRISM_FFI_BACKEND=true ruby -v -Ilib -rprism -rbenchmark -e '10.times { p Benchmark.realtime { Dir.glob("lib/**/*.rb") { |f| Prism.parse_file(f) } } }' ruby 3.3.0: 0.255 => 0.210 ruby 3.3.0 YJIT: 0.150 => 0.120 ruby/prism@fabf809bbf
Configuration menu - View commit details
-
Copy full SHA for d5ae796 - Browse repository at this point
Copy the full SHA d5ae796View commit details -
Remove each_machine_stack_value
The function is only used by rb_gc_mark_machine_stack.
Configuration menu - View commit details
-
Copy full SHA for d3ae580 - Browse repository at this point
Copy the full SHA d3ae580View commit details -
[ruby/resolv] Implement CAA resource record
This patch implements handling of CAA resource records defined by [RFC8659]. - There are no known deployment of CAA records outside of IN (Internet), but the RFC does not state that CAA records are class-specific. Thus `CAA` class is defined as a class-independent RRType. - `CAA` class stores `flags` field (a 1-octet bitset) as an Integer. In this way it's easier to ensure the encoded RR is in the valid wire format. [RFC8659]: https://datatracker.ietf.org/doc/html/rfc8659 ruby/resolv@cfc4de75e3 Co-authored-by: aeris <aeris@imirhil.fr>
Configuration menu - View commit details
-
Copy full SHA for 2508a79 - Browse repository at this point
Copy the full SHA 2508a79View commit details
Commits on Mar 1, 2024
-
Bump actions/cache in /.github/actions/setup/directories
Bumps [actions/cache](https://github.com/actions/cache) from 4.0.0 to 4.0.1. - [Release notes](https://github.com/actions/cache/releases) - [Changelog](https://github.com/actions/cache/blob/main/RELEASES.md) - [Commits](actions/cache@13aacd8...ab5e6d0) --- updated-dependencies: - dependency-name: actions/cache dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] <support@github.com>
Configuration menu - View commit details
-
Copy full SHA for 8ec9c2d - Browse repository at this point
Copy the full SHA 8ec9c2dView commit details -
Bump github/codeql-action from 3.24.5 to 3.24.6
Bumps [github/codeql-action](https://github.com/github/codeql-action) from 3.24.5 to 3.24.6. - [Release notes](https://github.com/github/codeql-action/releases) - [Changelog](https://github.com/github/codeql-action/blob/main/CHANGELOG.md) - [Commits](github/codeql-action@47b3d88...8a470fd) --- updated-dependencies: - dependency-name: github/codeql-action dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] <support@github.com>
Configuration menu - View commit details
-
Copy full SHA for b26602f - Browse repository at this point
Copy the full SHA b26602fView commit details -
Configuration menu - View commit details
-
Copy full SHA for 1952c79 - Browse repository at this point
Copy the full SHA 1952c79View commit details -
Configuration menu - View commit details
-
Copy full SHA for 874e9fc - Browse repository at this point
Copy the full SHA 874e9fcView commit details -
Bump actions/cache from 4.0.0 to 4.0.1
Bumps [actions/cache](https://github.com/actions/cache) from 4.0.0 to 4.0.1. - [Release notes](https://github.com/actions/cache/releases) - [Changelog](https://github.com/actions/cache/blob/main/RELEASES.md) - [Commits](actions/cache@13aacd8...ab5e6d0) --- updated-dependencies: - dependency-name: actions/cache dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] <support@github.com>
Configuration menu - View commit details
-
Copy full SHA for 04a1b87 - Browse repository at this point
Copy the full SHA 04a1b87View commit details -
Configuration menu - View commit details
-
Copy full SHA for a465393 - Browse repository at this point
Copy the full SHA a465393View commit details -
Configuration menu - View commit details
-
Copy full SHA for 452d51f - Browse repository at this point
Copy the full SHA 452d51fView commit details -
Configuration menu - View commit details
-
Copy full SHA for 1a9a20c - Browse repository at this point
Copy the full SHA 1a9a20cView commit details -
Configuration menu - View commit details
-
Copy full SHA for 5baee82 - Browse repository at this point
Copy the full SHA 5baee82View commit details -
Configuration menu - View commit details
-
Copy full SHA for 9b75e5f - Browse repository at this point
Copy the full SHA 9b75e5fView commit details -
Configuration menu - View commit details
-
Copy full SHA for 5d76fe6 - Browse repository at this point
Copy the full SHA 5d76fe6View commit details -
Don't pin named structs defined in Ruby
[Bug #20311] `rb_define_class_under` assumes it's called from C and that the reference might be held in a C global variable, so it adds the class to the VM root. In the case of `Struct.new('Name')` it's wasteful and make the struct immortal.
Configuration menu - View commit details
-
Copy full SHA for e626da8 - Browse repository at this point
Copy the full SHA e626da8View commit details -
Clarify C API documentation about pinned classes
They are not only pinned, but also immortal. Even if the constant referencing them is removed, they will remain alive. It's a precision worth noting.
Configuration menu - View commit details
-
Copy full SHA for c09e5ad - Browse repository at this point
Copy the full SHA c09e5adView commit details -
.travis.yml: Allow failures for ppc64le and s390x.
Because Travis ppc64le/s390x are unstable. ppc64le: * https://app.travis-ci.com/github/ruby/ruby/builds/269211469 * https://app.travis-ci.com/github/ruby/ruby/builds/269204073 s390x: * https://app.travis-ci.com/github/ruby/ruby/builds/269201221
Configuration menu - View commit details
-
Copy full SHA for 54d2622 - Browse repository at this point
Copy the full SHA 54d2622View commit details -
Perform splatarray false peephole optimization for invokesuper in add…
…ition to send This optimizes cases such as: super(arg, *ary) super(arg, *ary, &block) super(*ary, **kw) super(*ary, kw: 1) super(*ary, kw: 1, &block) The super(*ary, **kw, &block) case does not use the splatarray false optimization. This is also true of the send case, since the introduction of the splatkw VM instruction. That will be fixed in a later commit.
Configuration menu - View commit details
-
Copy full SHA for e484ffa - Browse repository at this point
Copy the full SHA e484ffaView commit details -
Fix splatarray false peephole optimization for f(*ary, **kw, &block)
This optimization stopped being using when the splatkw VM instruction was added. This change allows the optimization to apply again. This also optimizes the following cases: super(*ary, **kw, &block) f(...) super(...)
Configuration menu - View commit details
-
Copy full SHA for 32c5875 - Browse repository at this point
Copy the full SHA 32c5875View commit details -
Avoid 1-2 array allocations for zsuper calls with post arguments
These previously resulted in 2 array allocations, one for newarray and one for concatarray. This replaces newarray and concatarray with pushtoarray, and changes splatarray false to splatarray true, which reduces it to 1 array allocation, in splatarray true. This also sets VM_CALL_ARGS_SPLAT_MUT, so if the super method accepts a positional splat, this will avoid an additional array allocation on the callee side.
Configuration menu - View commit details
-
Copy full SHA for 7337145 - Browse repository at this point
Copy the full SHA 7337145View commit details -
Add benchmarks for super and zsuper calls of different types
These show gains from the recent optimization commits: ``` arg_splat miniruby: 7346039.9 i/s miniruby-before: 4692240.8 i/s - 1.57x slower arg_splat_block miniruby: 6539749.6 i/s miniruby-before: 4358063.6 i/s - 1.50x slower splat_kw_splat miniruby: 5433641.5 i/s miniruby-before: 3851048.6 i/s - 1.41x slower splat_kw_splat_block miniruby: 4916137.1 i/s miniruby-before: 3477090.1 i/s - 1.41x slower splat_kw_block miniruby: 2912829.5 i/s miniruby-before: 2465611.7 i/s - 1.18x slower arg_splat_post miniruby: 2195208.2 i/s miniruby-before: 1860204.3 i/s - 1.18x slower ``` zsuper only speeds up in the post argument case, because it was already set to use splatarray false in cases where there were no post arguments.
Configuration menu - View commit details
-
Copy full SHA for f446d68 - Browse repository at this point
Copy the full SHA f446d68View commit details -
Fix a couple issues noticed by nobu
Co-authored-by: Nobuyoshi Nakada <nobu@ruby-lang.org>
Configuration menu - View commit details
-
Copy full SHA for 334e4c6 - Browse repository at this point
Copy the full SHA 334e4c6View commit details -
Make Struct memory leak test faster
[Bug #20311] It times out on some platform, so we can reduce iterations. On my machine it completes in 250ms and RSS grows 8X.
Configuration menu - View commit details
-
Copy full SHA for f3af5ae - Browse repository at this point
Copy the full SHA f3af5aeView commit details -
Remove pointer check in vm_ccs_free
We don't need to check that the object is pointer to the GC heap in vm_ccs_free because it is called during sweeping, which does not free pages so it can never point to an object that is not on the GC heap.
Configuration menu - View commit details
-
Copy full SHA for 162e13c - Browse repository at this point
Copy the full SHA 162e13cView commit details -
[ruby/irb] Restructure workspace management
(ruby/irb#888) * Remove dead irb_level method * Restructure workspace management Currently, workspace is an attribute of IRB::Context in most use cases. But when some workspace commands are used, like `pushws` or `popws`, a workspace will be created and used along side with the original workspace attribute. This complexity is not necessary and will prevent us from expanding multi-workspace support in the future. So this commit introduces a @workspace_stack ivar to IRB::Context so IRB can have a more natural way to manage workspaces. * Fix pushws without args * Always display workspace stack after related commands are used ruby/irb@61560b99b3
Configuration menu - View commit details
-
Copy full SHA for 57ca596 - Browse repository at this point
Copy the full SHA 57ca596View commit details -
YJIT: No need to set cfp->sp when setting escaped locals
While writing to the env object can add it to the remember set, it shouldn't trigger a GC run.
Configuration menu - View commit details
-
Copy full SHA for 88050ec - Browse repository at this point
Copy the full SHA 88050ecView commit details -
Configuration menu - View commit details
-
Copy full SHA for 661f9e6 - Browse repository at this point
Copy the full SHA 661f9e6View commit details -
Don't check_rvalue_consistency in is_markable_object
is_markable_object is called by rb_objspace_markable_object_p, which may pass a T_NONE object. check_rvalue_consistency will fail if a T_NONE object is passed in.
Configuration menu - View commit details
-
Copy full SHA for 6f31dd4 - Browse repository at this point
Copy the full SHA 6f31dd4View commit details -
Configuration menu - View commit details
-
Copy full SHA for 70de3b1 - Browse repository at this point
Copy the full SHA 70de3b1View commit details -
[ruby/irb] Escape closing square brackets in regexp
Fixes the following warning: test/irb/test_command.rb:546: warning: regular expression has ']' without escape ruby/irb@7efadc243b
Configuration menu - View commit details
-
Copy full SHA for 6da8f04 - Browse repository at this point
Copy the full SHA 6da8f04View commit details -
Correctly set anon_kwrest flag for def f(b: 1, **)
In cases where a method accepts both keywords and an anonymous keyword splat, the method was not marked as taking an anonymous keyword splat. Fix that in the compiler. Doing that broke handling of nil keyword splats in yjit, so update yjit to handle that. Add a test to check that calling a method that accepts both a keyword argument and an anonymous keyword splat does not modify a passed keyword splat hash. Move the anon_kwrest check from setup_parameters_complex to ignore_keyword_hash_p, and only use it if the keyword hash is already a hash. This should speed things up slightly as it avoids a check previously used for all callers of setup_parameters_complex. Co-authored-by: Nobuyoshi Nakada <nobu@ruby-lang.org>
Configuration menu - View commit details
-
Copy full SHA for 99384ba - Browse repository at this point
Copy the full SHA 99384baView commit details -
Configuration menu - View commit details
-
Copy full SHA for 5a3ae06 - Browse repository at this point
Copy the full SHA 5a3ae06View commit details -
Skip a redundant check for the rb_obj_hash case
Also, refactor the cfunc struct to use a new rb_cfunc_t.
Configuration menu - View commit details
-
Copy full SHA for 61fbd29 - Browse repository at this point
Copy the full SHA 61fbd29View commit details -
Configuration menu - View commit details
-
Copy full SHA for 317163c - Browse repository at this point
Copy the full SHA 317163cView commit details -
Configuration menu - View commit details
-
Copy full SHA for 607b86e - Browse repository at this point
Copy the full SHA 607b86eView commit details
Commits on Mar 2, 2024
-
Configuration menu - View commit details
-
Copy full SHA for 061c684 - Browse repository at this point
Copy the full SHA 061c684View commit details -
Configuration menu - View commit details
-
Copy full SHA for 5a4cd73 - Browse repository at this point
Copy the full SHA 5a4cd73View commit details -
configure.ac: Append
POSTLINK
toLINK_SO
for all platformsThe `POSTLINK` variable had been used only for darwin platforms, but it's now used for WebAssembly/WASI as well. To make shared extension libraries properly post-processed, we need to append `POSTLINK` to `LINK_SO` but it was done only for darwin platforms. This commit generalizes the appending to all platforms.
Configuration menu - View commit details
-
Copy full SHA for b000e7b - Browse repository at this point
Copy the full SHA b000e7bView commit details -
mkmf.rb: Define missing
POSTLINK
variable in generated MakefileThe `POSTLINK` variable had been used in the `LINK_SO` variable, which is used to link shared extension libraries. However, the `POSTLINK` variable had not been defined in the generated Makefile, so extension libraries were not properly post-processed. It was not a critical issue for the existing `POSTLINK` usage for darwin platforms, but it would be a problem for Wasm/WASI platform, which requires *mandatory* post-processing for shared extension libraries.
Configuration menu - View commit details
-
Copy full SHA for 71d5116 - Browse repository at this point
Copy the full SHA 71d5116View commit details -
Configuration menu - View commit details
-
Copy full SHA for e9a7801 - Browse repository at this point
Copy the full SHA e9a7801View commit details -
Configuration menu - View commit details
-
Copy full SHA for 93556d4 - Browse repository at this point
Copy the full SHA 93556d4View commit details
Commits on Mar 3, 2024
-
[Bug #20322] Fix rb_enc_interned_str_cstr null encoding
The documentation for `rb_enc_interned_str_cstr` notes that `enc` can be a null pointer, but this currently causes a segmentation fault when trying to autoload the encoding. This commit fixes the issue by checking for NULL before calling `rb_enc_autoload`.
Configuration menu - View commit details
-
Copy full SHA for 7e4b1f8 - Browse repository at this point
Copy the full SHA 7e4b1f8View commit details -
enc: Define missing
POSTLINK
variable in enc.mkThis is a follow up change to 71d5116
Configuration menu - View commit details
-
Copy full SHA for 072761b - Browse repository at this point
Copy the full SHA 072761bView commit details -
enc: Expand substitution variables in Makefile.in by default
This change makes `make_encmake.rb` expand all substitution variables when replacing them in `enc/Makefile.in` to avoid propagating all possibly referenced variables to the generated Makefile. The old behavior, which don't expand make variables when generating Makefile, was useful to temporarily override inherited variables like `cflags` in `CFLAGS` at make-time. However, it's not a common use case and it requires to propagate all possibly referenced variables properly considering key name duplication between `enc/Makefile.in` and `RbConfig::CONFIG`.
Configuration menu - View commit details
-
Copy full SHA for 0d9a681 - Browse repository at this point
Copy the full SHA 0d9a681View commit details
Commits on Mar 4, 2024
-
Disable callcc when ASAN is enabled
callcc's implementation is fundamentally incompatible with ASAN. Since callcc is deprecated and almost never used, it's probably OK to disable callcc when ruby is compiled with ASAN. [Bug #20273]
Configuration menu - View commit details
-
Copy full SHA for 5621d79 - Browse repository at this point
Copy the full SHA 5621d79View commit details -
Configuration menu - View commit details
-
Copy full SHA for 2d8788e - Browse repository at this point
Copy the full SHA 2d8788eView commit details -
[rubygems/rubygems] Clear
RUBY_CODESIGN
env var while running testsThe `RUBY_CODESIGN` environment variable is used by mkmf-generated Makefile to sign extension bundles on macOS. The variable specifies a key identifier to use for signing given by the user. However, the key is usually stored in `$HOME/Library/Keychains` directory, and the test suite creates a fake `$HOME` directory. This causes the test suite to try to find the specified key from the fake home directory, which results in a failure. rubygems/rubygems@ddcfc65bf7
Configuration menu - View commit details
-
Copy full SHA for ef5af32 - Browse repository at this point
Copy the full SHA ef5af32View commit details -
Configuration menu - View commit details
-
Copy full SHA for b176315 - Browse repository at this point
Copy the full SHA b176315View commit details -
Configuration menu - View commit details
-
Copy full SHA for 2c787bf - Browse repository at this point
Copy the full SHA 2c787bfView commit details -
Configuration menu - View commit details
-
Copy full SHA for 5856ea3 - Browse repository at this point
Copy the full SHA 5856ea3View commit details -
Configuration menu - View commit details
-
Copy full SHA for 26507b9 - Browse repository at this point
Copy the full SHA 26507b9View commit details -
[ruby/prism] Fix incompatibility AST for regexp match in `Prism::Tran…
…slation::Parser` This PR fixes the following incompatibility AST for regexp match between Parser gem and Prism: ## Parser gem Returns an `match_with_lvasgn` node: ```console $ bundle exec ruby -rparser/ruby33 -ve 'p Parser::Ruby33.parse("/foo/ =~ bar")' ruby 3.3.0 (2023-12-25 revision ruby/prism@5124f9ac75) [x86_64-darwin22] s(:match_with_lvasgn, s(:regexp, s(:str, "foo"), s(:regopt)), s(:send, nil, :bar)) ``` ## Prism (`Prism::Translation::Parser`) ### Before Returns an `send` node: ```console $ bundle exec ruby -rprism -rprism/translation/parser33 -ve 'p Prism::Translation::Parser33.parse("/foo/ =~ bar")' ruby 3.3.0 (2023-12-25 revision ruby/prism@5124f9ac75) [x86_64-darwin22] s(:send, s(:regexp, s(:str, "foo"), s(:regopt)), :=~, s(:send, nil, :bar)) ``` ### After Returns an `match_with_lvasgn` node: ```console $ bundle exec ruby -rprism -rprism/translation/parser33 -ve 'p Prism::Translation::Parser33.parse("/foo/ =~ bar")' ruby 3.3.0 (2023-12-25 revision ruby/prism@5124f9ac75) [x86_64-darwin22] s(:match_with_lvasgn, s(:regexp, s(:str, "foo"), s(:regopt)), s(:send, nil, :bar)) ``` ## Background Found due to incompatibility with RuboCop's `Performance/EndWith`, `Performance/StringInclude, and `Performance/StartWith` cops. ## Note This is the incompatibility when the receiver is a regular expression literal and `=~` is used. Based on the node name `:match_with_lvasgn`, it appears that Prism's AST becomes more accurate in cases like `visit_match_write_node` only. However, as shown in the background, the current behavior of Parser gem is not like this. Considering compatibility with the published AST of Parser gem, the AST incompatibility will be addressed. This lvar-injecting feature appears to have not been supported by Parser gem for a long time: whitequark/parser#69 (comment) There seems to be no indication that it will be supported. This PR prioritizes AST compatibility between the Parser gem and Prism. However, it is unclear whether this is the best approach. ruby/prism@dff4abb170
Configuration menu - View commit details
-
Copy full SHA for a03f929 - Browse repository at this point
Copy the full SHA a03f929View commit details -
Configuration menu - View commit details
-
Copy full SHA for 85fe8b6 - Browse repository at this point
Copy the full SHA 85fe8b6View commit details -
[DOC] Fix invalid documentation for
reachable_objects_from
(#10172)Previous documentation is stating the opposite (that the method won't work for CRuby).
Configuration menu - View commit details
-
Copy full SHA for 61ea202 - Browse repository at this point
Copy the full SHA 61ea202View commit details -
[ruby/prism] Make alloc interface replaceable
- Add `x` prefix to malloc, calloc, realloc, and free (eg: malloc -> xmalloc) - By default, they are replaced with stdlib's functions at build - You can use custom functions by defining `PRISM_CUSTOM_ALLOCATOR` macro ruby/prism@7a878af619
Configuration menu - View commit details
-
Copy full SHA for c4bd6da - Browse repository at this point
Copy the full SHA c4bd6daView commit details -
- PRISM_CUSTOM_ALLOCATOR -> PRISM_XALLOCATOR - prism_custom_allocator.h -> prism_xallocator.h ruby/prism@83b4071e5b
Configuration menu - View commit details
-
Copy full SHA for 54f2754 - Browse repository at this point
Copy the full SHA 54f2754View commit details -
[ruby/prism] Additional fix of adding
x
prefix after rebase with ma……in branch ruby/prism@08733438bd
Configuration menu - View commit details
-
Copy full SHA for b95e2cd - Browse repository at this point
Copy the full SHA b95e2cdView commit details -
Configuration menu - View commit details
-
Copy full SHA for c0a34a6 - Browse repository at this point
Copy the full SHA c0a34a6View commit details -
Configuration menu - View commit details
-
Copy full SHA for 03a73fd - Browse repository at this point
Copy the full SHA 03a73fdView commit details -
[ruby/prism] Use a more efficient StringIO on TruffleRuby
* The stdlib StringIO is synchronized and this occurs a high overhead. * This is about twice as fast on TruffleRuby but surprisingly it is slower on JRuby. I am not sure why but probably @ivar access and integer arithmetic is much slower than Java field access/arithmetic on JRuby. * On CRuby interpreter it is slower, which is expected as the GVL already protects StringIO. * So we enable this only on TruffleRuby to not slow down other Rubies. * PRISM_FFI_BACKEND=true ruby -v -Ilib -rprism -rbenchmark -e '300.times { p Benchmark.realtime { Dir.glob("lib/**/*.rb") { |f| Prism.parse_file(f) } } }' ruby 3.3.0: 0.215 => 0.251 (cext: 0.062) ruby 3.3.0 YJIT: 0.118 => 0.113 (cext: 0.053) truffleruby JVM: 0.101 => 0.054 jruby 9.4.6.0: 0.162 => 0.219 jruby 9.4.6.0 indy: 0.078 => 0.086 * For the record here are the numbers for using the String directly, without a StringIO-like object: ruby 3.3.0: 0.215 => 0.234 (cext: 0.062) ruby 3.3.0 YJIT: 0.118 => 0.111 (cext: 0.053) truffleruby native: 0.101 => 0.053 jruby 9.4.6.0: 0.162 => 0.195 jruby 9.4.6.0 indy: 0.078 => 0.082 As we can see, that extra object adds a non-trivial overhead on CRuby interpreter and JRuby. But we need to make it possible to use StringIO and SimpleStringIO interchangeably. ruby/prism@938677cbd2
Configuration menu - View commit details
-
Copy full SHA for 6ad0f89 - Browse repository at this point
Copy the full SHA 6ad0f89View commit details -
Configuration menu - View commit details
-
Copy full SHA for f7adee3 - Browse repository at this point
Copy the full SHA f7adee3View commit details -
Keep hidden local variables when dumping and loading iseqs
Fixes [Bug #19975]
Configuration menu - View commit details
-
Copy full SHA for 5899f6a - Browse repository at this point
Copy the full SHA 5899f6aView commit details -
Configuration menu - View commit details
-
Copy full SHA for e78a705 - Browse repository at this point
Copy the full SHA e78a705View commit details -
Configuration menu - View commit details
-
Copy full SHA for 2012300 - Browse repository at this point
Copy the full SHA 2012300View commit details -
Configuration menu - View commit details
-
Copy full SHA for 50e9a6b - Browse repository at this point
Copy the full SHA 50e9a6bView commit details -
[rubygems/rubygems] Bump rb-sys
Bumps [rb-sys](https://github.com/oxidize-rb/rb-sys) from 0.9.89 to 0.9.90. - [Release notes](https://github.com/oxidize-rb/rb-sys/releases) - [Commits](oxidize-rb/rb-sys@v0.9.89...v0.9.90) --- updated-dependencies: - dependency-name: rb-sys dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] <support@github.com> rubygems/rubygems@eb93d8b238
Configuration menu - View commit details
-
Copy full SHA for 5e5bf57 - Browse repository at this point
Copy the full SHA 5e5bf57View commit details
Commits on Mar 5, 2024
-
Configuration menu - View commit details
-
Copy full SHA for 899ce12 - Browse repository at this point
Copy the full SHA 899ce12View commit details -
Revert "mkmf.rb: Define missing
POSTLINK
variable in generated Make……file" This reverts commit 71d5116.
Configuration menu - View commit details
-
Copy full SHA for 0ae0a0c - Browse repository at this point
Copy the full SHA 0ae0a0cView commit details -
[rubygems/rubygems] Use
IO.popen
to list files- Redirect stderr `git ls-files` to null without shelling out. - When building by `gem`, `__FILE__` is the path name given in the command line, or the gemspec file name in the current directory. In that case, comparison it and expanded path never equal. Compare listed file names with the base name of `__FILE__` instead. rubygems/rubygems@5583433dbb
Configuration menu - View commit details
-
Copy full SHA for e102600 - Browse repository at this point
Copy the full SHA e102600View commit details -
[rubygems/rubygems] Clear generated files recursively
On macOS, `dsymutil` utility splits debug info into .dSYM directory. Glob list of `.bundle/cache/extensions/**/*binary_c*` includes that directory but `FileUtils.rm` fails to unlink a directory. https://github.com/ruby/ruby/actions/runs/8149918901/job/22275331688#step:11:3000 ``` Operation not permitted @ apply2files - /Users/runner/work/ruby/ruby/src/tmp/2/home/.bundle/cache/extensions/arm64-darwin-22/ruby/3.4.0+0/3b02a1011c53518f911ab3a9e8c6c608/very_simple_binary-1.0/very_simple_binary_c.bundle.dSYM # ./lib/fileutils.rb:2332:in 'File.unlink' # ./lib/fileutils.rb:2332:in 'block in FileUtils::Entry_#remove_file' # ./lib/fileutils.rb:2337:in 'FileUtils::Entry_#platform_support' # ./lib/fileutils.rb:2331:in 'FileUtils::Entry_#remove_file' # ./lib/fileutils.rb:1475:in 'FileUtils.remove_file' # ./lib/fileutils.rb:1223:in 'block in FileUtils.rm' # ./lib/fileutils.rb:1222:in 'FileUtils.rm' # ./spec/bundler/install/global_cache_spec.rb:235:in 'block (3 levels) in <top (required)>' ``` rubygems/rubygems@375c127684
Configuration menu - View commit details
-
Copy full SHA for b582e5a - Browse repository at this point
Copy the full SHA b582e5aView commit details -
Reapply "mkmf.rb: Define missing
POSTLINK
variable in generated Mak……efile" This reverts commit 0ae0a0c.
Configuration menu - View commit details
-
Copy full SHA for 8e27c01 - Browse repository at this point
Copy the full SHA 8e27c01View commit details -
Signed-off-by: cui fliter <imcusg@gmail.com>
Configuration menu - View commit details
-
Copy full SHA for 226a889 - Browse repository at this point
Copy the full SHA 226a889View commit details -
[ruby/irb] Add the ability to fetch and load multiple irb files.
(ruby/irb#859) This allows hierarchy when loading rc files for example both files below are loaded; project/.irbrc ~/.irbrc ruby/irb@b53ebc6655 Co-authored-by: Stan Lo <stan001212@gmail.com>
Configuration menu - View commit details
-
Copy full SHA for 8f6113a - Browse repository at this point
Copy the full SHA 8f6113aView commit details -
.travis.yml: Allow failures for arm64 and arm32 cases temporarily.
It's to avoid the failures by the infra issues in the term of the following maintenance. There is a planned maintenance on March 6th 2024 between 8:00 and 12:00 UTC+0. The Travis service may be temporarily unavailable. https://bugs.ruby-lang.org/issues/20013#note-28
Configuration menu - View commit details
-
Copy full SHA for 23dc7aa - Browse repository at this point
Copy the full SHA 23dc7aaView commit details
Commits on Mar 6, 2024
-
Use include instead of equal assertion.
irb will load multiple rc files now. If developer have their rcfile on home directory or etc, equal assertion will fail with custom prompt.
Configuration menu - View commit details
-
Copy full SHA for 5196539 - Browse repository at this point
Copy the full SHA 5196539View commit details -
[ruby/irb] Prevent
irb_history
's creation during HistoryTest(ruby/irb#893) Some cases of it currently create `~/.irb_history` files unintentionally while others don't. This is caused by the varying levels of setup/cleanup between them. This commit fixes the issue by wrapping every single test inside a consistent test setup and teardown callbacks. ruby/irb@a2a3cbb0ef
Configuration menu - View commit details
-
Copy full SHA for 97d32bb - Browse repository at this point
Copy the full SHA 97d32bbView commit details -
Hide public implementation of
rb_io
. (#9568)Remove `struct rb_io {...}`.
Configuration menu - View commit details
-
Copy full SHA for 9ab1fa3 - Browse repository at this point
Copy the full SHA 9ab1fa3View commit details -
Configuration menu - View commit details
-
Copy full SHA for 0c2e976 - Browse repository at this point
Copy the full SHA 0c2e976View commit details -
Recent `codesign` seems to emit a "replacing existing signature" warning even if it was an adhoc signature added by the linker. Since "adhoc" signatures do not cause a failure when replaced, it is just unnecessary and noisy.
Configuration menu - View commit details
-
Copy full SHA for b543a4e - Browse repository at this point
Copy the full SHA b543a4eView commit details -
Configuration menu - View commit details
-
Copy full SHA for 29d3d13 - Browse repository at this point
Copy the full SHA 29d3d13View commit details -
Revert ".travis.yml: Allow failures for arm64 and arm32 cases tempora…
…rily." This reverts commit 23dc7aa. It seems that the planned maintenance was finished. https://bugs.ruby-lang.org/issues/20013#note-28
Configuration menu - View commit details
-
Copy full SHA for 2932350 - Browse repository at this point
Copy the full SHA 2932350View commit details -
Configuration menu - View commit details
-
Copy full SHA for 7e44440 - Browse repository at this point
Copy the full SHA 7e44440View commit details -
Configuration menu - View commit details
-
Copy full SHA for 476cd2b - Browse repository at this point
Copy the full SHA 476cd2bView commit details -
Configuration menu - View commit details
-
Copy full SHA for 7d3304e - Browse repository at this point
Copy the full SHA 7d3304eView commit details -
[ruby/prism] Deprecate
TargetRubyVersion: 80_82_73_83_77.xx
Prism has been directly supported as a parser engine since RuboCop 1.62: https://github.com/rubocop/rubocop/releases/tag/v1.62.0 This makes specifying `TargetRubyVersion` with special values like `80_82_73_83_77.33` using the `prism/translation/parser/rubocop` file unnecessary. As a result, it would be possible to deprecate this approach. OTOH, early users might be surprised if `prism/translation/parser/rubocop` were to be suddenly removed. Therefore, this PR deprecates the parameters related to `prism/translation/parser/rubocop`. ```console $ bundle exec ruby -rrubocop -rprism/translation/parser/rubocop -e "RuboCop::AST::ProcessedSource.new('42', 80_82_73_83_77.33).ast" WARN: Prism is directly supported since RuboCop 1.62. The `prism/translation/parser/rubocop` file is deprecated. WARN: Setting `TargetRubyVersion: 80_82_73_83_77.33` is deprecated. Set to `ParserEngine: parser_prism` and `TargetRubyVersion: 3.3` instead. $ bundle exec ruby -rrubocop -rprism/translation/parser/rubocop -e "RuboCop::AST::ProcessedSource.new('42', 80_82_73_83_77.34).ast" WARN: Prism is directly supported since RuboCop 1.62. The `prism/translation/parser/rubocop` file is deprecated. WARN: Setting `TargetRubyVersion: 80_82_73_83_77.34` is deprecated. Set to `ParserEngine: parser_prism` and `TargetRubyVersion: 3.4` instead. ``` Eventually, it will be possible to remove it at some point. Regarding documentation, it has been updated to not show the old, discouraged usage but rather the new way of specifying it in RuboCop. ruby/prism@0e4bc31463
Configuration menu - View commit details
-
Copy full SHA for 4d04e1b - Browse repository at this point
Copy the full SHA 4d04e1bView commit details -
Configuration menu - View commit details
-
Copy full SHA for d56e80f - Browse repository at this point
Copy the full SHA d56e80fView commit details -
Configuration menu - View commit details
-
Copy full SHA for bbaee0b - Browse repository at this point
Copy the full SHA bbaee0bView commit details -
Configuration menu - View commit details
-
Copy full SHA for 3b7d5ef - Browse repository at this point
Copy the full SHA 3b7d5efView commit details -
Configuration menu - View commit details
-
Copy full SHA for be5376e - Browse repository at this point
Copy the full SHA be5376eView commit details -
Configuration menu - View commit details
-
Copy full SHA for b797085 - Browse repository at this point
Copy the full SHA b797085View commit details -
Configuration menu - View commit details
-
Copy full SHA for 069568d - Browse repository at this point
Copy the full SHA 069568dView commit details -
Configuration menu - View commit details
-
Copy full SHA for a035f63 - Browse repository at this point
Copy the full SHA a035f63View commit details -
Configuration menu - View commit details
-
Copy full SHA for 862a188 - Browse repository at this point
Copy the full SHA 862a188View commit details -
Configuration menu - View commit details
-
Copy full SHA for f44671b - Browse repository at this point
Copy the full SHA f44671bView commit details -
Configuration menu - View commit details
-
Copy full SHA for 32c22a7 - Browse repository at this point
Copy the full SHA 32c22a7View commit details -
Configuration menu - View commit details
-
Copy full SHA for 751b4d3 - Browse repository at this point
Copy the full SHA 751b4d3View commit details -
Configuration menu - View commit details
-
Copy full SHA for a47d0f0 - Browse repository at this point
Copy the full SHA a47d0f0View commit details -
Configuration menu - View commit details
-
Copy full SHA for c947852 - Browse repository at this point
Copy the full SHA c947852View commit details -
Configuration menu - View commit details
-
Copy full SHA for 70764bd - Browse repository at this point
Copy the full SHA 70764bdView commit details -
Configuration menu - View commit details
-
Copy full SHA for 139fe4f - Browse repository at this point
Copy the full SHA 139fe4fView commit details -
Configuration menu - View commit details
-
Copy full SHA for bfa2a08 - Browse repository at this point
Copy the full SHA bfa2a08View commit details -
Configuration menu - View commit details
-
Copy full SHA for d815d68 - Browse repository at this point
Copy the full SHA d815d68View commit details -
Configuration menu - View commit details
-
Copy full SHA for 5422b58 - Browse repository at this point
Copy the full SHA 5422b58View commit details -
Configuration menu - View commit details
-
Copy full SHA for c21a50e - Browse repository at this point
Copy the full SHA c21a50eView commit details -
Configuration menu - View commit details
-
Copy full SHA for c4388e8 - Browse repository at this point
Copy the full SHA c4388e8View commit details -
Configuration menu - View commit details
-
Copy full SHA for 3bdb0fe - Browse repository at this point
Copy the full SHA 3bdb0feView commit details -
Configuration menu - View commit details
-
Copy full SHA for 524e93b - Browse repository at this point
Copy the full SHA 524e93bView commit details -
Configuration menu - View commit details
-
Copy full SHA for 1711108 - Browse repository at this point
Copy the full SHA 1711108View commit details -
Configuration menu - View commit details
-
Copy full SHA for 1d5f05b - Browse repository at this point
Copy the full SHA 1d5f05bView commit details -
Configuration menu - View commit details
-
Copy full SHA for d719814 - Browse repository at this point
Copy the full SHA d719814View commit details -
Configuration menu - View commit details
-
Copy full SHA for fabece2 - Browse repository at this point
Copy the full SHA fabece2View commit details -
Configuration menu - View commit details
-
Copy full SHA for 2cb75b8 - Browse repository at this point
Copy the full SHA 2cb75b8View commit details -
Configuration menu - View commit details
-
Copy full SHA for 7bcca71 - Browse repository at this point
Copy the full SHA 7bcca71View commit details -
Configuration menu - View commit details
-
Copy full SHA for b0ee9c8 - Browse repository at this point
Copy the full SHA b0ee9c8View commit details -
Configuration menu - View commit details
-
Copy full SHA for 53efae0 - Browse repository at this point
Copy the full SHA 53efae0View commit details -
Configuration menu - View commit details
-
Copy full SHA for 47daf71 - Browse repository at this point
Copy the full SHA 47daf71View commit details -
Configuration menu - View commit details
-
Copy full SHA for cb11642 - Browse repository at this point
Copy the full SHA cb11642View commit details -
Configuration menu - View commit details
-
Copy full SHA for a0674a5 - Browse repository at this point
Copy the full SHA a0674a5View commit details -
Configuration menu - View commit details
-
Copy full SHA for c2d6bcc - Browse repository at this point
Copy the full SHA c2d6bccView commit details -
Configuration menu - View commit details
-
Copy full SHA for 78fe61c - Browse repository at this point
Copy the full SHA 78fe61cView commit details -
Configuration menu - View commit details
-
Copy full SHA for e97b364 - Browse repository at this point
Copy the full SHA e97b364View commit details -
Configuration menu - View commit details
-
Copy full SHA for 8f7db7e - Browse repository at this point
Copy the full SHA 8f7db7eView commit details -
Configuration menu - View commit details
-
Copy full SHA for 3a7beff - Browse repository at this point
Copy the full SHA 3a7beffView commit details -
Configuration menu - View commit details
-
Copy full SHA for db53705 - Browse repository at this point
Copy the full SHA db53705View commit details -
Configuration menu - View commit details
-
Copy full SHA for 7273c4d - Browse repository at this point
Copy the full SHA 7273c4dView commit details -
Configuration menu - View commit details
-
Copy full SHA for 7ee404a - Browse repository at this point
Copy the full SHA 7ee404aView commit details -
Configuration menu - View commit details
-
Copy full SHA for 4ce0395 - Browse repository at this point
Copy the full SHA 4ce0395View commit details -
Configuration menu - View commit details
-
Copy full SHA for de61074 - Browse repository at this point
Copy the full SHA de61074View commit details -
Configuration menu - View commit details
-
Copy full SHA for 31ef2f4 - Browse repository at this point
Copy the full SHA 31ef2f4View commit details -
Configuration menu - View commit details
-
Copy full SHA for 6b76a76 - Browse repository at this point
Copy the full SHA 6b76a76View commit details -
Configuration menu - View commit details
-
Copy full SHA for 782f49d - Browse repository at this point
Copy the full SHA 782f49dView commit details -
Configuration menu - View commit details
-
Copy full SHA for debb5e0 - Browse repository at this point
Copy the full SHA debb5e0View commit details -
Configuration menu - View commit details
-
Copy full SHA for 6539258 - Browse repository at this point
Copy the full SHA 6539258View commit details -
Configuration menu - View commit details
-
Copy full SHA for 434e7bc - Browse repository at this point
Copy the full SHA 434e7bcView commit details -
Configuration menu - View commit details
-
Copy full SHA for d8cce33 - Browse repository at this point
Copy the full SHA d8cce33View commit details -
Configuration menu - View commit details
-
Copy full SHA for 8b721fc - Browse repository at this point
Copy the full SHA 8b721fcView commit details -
Configuration menu - View commit details
-
Copy full SHA for 75e24a7 - Browse repository at this point
Copy the full SHA 75e24a7View commit details -
Configuration menu - View commit details
-
Copy full SHA for 6361e37 - Browse repository at this point
Copy the full SHA 6361e37View commit details -
Configuration menu - View commit details
-
Copy full SHA for 6635657 - Browse repository at this point
Copy the full SHA 6635657View commit details -
Configuration menu - View commit details
-
Copy full SHA for f4d1a36 - Browse repository at this point
Copy the full SHA f4d1a36View commit details -
Configuration menu - View commit details
-
Copy full SHA for ff9df28 - Browse repository at this point
Copy the full SHA ff9df28View commit details -
[ruby/prism] Fix up begin node clause semicolon detection in ripper t…
…ranslation ruby/prism@117c7418af
Configuration menu - View commit details
-
Copy full SHA for c6299dd - Browse repository at this point
Copy the full SHA c6299ddView commit details -
Configuration menu - View commit details
-
Copy full SHA for 712e841 - Browse repository at this point
Copy the full SHA 712e841View commit details -
Configuration menu - View commit details
-
Copy full SHA for be5d99f - Browse repository at this point
Copy the full SHA be5d99fView commit details -
Configuration menu - View commit details
-
Copy full SHA for ae3f385 - Browse repository at this point
Copy the full SHA ae3f385View commit details -
Configuration menu - View commit details
-
Copy full SHA for 7d3f3ac - Browse repository at this point
Copy the full SHA 7d3f3acView commit details -
[ruby/prism] Fix up symbols that look like cvar/ivar/gvar in ripper t…
…ranslation ruby/prism@64e8190da0
Configuration menu - View commit details
-
Copy full SHA for d38894c - Browse repository at this point
Copy the full SHA d38894cView commit details -
Configuration menu - View commit details
-
Copy full SHA for 4304f5b - Browse repository at this point
Copy the full SHA 4304f5bView commit details -
Configuration menu - View commit details
-
Copy full SHA for 2a051b0 - Browse repository at this point
Copy the full SHA 2a051b0View commit details -
Configuration menu - View commit details
-
Copy full SHA for dad2178 - Browse repository at this point
Copy the full SHA dad2178View commit details -
Configuration menu - View commit details
-
Copy full SHA for 409a49c - Browse repository at this point
Copy the full SHA 409a49cView commit details -
Configuration menu - View commit details
-
Copy full SHA for 9018e46 - Browse repository at this point
Copy the full SHA 9018e46View commit details -
[ruby/prism] Split up multi target visits for methods in ripper trans…
…lation ruby/prism@4e7733491f
Configuration menu - View commit details
-
Copy full SHA for 14877e7 - Browse repository at this point
Copy the full SHA 14877e7View commit details -
Configuration menu - View commit details
-
Copy full SHA for f96ce41 - Browse repository at this point
Copy the full SHA f96ce41View commit details -
Configuration menu - View commit details
-
Copy full SHA for cdb47b1 - Browse repository at this point
Copy the full SHA cdb47b1View commit details -
Configuration menu - View commit details
-
Copy full SHA for f75aa76 - Browse repository at this point
Copy the full SHA f75aa76View commit details -
[ruby/prism] Share argument logic with calls and keywords in ripper t…
…ranslation ruby/prism@240bb08c2c
Configuration menu - View commit details
-
Copy full SHA for 3c95848 - Browse repository at this point
Copy the full SHA 3c95848View commit details -
Configuration menu - View commit details
-
Copy full SHA for 1dae34f - Browse repository at this point
Copy the full SHA 1dae34fView commit details -
Configuration menu - View commit details
-
Copy full SHA for 059f28e - Browse repository at this point
Copy the full SHA 059f28eView commit details -
Configuration menu - View commit details
-
Copy full SHA for 46e9f71 - Browse repository at this point
Copy the full SHA 46e9f71View commit details -
Configuration menu - View commit details
-
Copy full SHA for 554ad9d - Browse repository at this point
Copy the full SHA 554ad9dView commit details -
Configuration menu - View commit details
-
Copy full SHA for fa1db73 - Browse repository at this point
Copy the full SHA fa1db73View commit details -
Configuration menu - View commit details
-
Copy full SHA for 8c04d7e - Browse repository at this point
Copy the full SHA 8c04d7eView commit details -
[ruby/prism] Correctly detect void stmts in classes and modules in ri…
…pper translation ruby/prism@1729e8aec0
Configuration menu - View commit details
-
Copy full SHA for 06d36f7 - Browse repository at this point
Copy the full SHA 06d36f7View commit details -
Configuration menu - View commit details
-
Copy full SHA for d23ebdf - Browse repository at this point
Copy the full SHA d23ebdfView commit details -
Configuration menu - View commit details
-
Copy full SHA for 8528e76 - Browse repository at this point
Copy the full SHA 8528e76View commit details -
Configuration menu - View commit details
-
Copy full SHA for 507ffc9 - Browse repository at this point
Copy the full SHA 507ffc9View commit details -
Configuration menu - View commit details
-
Copy full SHA for 2574e78 - Browse repository at this point
Copy the full SHA 2574e78View commit details -
Configuration menu - View commit details
-
Copy full SHA for 294fe84 - Browse repository at this point
Copy the full SHA 294fe84View commit details -
Configuration menu - View commit details
-
Copy full SHA for f6d9057 - Browse repository at this point
Copy the full SHA f6d9057View commit details -
Configuration menu - View commit details
-
Copy full SHA for ab31cfa - Browse repository at this point
Copy the full SHA ab31cfaView commit details -
[ruby/prism] More closely mirror on_heredoc_dedent API for ripper tra…
…nslation ruby/prism@97a031e1d3
Configuration menu - View commit details
-
Copy full SHA for 630ee38 - Browse repository at this point
Copy the full SHA 630ee38View commit details -
Configuration menu - View commit details
-
Copy full SHA for 72f01bd - Browse repository at this point
Copy the full SHA 72f01bdView commit details -
Configuration menu - View commit details
-
Copy full SHA for bafe897 - Browse repository at this point
Copy the full SHA bafe897View commit details -
Configuration menu - View commit details
-
Copy full SHA for 1966b5c - Browse repository at this point
Copy the full SHA 1966b5cView commit details -
Configuration menu - View commit details
-
Copy full SHA for 532ddc1 - Browse repository at this point
Copy the full SHA 532ddc1View commit details -
Fix dump of hidden local variable indexes
This fixes test failures when running tests with RUBY_ISEQ_DUMP_DEBUG=to_binary, which started after 5899f6a was committed. Co-authored-by: Nobuyoshi Nakada <nobu@ruby-lang.org>
Configuration menu - View commit details
-
Copy full SHA for 6ea01d2 - Browse repository at this point
Copy the full SHA 6ea01d2View commit details -
Configuration menu - View commit details
-
Copy full SHA for b889731 - Browse repository at this point
Copy the full SHA b889731View commit details -
This frees FL_USER0 on both T_MODULE and T_CLASS. Note: prior to this, FL_SINGLETON was never set on T_MODULE, so checking for `FL_SINGLETON` without first checking that `FL_TYPE` was `T_CLASS` was valid. That's no longer the case.
Configuration menu - View commit details
-
Copy full SHA for b4a6935 - Browse repository at this point
Copy the full SHA b4a6935View commit details -
Configuration menu - View commit details
-
Copy full SHA for 16ec54e - Browse repository at this point
Copy the full SHA 16ec54eView commit details -
This `st_table` is used to both mark and pin classes defined from the C API. But `vm->mark_object_ary` already does both much more efficiently. Currently a Ruby process starts with 252 rooted classes, which uses `7224B` in an `st_table` or `2016B` in an `RArray`. So a baseline of 5kB saved, but since `mark_object_ary` is preallocated with `1024` slots but only use `405` of them, it's a net `7kB` save. `vm->mark_object_ary` is also being refactored. Prior to this changes, `mark_object_ary` was a regular `RArray`, but since this allows for references to be moved, it was marked a second time from `rb_vm_mark()` to pin these objects. This has the detrimental effect of marking these references on every minors even though it's a mostly append only list. But using a custom TypedData we can save from having to mark all the references on minor GC runs. Addtionally, immediate values are now ignored and not appended to `vm->mark_object_ary` as it's just wasted space.
Configuration menu - View commit details
-
Copy full SHA for d4f3dcf - Browse repository at this point
Copy the full SHA d4f3dcfView commit details -
YJIT: String#getbyte codegen (#10188)
* WIP getbyte implementation * WIP String#getbyte implementation * Fix whitespace in stats.rs * fix? * Fix whitespace, add comment --------- Co-authored-by: Aaron Patterson <aaron.patterson@shopify.com>
Configuration menu - View commit details
-
Copy full SHA for 38a4b5c - Browse repository at this point
Copy the full SHA 38a4b5cView commit details -
Configuration menu - View commit details
-
Copy full SHA for 4b5fc91 - Browse repository at this point
Copy the full SHA 4b5fc91View commit details -
Configuration menu - View commit details
-
Copy full SHA for 4c64d2a - Browse repository at this point
Copy the full SHA 4c64d2aView commit details -
[ruby/prism] Move template related methods/classes under `Prism::Temp…
…late` namespace ruby/prism@0e4dbcd3e4
Configuration menu - View commit details
-
Copy full SHA for 2e1d735 - Browse repository at this point
Copy the full SHA 2e1d735View commit details -
Configuration menu - View commit details
-
Copy full SHA for ddc81ee - Browse repository at this point
Copy the full SHA ddc81eeView commit details -
[ruby/prism] Fix some type-checking errors by using different method …
…calls For example, use `.fetch` or `.dig` instead of `[]`, and use `===` instead of `is_a?` for checking types of objects. ruby/prism@548b54915f
Configuration menu - View commit details
-
Copy full SHA for 8dfe0c7 - Browse repository at this point
Copy the full SHA 8dfe0c7View commit details -
Configuration menu - View commit details
-
Copy full SHA for 3ad17b3 - Browse repository at this point
Copy the full SHA 3ad17b3View commit details -
[ruby/prism] Move polyfill to separate file to type-check it independ…
…ently. ruby/prism@2a583b041b
Configuration menu - View commit details
-
Copy full SHA for 8d191a9 - Browse repository at this point
Copy the full SHA 8d191a9View commit details -
Configuration menu - View commit details
-
Copy full SHA for de411ef - Browse repository at this point
Copy the full SHA de411efView commit details -
Configuration menu - View commit details
-
Copy full SHA for 06fca8d - Browse repository at this point
Copy the full SHA 06fca8dView commit details -
Configuration menu - View commit details
-
Copy full SHA for cc757f4 - Browse repository at this point
Copy the full SHA cc757f4View commit details
Commits on Mar 7, 2024
-
Configuration menu - View commit details
-
Copy full SHA for 2bc4575 - Browse repository at this point
Copy the full SHA 2bc4575View commit details -
Configuration menu - View commit details
-
Copy full SHA for 9fcb2bd - Browse repository at this point
Copy the full SHA 9fcb2bdView commit details -
Configuration menu - View commit details
-
Copy full SHA for c0cb3f6 - Browse repository at this point
Copy the full SHA c0cb3f6View commit details -
Configuration menu - View commit details
-
Copy full SHA for 38c2774 - Browse repository at this point
Copy the full SHA 38c2774View commit details -
Configuration menu - View commit details
-
Copy full SHA for 56026ed - Browse repository at this point
Copy the full SHA 56026edView commit details -
Configuration menu - View commit details
-
Copy full SHA for 48ca2ce - Browse repository at this point
Copy the full SHA 48ca2ceView commit details -
Configuration menu - View commit details
-
Copy full SHA for d266b71 - Browse repository at this point
Copy the full SHA d266b71View commit details -
Configuration menu - View commit details
-
Copy full SHA for 5141643 - Browse repository at this point
Copy the full SHA 5141643View commit details -
Configuration menu - View commit details
-
Copy full SHA for e13fd48 - Browse repository at this point
Copy the full SHA e13fd48View commit details -
[Bug #20327] Do not count subsecond to calculate UTC offset
Assume that there will never be any time zones with UTC offsets that are subseconds. Historically, UTC offset has only been used down to the second.
Configuration menu - View commit details
-
Copy full SHA for d3279a0 - Browse repository at this point
Copy the full SHA d3279a0View commit details -
Configuration menu - View commit details
-
Copy full SHA for fbec42f - Browse repository at this point
Copy the full SHA fbec42fView commit details -
Configuration menu - View commit details
-
Copy full SHA for 810779f - Browse repository at this point
Copy the full SHA 810779fView commit details -
Configuration menu - View commit details
-
Copy full SHA for d1c6645 - Browse repository at this point
Copy the full SHA d1c6645View commit details -
Configuration menu - View commit details
-
Copy full SHA for 1c083c4 - Browse repository at this point
Copy the full SHA 1c083c4View commit details -
Configuration menu - View commit details
-
Copy full SHA for 78725f1 - Browse repository at this point
Copy the full SHA 78725f1View commit details