[ f ] [ namespace global eq? ] unit-test
: callback-8 ( -- callback )
- void { } "cdecl" [
- [ continue ] callcc0
- ] alien-callback ;
+ void { } "cdecl" [ [ ] in-thread yield ] alien-callback ;
[ ] [ callback-8 callback_test_1 ] unit-test
1 1 callback-frame-size neg STWU\r
0 1 callback-frame-size lr-save + STW\r
\r
- nv-int-regs [ cells save-int ] each-index\r
+ nv-int-regs [ 4 * save-int ] each-index\r
nv-fp-regs [ 8 * 80 + save-fp ] each-index\r
nv-vec-regs [ 16 * 224 + save-vec ] each-index\r
\r
\r
nv-vec-regs [ 16 * 224 + restore-vec ] each-index\r
nv-fp-regs [ 8 * 80 + restore-fp ] each-index\r
- nv-int-regs [ cells restore-int ] each-index\r
+ nv-int-regs [ 4 * restore-int ] each-index\r
\r
0 1 callback-frame-size lr-save + LWZ\r
1 1 0 LWZ\r
jit-restore-context\r
\r
! We have changed the stack; load return address again\r
- 0 1 stack-frame lr-save + LWZ\r
+ 0 1 lr-save LWZ\r
0 MTLR\r
\r
! Call quotation\r