 
 M: ppc %alien-indirect ( -- )
     16 MTLR BLRL ;
-
-M: ppc %callback-value ( ctype -- )
-    ! Save top of data stack
-    3 ds-reg 0 LWZ
-    3 1 0 local@ STW
-    3 %load-vm-addr
-    ! Restore data/call/retain stacks
-    "unnest_context" f %alien-invoke
-    ! Restore top of data stack
-    3 1 0 local@ LWZ
-    ! Unbox former top of data stack to return registers
-    unbox-return ;
 
 M: ppc immediate-arithmetic? ( n -- ? ) -32768 32767 between? ;
 


M:: ppc %restore-context ( temp1 temp2 -- )
    temp1 "ctx" %vm-field
    temp2 1 stack-frame get total-size>> ADDI
    temp2 temp1 "callstack-bottom" context-field-offset STW
    ds-reg temp1 "datastack" context-field-offset LWZ
    rs-reg temp1 "retainstack" context-field-offset LWZ ;



M: ppc %alien-invoke ( symbol dll -- )
    [ 11 ] 2dip %alien-global 11 MTLR BLRL ;

M: ppc %prepare-alien-indirect ( -- )
    3 ds-reg 0 LWZ
