Previously, `setlocal level=0` did not set the local in the frame state during HIR build, unlike `setlocal_WC_0`. `getlocal` and `getlocal_WC_0` had the same issue. I don't know if it's possible to trigger an ZJIT issue with default ise...alanwu (Alan Wu)
> Not an area of ruby I'm very familiar with, but I think perhaps we should also be extending sp in vm_callee_setup_arg and vm_call_iseq_setup_kwparm_kwarg? These don't extend SP because they're fast paths that try to do minimal work...alanwu (Alan Wu)
Previously, the loop condition checked the wrong direction so required wrapping around the address space to break out the loop. It takes a few seconds to do a few million mmap calls to loop around and then crash. A way to test this is by...alanwu (Alan Wu)
Still worth fixing, but I think on the ruby side we do `#define memcpy ruby_nonempty_memcpy` exactly to avoid this UB. ``` c /* At least since 2004, glibc's <string.h> annotates memcpy to be * __attribute__((__nonnull__(1, 2))). Howev...alanwu (Alan Wu)
This way it works on MMTk. The voodo tied to default GC details for promotions and write-barriers don't test effectively on any other GC but at least the test completes.alanwu (Alan Wu)