Don't use stack unwinding for lua_yield().

This commit is contained in:
Mike Pall
2012-10-09 13:19:57 +02:00
parent da682b0e91
commit eabfdfe1aa
6 changed files with 35 additions and 17 deletions

View File

@@ -327,8 +327,10 @@ static void build_subroutines(BuildCtx *ctx)
| addiu RA, RA, -8
|
|->vm_returnc:
| andi TMP0, PC, FRAME_TYPE
| addiu RD, RD, 8 // RD = (nresults+1)*8.
| andi TMP0, PC, FRAME_TYPE
| beqz RD, ->vm_unwind_c_eh
|. li CRET1, LUA_YIELD
| beqz TMP0, ->BC_RET_Z // Handle regular return to Lua.
|. move MULTRES, RD
|