diff options
author | Jimmy Miller <jimmy.miller@shopify.com> | 2023-01-19 13:42:49 -0500 |
---|---|---|
committer | GitHub <noreply@github.com> | 2023-01-19 13:42:49 -0500 |
commit | 762a3d80f77db0f96d3e01ccd1cc7b3891f0cfcf (patch) | |
tree | a1437a0b91802041580bbc006909c4b8da364a96 /lib/observer | |
parent | 8872ebec6a3edc8327b5f348656c73a52bceda4a (diff) | |
download | ruby-762a3d80f77db0f96d3e01ccd1cc7b3891f0cfcf.tar.gz |
Implement splat for cfuncs. Split exit exit cases to better capture where we are exiting (#6929)
YJIT: Implement splat for cfuncs. Split exit cases
This also implements a new check for ruby2keywords as the last
argument of a splat. This does mean that we generate more code, but in
actual benchmarks where we gained speed from this (binarytrees) I
don't see any significant slow down. I did have to struggle here with
the register allocator to find code that didn't allocate too many
registers. It's a bit hard when everything is implicit. But I think I
got to the minimal amount of copying and stuff given our current
allocation strategy.
Diffstat (limited to 'lib/observer')
0 files changed, 0 insertions, 0 deletions