ruby/zjit
Alan Wu 0ba488d7f5
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.
2025-08-08 18:54:53 +00:00
..
bindgen ZJIT: Profile type+shape distributions (#13901) 2025-08-05 16:56:04 -04:00
src ZJIT: Avoid compiling and direct sends to forwardable ISEQs 2025-08-08 18:54:53 +00:00
.gitignore
build.rs ZJIT: Add --allow-multiple-definition for make zjit-test 2025-05-21 01:22:55 +09:00
Cargo.lock Use expect-test for HIR tests 2025-04-18 21:53:01 +09:00
Cargo.toml ZJIT: Have make zjit-test use the same Cargo features as miniruby 2025-07-16 14:10:22 -04:00
zjit.mk ZJIT: Start testing againt /test 2025-07-23 19:52:59 -04:00