jump, branchif, etc don't invalidate locals in the JIT; they might in the interpreter because they can execute arbitrary code, but the JIT side exits before that happens.tekknolagi (Maxwell Bernstein)
Run like so: $ ../tool/zjit_iongraph.rb ../build-dev/miniruby --zjit-call-threshold=2 tmp/ghbug.rb false false tmp/ghbug.rb:3:in 'Object#doit': this shouldnt ever be nil (RuntimeError) from tmp/ghbug.rb:10:in...tekknolagi (Maxwell Bernstein)
It's just a nicety (they fit fine as CUInt32) but this makes printing look nicer in real execution and also in tests (helps with #15489). Co-authored-by: Randy Stauner <randy@r4s6.net>tekknolagi (Maxwell Bernstein)
This fixes a crash when the new shape after a transition is too complex; we need to check that it's not complex before trying to read by index.tekknolagi (Maxwell Bernstein)
Since we do a decent job of pre-sizing objects, don't handle the case where we would need to re-size an object. Also don't handle too-complex shapes. lobsters stats before: ``` Top-20 calls to C functions from JIT code (79.4% of total ...tekknolagi (Maxwell Bernstein)