 USING: accessors assocs sequences kernel combinators
 classes.algebra byte-arrays make math math.order math.ranges
 system namespaces locals layouts words alien alien.accessors
-alien.c-types alien.complex alien.data literals cpu.architecture
-cpu.ppc.assembler cpu.ppc.assembler.backend
+alien.c-types alien.complex alien.data alien.libraries
+literals cpu.architecture cpu.ppc.assembler cpu.ppc.assembler.backend
 compiler.cfg.registers compiler.cfg.instructions
 compiler.cfg.comparisons compiler.codegen.fixup
 compiler.cfg.intrinsics compiler.cfg.stack-frame

        3 1 n local@ LWZ
        4 1 n cell + local@ LWZ
    ] when
    func f %alien-invoke
    3 dst store-param ;



M: integer load-param int-rep %copy ;

M: spill-slot load-param [ 1 ] dip n>> spill@ LWZ ;

GENERIC: store-param ( reg dst -- )

M: integer store-param swap int-rep %copy ;

M: spill-slot store-param [ 1 ] dip n>> spill@ STW ;

:: call-unbox-func ( src func -- )
    3 src load-param
