Implement yield from C hooks.

Get number of multiple results from C frame.
Add lj_cont_hook: restores multres and dispatch to static ins.
Can use fastcall for lj_dispatch_ins() now.
This commit is contained in:
Mike Pall
2009-12-30 02:37:57 +01:00
parent 52eb88773e
commit 9de0f53a8d
9 changed files with 956 additions and 938 deletions

View File

@@ -470,7 +470,7 @@ uncaught:
L->cframe = NULL;
if (cframe_canyield(cf)) { /* Resume? */
unwindstack(L, L->top, errcode);
lj_vm_unwind_c(cf, errcode);
lj_vm_unwind_c(cframe_raw(cf), errcode);
}
/* Better rethrow on main thread than panic. */
{