This successfully makes all our benchmarks exit way less for optimize send reasons. It makes some benchmarks faster, but not by as much as I'd like. I think this implementation works, but there are definitely more optimial arrangements. For example, what if we compiled send to a jump table? That seems like perhaps the most optimal we could do, but not obvious (to me) how to implement give our current setup.
Implement optimize send in yjit (#6488)
This successfully makes all our benchmarks exit way less for optimize send reasons.
It makes some benchmarks faster, but not by as much as I'd like. I think this implementation
works, but there are definitely more optimial arrangements. For example, what if we compiled
send to a jump table? That seems like perhaps the most optimal we could do, but not obvious (to me)
how to implement give our current setup.
Co-authored-by: Alan Wu XrXr@users.noreply.github.com
Attempt at fixing the issues raised by @XrXr
fix allowlist
returns 0 instead of nil when not found
remove comment about encoding exception
Fix up c changes
Update assert
Co-authored-by: Alan Wu XrXr@users.noreply.github.com
get rid of unneeded code and fix the flags
Apply suggestions from code review
Co-authored-by: Alan Wu XrXr@users.noreply.github.com
Co-authored-by: Alan Wu XrXr@users.noreply.github.com