diff options
| author | Alan Wu <XrXr@users.noreply.github.com> | 2025-11-20 17:25:53 -0500 |
|---|---|---|
| committer | Alan Wu <XrXr@users.noreply.github.com> | 2025-11-24 23:46:06 -0500 |
| commit | f8ee06901cfec2ebb7340087f039b103e8ab51b3 (patch) | |
| tree | 7c9d6e49c8a1edd98aada8c876e8880c3e2ab502 /include/ruby/internal/module.h | |
| parent | 55892f5994f66567aa4c0c56fdb8bf31134c3972 (diff) | |
ZJIT: For JIT-to-JIT send, avoid loading uninitialized local through EP
JIT-to-JIT sends don't blit locals to nil in the callee's
EP memory region because HIR is aware of this initial state and
memory ops are only done when necessary. Previously, we
read from this initialized memory by emitting `GetLocal` in e.g. BBs
that are immediate successor to an entrypoint.
The entry points sets up the frame state properly and we also reload
locals if necessary after an operation that potentially makes the
environment escape. So, listen to the frame state when it's supposed to
be up-to-date (`!local_inval`).
Diffstat (limited to 'include/ruby/internal/module.h')
0 files changed, 0 insertions, 0 deletions
