factor/library/compiler/ppc/alien.factor

34 lines
817 B
Factor
Raw Normal View History

2005-04-23 19:34:06 -04:00
! Copyright (C) 2005 Slava Pestov.
! See http://factor.sf.net/license.txt for BSD license.
IN: assembler
USING: alien compiler inference kernel kernel-internals lists
2005-04-23 19:34:06 -04:00
math memory namespaces words ;
\ alien-invoke [
uncons load-library 2dup 1 rel-dlsym dlsym compile-call-far
2005-04-23 19:34:06 -04:00
] "generator" set-word-prop
: stack-size 8 + 16 align ;
: stack@ 3 + cell * ;
2005-04-23 19:34:06 -04:00
#parameters [
dup 0 = [ drop ] [ stack-size 1 1 rot SUBI ] ifte
2005-04-23 19:34:06 -04:00
] "generator" set-word-prop
#unbox [
uncons f 2dup 1 rel-dlsym dlsym compile-call-far
3 1 rot stack@ STW
2005-04-23 19:34:06 -04:00
] "generator" set-word-prop
#parameter [
dup 3 + 1 rot stack@ LWZ
2005-04-23 19:34:06 -04:00
] "generator" set-word-prop
#box [
f 2dup 1 rel-dlsym dlsym compile-call-far
2005-04-23 19:34:06 -04:00
] "generator" set-word-prop
#cleanup [
dup 0 = [ drop ] [ stack-size 1 1 rot ADDI ] ifte
2005-04-23 19:34:06 -04:00
] "generator" set-word-prop