Commit d365733
committed
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 handle these correctly.
The attached test passes if we just avoid direct sends, but also
avoid compiling ISEQs with a `...` 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.1 parent 7b5cd5c commit d365733
2 files changed
Lines changed: 22 additions & 17 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
70 | 70 | | |
71 | 71 | | |
72 | 72 | | |
| 73 | + | |
| 74 | + | |
| 75 | + | |
| 76 | + | |
| 77 | + | |
| 78 | + | |
| 79 | + | |
| 80 | + | |
| 81 | + | |
73 | 82 | | |
74 | 83 | | |
75 | 84 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
953 | 953 | | |
954 | 954 | | |
955 | 955 | | |
| 956 | + | |
956 | 957 | | |
957 | 958 | | |
958 | 959 | | |
| |||
2480 | 2481 | | |
2481 | 2482 | | |
2482 | 2483 | | |
| 2484 | + | |
| 2485 | + | |
| 2486 | + | |
2483 | 2487 | | |
2484 | 2488 | | |
2485 | 2489 | | |
| |||
2549 | 2553 | | |
2550 | 2554 | | |
2551 | 2555 | | |
| 2556 | + | |
2552 | 2557 | | |
2553 | 2558 | | |
2554 | 2559 | | |
| |||
4482 | 4487 | | |
4483 | 4488 | | |
4484 | 4489 | | |
4485 | | - | |
4486 | | - | |
4487 | | - | |
4488 | | - | |
4489 | | - | |
| 4490 | + | |
| 4491 | + | |
| 4492 | + | |
| 4493 | + | |
| 4494 | + | |
| 4495 | + | |
| 4496 | + | |
4490 | 4497 | | |
4491 | 4498 | | |
4492 | 4499 | | |
| |||
4530 | 4537 | | |
4531 | 4538 | | |
4532 | 4539 | | |
4533 | | - | |
4534 | | - | |
4535 | | - | |
4536 | | - | |
4537 | | - | |
| 4540 | + | |
4538 | 4541 | | |
4539 | 4542 | | |
4540 | 4543 | | |
| |||
5515 | 5518 | | |
5516 | 5519 | | |
5517 | 5520 | | |
5518 | | - | |
5519 | 5521 | | |
5520 | 5522 | | |
5521 | 5523 | | |
| |||
5545 | 5547 | | |
5546 | 5548 | | |
5547 | 5549 | | |
5548 | | - | |
5549 | | - | |
5550 | | - | |
5551 | | - | |
5552 | | - | |
5553 | | - | |
5554 | 5550 | | |
5555 | 5551 | | |
5556 | 5552 | | |
| |||
0 commit comments