YJIT: Drop extra arguments passed by yield (#9596)
Support dropping extra arguments passed by yield in blocks. For
example 10.times { work } drops the count argument. This is common
enough that it's about 3% of fallback reasons in lobsters.
Only support simple cases where the surplus arguments are at the top of
the stack, that way they just need to be popped, which takes no work.
YJIT: Drop extra arguments passed by yield (#9596)
Support dropping extra arguments passed by
yield
in blocks. Forexample
10.times { work }
drops the count argument. This is commonenough that it's about 3% of fallback reasons in
lobsters
.Only support simple cases where the surplus arguments are at the top of
the stack, that way they just need to be popped, which takes no work.