     dst dst [] MOV
     temp "datastack" context-field-offset [+] bootstrap-cell SUB ;
 
-: call-unbox-func ( src func -- )
+:: call-unbox-func ( src func -- )
     EAX src tagged-rep %copy
     4 save-vm-ptr
     0 stack@ EAX MOV
-    f %alien-invoke ;
+    func f %alien-invoke ;
 
 M:: x86.32 %unbox ( src n rep func -- )
     ! If n is f, we're unboxing a return value about to be


: (%box-long-long) ( n -- )
    [
        EDX over next-stack@ MOV
        EAX swap cell - next-stack@ MOV 
    ] when* ;

M:: x86.32 %box-long-long ( dst n func -- )

    n [ n local@ rep store-return-reg ] when ;

M:: x86.32 %unbox-long-long ( src n func -- )
    src func call-unbox-func
    ! Store the return value on the C stack
    n [
        [ local@ EAX MOV ]
        [ 4 + local@ EDX MOV ] bi
    ] when* ;
