stack-checker.alien: get a bit more inlining going with callbacks, to expose another bug
parent
ee2169eb6c
commit
3323284db4
|
@ -541,3 +541,8 @@ USING: alien alien.c-types ;
|
||||||
[ char { char char } cdecl [ + ] alien-callback ]
|
[ char { char char } cdecl [ + ] alien-callback ]
|
||||||
\ fixnum+fast inlined?
|
\ fixnum+fast inlined?
|
||||||
] unit-test
|
] unit-test
|
||||||
|
|
||||||
|
[ t ] [
|
||||||
|
[ void { } cdecl [ ] alien-callback void { } cdecl alien-indirect ]
|
||||||
|
\ >c-ptr inlined?
|
||||||
|
] unit-test
|
||||||
|
|
|
@ -109,7 +109,7 @@ TUPLE: alien-callback-params < alien-node-params xt ;
|
||||||
|
|
||||||
: callback-bottom ( params -- )
|
: callback-bottom ( params -- )
|
||||||
"( callback )" <uninterned-word> >>xt
|
"( callback )" <uninterned-word> >>xt
|
||||||
xt>> '[ _ callback-xt ] infer-quot-here ;
|
xt>> '[ _ callback-xt { alien } declare ] infer-quot-here ;
|
||||||
|
|
||||||
: callback-return-quot ( ctype -- quot )
|
: callback-return-quot ( ctype -- quot )
|
||||||
return>> [ [ ] ] [ c-type c-type-unboxer-quot ] if-void ;
|
return>> [ [ ] ] [ c-type c-type-unboxer-quot ] if-void ;
|
||||||
|
|
Loading…
Reference in New Issue