ZJIT: Read from correct CFP in forward fallback (#17875)
Lightweight frames need C code to use CFP_ISEQ(...).
Lightweight frames need C code to use CFP_ISEQ(...).
The layout is shared by T_DATA objects and overflowed RObjects, so name the Rust variant after SHAPE_ID_LAYOUT_EXTENDED rather than one of i
Directly update existing instance variables in the fields object used by overflowed RObjects. Keep shape-changing writes on the generic path
Now share more code between the various cases: - Whether to copy all fields or just ivars - Whether to add or remove some capacity.
Followup: https://github.com/ruby/ruby/pull/17631 Now that complex `RObject` always have an IMEMO/fields, we no longer need to have an exte
By handling complex shapes in `rb_shape_rebuild` we can merge the two complex cases (when `src` is complex and when `dest` becomes complex).
It used to be that multiple paths would need to clear the generic ivar reference, but it's no longer the case.
The Ruby Programming Language. Contribute to ruby/ruby development by creating an account on GitHub.
Share more code with `rb_copy_generic_ivar`.
Doing it in `rb_gc_obj_changed_slot_size` is wrong as the object could still be moved back because of `invalidate_moved_plane`.
Co-authored-by: Michael Jackson <mjijackson@gmail.com>
pow5mult's b_cache publishes new cache nodes with ATOMIC_PTR_CAS (release), but both readers -- the fast-path check and the recheck befo
rb_vm_opt_getconstant_path() asserts on an inline constant cache hit that the cached value equals a freshly recomputed constant chain:
That attribute is C++23, not C23 https://github.com/ruby/prism/commit/5e4f45712e
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Build Better Websites. Create modern, resilient user experiences with web fundamentals. - Fix Bun regex error assertion (#11600) · remix-run
Build Better Websites. Create modern, resilient user experiences with web fundamentals. - Document the UI render test helper (#11593) · remi
It tells you total size per symbol, average size per instance of symbol, and total count per symbol. Can be used with `--zjit-perf=hir`: `
* ZJIT: Fold defined?(yield) when inlining method with blockiseq We know this statically. * ZJIT: Fold negative case of defined?(yield) to
調査会社のガートナーは、2029年までに60%の組織がより小さなソフトウェアエンジニアリングチームを本格的に展開するだろうとの予測を発表しました。 人間とAIの強みを活かすためのチームの再編成 この背景には、AIの発達によって人間に代わって...
When gc_move relocates an object to a different slot size, rb_gc_obj_changed_slot_size may re-embed it: the fields move from the fields_obj
お疲れ様です! 前回までで「index」「レースコンディション(ユニーク制約)」あたりを扱ってきましたが、今回は 暗号化とハッシュ の話です。 Railsを使っていると当たり前に出てくる master.key・credentials.yml.enc・Deviseのパスワー...
Ruby on Rails. Contribute to rails/rails development by creating an account on GitHub.
…ted_to_all_shards Raise for empty shards on `connected_to_all_shards`
If an app isn't sharded then `connected_to_all_shards` should raise an error because `shard_keys` will be empty. While the issue argued
The first version of the inliner used the "high water mark" of HIR instructions ever allocated. This PR estimates the number of li
こんにちは、ソーイ株式会社の髙﨑です。 最近、業務でIPアドレスによるアクセス制限機能に触れる機会がありました。調査を進める中で、ループバックアドレスやリンクローカルアドレスなど、普段あまり意識することのない特殊なIPアドレスが数多く存在することを知りました。 今回は、調査...
Db2 Genius Hub は、Db2 の監視、パフォーマンス分析、運用管理を AI で支援する管理コンソールです。バージョン 1.1.3 では MCP Server が追加され、外部の AI アシスタントから Db2 Genius Hub の機能を利用できるようになりま...
…on under test Under RGV=system the harness runs on the checked out RubyGems while spec-spawned processes run system RubyGems, so rubygems-
… tsort default gem RubyGems 3.4 and 3.5 ship vendored tsort under its pre-3.6 name rubygems/tsort, so prefer that when rubygems/vendored_t
… older than 4.1 Gem::Installer#remove_stale_plugins only exists since RubyGems 4.1, so installing with no_install_plugin set on an older s
…RGV=system Since RGV started defaulting to ".", the system-rubygems-bundler job has been silently testing the repo's RubyGem
…efines it RubyGems older than 3.6 has no rubygems/vendored_tsort, and its own Gem::TSort is often already loaded through rubygems/request_
React/Vue/Solid/Svelte向けのVirtual Scrollコンポーネントライブラリ。VList/Virtualizer/WindowVirtualizer/experimental_VGridを提供し、可変サイズ、横スクロール、Windowスクロール、グリッド
Instead of spilling into a raw buffer, `RObject` now spills into an `IMEMO/fields` object like other types. From an instance variable layou
ractor_port_receive/send derive a raw 'struct ractor_port *rp' from self's embedded (RUBY_TYPED_EMBEDDABLE) data and keep using
The is_running check added by 3fa1c8708 guarded against a terminating thread joining the barrier after leaving the running set. Since the p
Forking with live Ractors takes a VM barrier in the parent and the child inherits scheduler/barrier state that must be reset. General regres
A fork taken while the parent holds the VM barrier (e.g. rb_gc_before_fork) leaves the child with barrier_waiting set and a barrier owner th
Exercises a short-lived thread terminating while another Ractor drives GC.compact barriers, the scenario fixed by the previous commits. Skip
Encode the safety argument of the epilogue reorder as VM_ASSERTs: a non-last dying thread still owns its scheduler slot when it leaves the l
coroutine_thread_terminated designated the successor first (thread_sched_to_dead_common) and only then removed the dying thread from the liv
! AI 利用の開示:この記事を書くにあたっての調査やブレインストーミング、校正には AI を用いましたが、本文の執筆やコードの実装、および出典の確認はすべて人間が行いました。 AI は好きだが AI 企業は嫌いだ こんにちは。みなさんは AI を使いこなしていますか? 私
The whole command runs as a single cmd.exe line due to the line continuations, so %ERRORLEVEL% and %bug% were expanded at parse time and `ex
Ruby requires GCC 4.9 or later as noted in configure.ac. The x86 jmp hint in vm_exec.h was only enabled on GCC 3, and the warning suppressio
1. はじめに 最近、プロダクト開発の環境って本当にものすごい勢いで変わっていますよね。ClaudeやChatGPTをはじめ、高度なコード生成や自律的にタスクをこなしてくれる「AIエージェント」が次々と登場し、日々の開発に当たり前のように溶け込んできています。ただ人間が指...
… (#17858) Searching for inline candidates will scan every instruction in eligible methods.`Function::find` always clones the resolved inst
画面ごとにバラバラだった staleTime 設定を、データの性質で選ぶ4プリセットに集約した はじめに このブログは Dress Code Advent Calendar 2026/07 の 10本目の記事です。 こんにちは。ぷーじ(@yug1224)です。 約7,500フ
Bumps the github-actions group with 1 update in the / directory: [taiki-e/install-action](https://github.com/taiki-e/install-action). Upda
導入 こんにちは、株式会社ナレッジセンスの須藤英寿です。 今回は、「Claude Code」を用いて、カナダの州政府が運用する大規模なシステムの刷新を進めた手法を紹介します。 https://www.anthropic.com/news/alberta-government-cl
* ZJIT: Add HIR tests for block arg nil and non-nil * ZJIT: Optimize send with a nil block to SendWithoutBlockDirect A call like `foo(&