diff options
| author | Alan Wu <XrXr@users.noreply.github.com> | 2025-12-12 13:42:00 -0500 |
|---|---|---|
| committer | Takashi Kokubun <takashikkbn@gmail.com> | 2025-12-12 15:43:41 -0800 |
| commit | 628a94104768b294ae8068c7bb39ab9e495fdd94 (patch) | |
| tree | 6aee8f7f95f3b57871313a587e7c3fd46c8273b0 /include/ruby | |
| parent | 88f1d98676d435a79e2086ed8054b459f1b4bd2a (diff) | |
YJIT: Add missing local variable type update for fallback setlocal blocks
Previously, the chain_depth>0 version of setlocal blocks did not
update the type of the local variable in the context. This can leave
the context with stale type information and trigger or lead to miscompilation.
To trigger the issue, YJIT needs to see the same ISEQ before and after
environment escape and have tracked type info before the escape. To
trigger in ISEQs that do not send with a block, it probably requires
Kernel#binding or the use of include/ruby/debug.h APIs.
[Backport #21772]
Diffstat (limited to 'include/ruby')
0 files changed, 0 insertions, 0 deletions
