2015-04-29 22:51:58 -04:00
USING: help.markup help.syntax literals make multiline sequences
stack-checker.alien ;
2014-05-11 07:01:13 -04:00
IN: compiler.cfg.builder.alien
2014-07-18 04:47:08 -04:00
<<
STRING: ex-caller-return
USING: compiler.cfg.builder.alien make prettyprint ;
[
T{ ##alien-invoke { reg-outputs { { 1 int-rep RAX } } } } ,
T{ alien-invoke-params { return pointer: void } } caller-return
] { } make .
{
T{ ##alien-invoke { reg-outputs { { 1 int-rep RAX } } } }
T{ ##box-alien { dst 116 } { src 1 } { temp 115 } }
}
;
>>
2014-05-11 07:01:13 -04:00
HELP: caller-return
{ $values { "params" alien-node-params } }
2014-07-18 04:47:08 -04:00
{ $description "If the last alien call returns a value, then this word will emit an instruction to the current sequence being constructed by " { $link make } " that boxes it." }
{ $examples { $unchecked-example $[ ex-caller-return ] } } ;
2015-04-29 22:51:58 -04:00
HELP: unbox-parameters
{ $values { "parameters" sequence } { "vregs" sequence } { "reps" sequence } }
{ $description "Unboxes a sequence of parameters to send to an ffi function." } ;