Previously, when dealing with a `super()` nested in a block that runs as a method (through e.g. `define_method`), YJIT generated a guard that never passes leading to a misidentification of the callsite as megamorphic and an unconditional...alanwu (Alan Wu)
As we found out from YJIT, `super` from within a block needs a loop for the running CME guard, and the current LEP based guard always fails. Don't specialize for now so we use the fallback instead of side-exiting.alanwu (Alan Wu)
Solaris mentioned, so I'm bringing up illumos. Ruby has an [OpenIndiana](https://www.ruby-lang.org/en/documentation/installation/#openindiana) port, so this could be tested there :P https://illumos.org/man/3C/door_create alanwu (Alan Wu)
There is no splitting for these so let's add a assert to try and catch misuse. VRegs are not necessarily registers in the end, so this is best effort. In those situations they'll get a less proximate panic message.alanwu (Alan Wu)
Since we automatically preserve registers across calls, it's never necessary to manually and imprecisely do it with `C{Push,Pop}All`. Delete them to remove the maintenance burden and reduce confusion.alanwu (Alan Wu)
Previously, there were a lot of nops after conditional branches. They come from branch to LIR labels: ./miniruby --zjit-call-threshold=1 --zjit-dump-disasm -e 'Object || String' # Insn: v14 CheckInterrupts # RUBY_VM_CHECK_I...alanwu (Alan Wu)