 : remember-set-slot ( slot#/f vreg -- )
     over [
         [ record-constant-set-slot ]
-        [ kill-constant-set-slot ] 2bi
+        [ kill-constant-set-slot ]
+        2bi
     ] [ nip kill-computed-set-slot ] if ;
 
 GENERIC: insn-slot# ( insn -- slot#/f )

: each-alias ( vreg quot -- )
    [ aliases ] dip each ; inline

! Map vregs -> slot# -> vreg
SYMBOL: live-slots


    dup
    [ src>> resolve ] [ insn-slot# ] [ insn-object ] tri
    3dup idempotent? [ 3drop ] [
        [ 2drop heap-ac get merge-acs ]
        [ remember-set-slot drop ]
        [ load-slot ]
        3tri
    ] if ;

M: ##copy analyze-aliases*
