summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2025-12-06Fix strict aliasing warning in ruby_swap128_intPeter Zhu
The following warnings are emitted. We can use type punning to prevent strict aliasing violations. io_buffer.c:1935:23: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing] 1935 | rb_uint128_t u = *(rb_uint128_t*)&x; | ^~~~~~~~~~~~~~~~~ io_buffer.c:1937:13: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing] 1937 | return *(rb_int128_t*)&swapped; |
2025-12-07[ruby/pathname] Freeze and hide internal constantsNobuyoshi Nakada
https://github.com/ruby/pathname/commit/60f5d58d73
2025-12-07[ruby/pathname] Use `File.path` for conversion to path nameNobuyoshi Nakada
This method has been defined since 1.9, as the standard conversion procedure. https://github.com/ruby/pathname/commit/8f582dc65d
2025-12-07[ruby/pathname] Define `to_path` alias directlyNobuyoshi Nakada
The constant `TO_PATH` was defined for 1.9 compatibility but the code for it was dropped 10 years ago. https://github.com/ruby/pathname/commit/95ad4ceb19
2025-12-07Suppress noisy outputsNobuyoshi Nakada
Fix up ruby/ruby#14700.
2025-12-06Sync doc/stringio in sync_default_gems.rbPeter Zhu
2025-12-06[ruby/prism] Avoid out-of-bounds readsSteven Johnstone
Fixes https://github.com/ruby/prism/pull/3790. https://github.com/ruby/prism/commit/173ccb84ad
2025-12-06Add error case tests for `File.path`Nobuyoshi Nakada
- for non-String argument - for NUL-contained argument - for ASCII-incompatible argument
2025-12-06[ruby/timeout] Test that Timeout does not expose extra constantsBenoit Daloze
https://github.com/ruby/timeout/commit/4de4b4759c
2025-12-06Yield to scheduler if interrupts are pending. (#14700)Samuel Williams
2025-12-06Fix `io_pwrite` fiber scheduler hook. (#15428)Samuel Williams
Fix io_pwrite fiber scheduler hook.
2025-12-05[DOC] Update NEWS about ZJIT (#15426)Takashi Kokubun
2025-12-06[DOC] Link global variables to command line optionsNobuyoshi Nakada
2025-12-05[ruby/stringio] [DOC] Class doc for StringIOBurdette Lamar
(https://github.com/ruby/stringio/pull/178) https://github.com/ruby/stringio/commit/6449251678
2025-12-05[DOC] Tweaks for String#capitalizeBurdetteLamar
2025-12-05[DOC] Tweaks for String#downcaseBurdetteLamar
2025-12-05[DOC] Tweaks for String#upcaseBurdetteLamar
2025-12-05[DOC] Tweaks for String#swapcaseBurdetteLamar
2025-12-05[DOC] Better multibyte-character dataBurdetteLamar
2025-12-06[ruby/stringio] [DOC] Link to on-page section, not class File docBurdetteLamar
https://github.com/ruby/stringio/commit/dc93aa51d2
2025-12-06Add support for `u128`, `U128`, `s128` and `S128` integers to `IO::Buffer`. ↵Samuel Williams
(#15399)
2025-12-05Fix fields object in embedded structPeter Zhu
We don't set RSTRUCT_GEN_FIELDS when RCLASS_MAX_IV_COUNT(klass) != 0, so we need to set RSTRUCT_SET_FIELDS_OBJ to 0 otherwise it may have an invalid value and crash.
2025-12-05Revert "gc.c: Pass shape_id to `newobj_init`"Peter Zhu
This reverts commit 228d13f6ed914d1e7f6bd2416e3f5be8283be865. This commit makes default.c and mmtk.c depend on shape.h, which prevents them from building independently.
2025-12-05[ruby/timeout] Exclude constantly-failing test on x86_64-darwinBenoit Daloze
* https://github.com/ruby/ruby-dev-builder/actions/runs/19973218359/job/57293388626 https://github.com/ruby/timeout/commit/45816b1b26
2025-12-05ZJIT: Include local variable names in `Get|SetLocal` insn's print value (#15423)Stan Lo
ZJIT: Print local variable names GetLocal and SetLocal instructions
2025-12-05ZJIT: Build by default when build environment allowsAlan Wu
"Default" means when `--enable-zjit` is absent from `./configure` arguments.
2025-12-05ZJIT: configure.ac: Look for GNU make when detecting build environmentAlan Wu
Building ZJIT requires GNU make at the moment. To get access to `$gnumake`, lift the `make` flavour detection up to the environment section, before the JIT section runs.
2025-12-05ZJIT: configure.ac logic to detect suitable build environmentAlan Wu
This runs the detection, but does nothing with the result. * Fixed version requirement in messages -- ZJIT requires >= 1.85 unlike YJIT. * New: Detect when rust 1.85 is available, and neither --enable-yjit nor --enable-zjit is passed to ./configure, include both YJIT and ZJIT in the build
2025-12-05YJIT: Fix unused_unsafe warning in `StatsAlloc`Alan Wu
2025-12-05ZJIT: Update `depend` for zjit.oAlan Wu
2025-12-05YJIT: Fix duplicate make rule warning in combo buildAlan Wu
2025-12-05ZJIT: Fix duplicate make rule warning in combo buildAlan Wu
~/zjit/zjit.mk:30: warning: overriding commands for target `~/build-default/' ~/yjit/yjit.mk:26: warning: ignoring old commands for target `~/build-default/' ~/zjit/zjit.mk:30: warning: overriding commands for target `~/build-default/' ~/yjit/yjit.mk:26: warning: ignoring old commands for target `~/build-default/'
2025-12-05tool/update-deps: Skip ZJIT and YJIT+ZJIT build objectsAlan Wu
2025-12-05CI: Avoid building ZJIT when LLVM is too oldAlan Wu
2025-12-05ZJIT: Avoid binding to `rb_iseq_constant_body`Alan Wu
Its definition changes depending on e.g. whether there is YJIT in the build.
2025-12-05YJIT: Fix including stats for ZJIT instructions when ZJIT not in buildAlan Wu
2025-12-05JITs: Update bindings to include interpreter zjit_ opcodesAlan Wu
Mostly YJIT. ZJIT already has the right bindings and this just tweaks the CI configuration.
2025-12-05JITs: rb_iseq_opcode_at_pc(): Accommodate switch-case interpreterAlan Wu
2025-12-05ZJIT: Account for when YJIT is on by default in test_zjit_enableAlan Wu
2025-12-05ZJIT: Fix -Wpedantic warning in C99 mode when built with YJITAlan Wu
> insns.def:857:5: error: assigning to 'rb_zjit_func_t' (aka 'unsigned > long (*)(struct rb_execution_context_struct *, struct > rb_control_frame_struct *, unsigned long (*)(struct > rb_execution_context_struct *, struct rb_control_frame_struct *))') from > 'void *' converts between void pointer and function pointer > [-Werror,-Wpedantic]
2025-12-05ZJIT: Skip GC.auto_compact test when unsupportedAlan Wu
2025-12-05[ruby/prism] Correct constant pool bucket type logicKevin Newton
When replacing an owned constant by a different type (constant or shared) replace with the correct type instead of defaulting to shared. https://github.com/ruby/prism/commit/fbe9b131a1
2025-12-05[ruby/prism] Avoid undefined int overflow behaviourSteven Johnstone
Fixes https://github.com/ruby/prism/pull/3786. https://github.com/ruby/prism/commit/b72b664675
2025-12-05[ruby/prism] Avoid out-of-bounds readsSteven Johnstone
Fixes https://github.com/ruby/prism/pull/3784. https://github.com/ruby/prism/commit/3fe862534b
2025-12-05Allow rb_thread_call_with_gvl() to work when thread already has GVLKeenan Brock
[Feature #20750] Co-authored-by: Benoit Daloze <eregontp@gmail.com>
2025-12-05[ruby/openssl] x509cert: handle invalid validity periods in Certificate#inspectKazuki Yamaguchi
In a newly allocated OpenSSL X509 object, the notBefore and notAfter fields contain an ASN1_STRING object with type V_ASN1_UNDEF rather than an ASN1_TIME. Commit https://github.com/ruby/openssl/commit/73484f67949a made asn1time_to_time() stricter and it now raises an exception if the argument is not an ASN1_TIME. Previously, it would print a verbose-mode warning and return nil. OpenSSL::X509::Certificate#inspect should work even when the certificate is invalid. Let's handle this. https://github.com/ruby/openssl/commit/18c283f2b6
2025-12-05[ruby/timeout] Simplify logic to make GET_TIME shareableBenoit Daloze
https://github.com/ruby/timeout/commit/281b2507e7
2025-12-05[ruby/timeout] Fix logic for Ractor supportBenoit Daloze
* Fix indentation to stay a multiple of 2 spaces. https://github.com/ruby/timeout/commit/a1d784cb66
2025-12-05[ruby/timeout] Fix condition and fix test to catch that broken conditionBenoit Daloze
https://github.com/ruby/timeout/commit/82fb6f6925
2025-12-05[ruby/timeout] Minor tweaksBenoit Daloze
https://github.com/ruby/timeout/commit/daab9a2193