My graphs,, they are not flowing

https://bernsteinbear.com/blog/multiple-entry/

A multi-entry CFG design conundrum

Background and bytecode design

Max Bernstein
@tekknolagi one random thought: an arguments trampoline. Break argument computation out of your graph entirely; do argument computation as a separate compilation that jumps into the (now always the same) entry point with nice graph.
@mgaudet I edited the article to make it more clear that it is possible to have code execution in argument setup, including raising exceptions, modifying locals, etc
@tekknolagi I forgot how horrifying function dispatch is in ruby... in particular the idea of modifying locals.... -shudders-
@mgaudet :') I'm working on a JIT patch that will be interesting fodder for a blog post detailing the heroics we go to to keep Ruby locals in SSA values / registers