ruby/zjit
Alan Wu e77eee96a3 ZJIT: Load return value before frame teardown
Or else the following returns garbage since it loads after
moving SP. Prior bad disassembly:

    def a(n1,n2,n3,n4,n5,n6,n7,n8) = n8
    a(1,1,1,1,1,1,1,0)

    # Block: bb0(v0, v1, v2, v3, v4, v5, v6, v7, v8)
    stp x29, x30, [sp, #-0x10]!
    mov x29, sp
    # bump C stack pointer
    sub sp, sp, #0x10
    # Insn: v10 Return v8
    # pop stack frame
    adds x19, x19, #0x38
    stur x19, [x20, #0x10]
    # restore C stack pointer
    add sp, sp, #0x10
    mov sp, x29
    ldp x29, x30, [sp], #0x10
    ldur x0, [sp]
    ret
2025-07-21 23:09:42 -04:00
..
bindgen ZJIT: Add missing write barrier in profiling (GH-13922) 2025-07-16 23:25:37 +00:00
src ZJIT: Load return value before frame teardown 2025-07-21 23:09:42 -04:00
.gitignore
build.rs ZJIT: Add --allow-multiple-definition for make zjit-test 2025-05-21 01:22:55 +09:00
Cargo.lock Use expect-test for HIR tests 2025-04-18 21:53:01 +09:00
Cargo.toml ZJIT: Have make zjit-test use the same Cargo features as miniruby 2025-07-16 14:10:22 -04:00
zjit.mk DRY up CARGO_VERBOSE for JITs 2025-07-16 19:50:30 -04:00