diff options
| author | Alan Wu <XrXr@users.noreply.github.com> | 2025-08-08 14:54:53 -0400 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2025-08-08 18:54:53 +0000 |
| commit | 0ba488d7f51c8b52811445245c87cb824e564069 (patch) | |
| tree | 1f933ba08fc81ffa663aeee51c9c1bd8a6a3efc1 /include/ruby | |
| parent | eb931a09c53568abc7773e38bcc9f68f523db193 (diff) | |
ZJIT: Avoid compiling and direct sends to forwardable ISEQs
These `...` ISEQs have a special calling convention in the interpreter
and our stubs and JIT calling convention don't deal well. Reject for now.
Debugged with help from `@tekknolagi` and `tool/zjit_bisect.rb`.
Merely avoiding direct sends is enough to pass the attached test, but also
avoid compiling ISEQs with `...` parameter to limit exposure for now.
`SendWithoutBlock`, which does dynamic dispatch using interpreter code,
seems to handle calling into forwardable ISEQs correctly, so they are
fine -- we can't predict where these dynamic sends land anyways.
Diffstat (limited to 'include/ruby')
0 files changed, 0 insertions, 0 deletions
