diff options
Diffstat (limited to 'src/lj_api.c')
-rw-r--r-- | src/lj_api.c | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/src/lj_api.c b/src/lj_api.c index f1cfebbc..f53ecc35 100644 --- a/src/lj_api.c +++ b/src/lj_api.c | |||
@@ -1210,11 +1210,12 @@ LUA_API int lua_yield(lua_State *L, int nresults) | |||
1210 | setcont(top, lj_cont_hook); | 1210 | setcont(top, lj_cont_hook); |
1211 | if (LJ_FR2) top++; | 1211 | if (LJ_FR2) top++; |
1212 | setframe_pc(top, cframe_pc(cf)-1); | 1212 | setframe_pc(top, cframe_pc(cf)-1); |
1213 | if (LJ_FR2) top++; | 1213 | top++; |
1214 | setframe_gc(top, obj2gco(L), LJ_TTHREAD); | 1214 | setframe_gc(top, obj2gco(L), LJ_TTHREAD); |
1215 | if (LJ_FR2) top++; | ||
1215 | setframe_ftsz(top, ((char *)(top+1)-(char *)L->base)+FRAME_CONT); | 1216 | setframe_ftsz(top, ((char *)(top+1)-(char *)L->base)+FRAME_CONT); |
1216 | L->top = L->base = top+1; | 1217 | L->top = L->base = top+1; |
1217 | #if LJ_TARGET_X64 | 1218 | #if ((defined(__GNUC__) || defined(__clang__)) && (LJ_TARGET_X64 || defined(LUAJIT_UNWIND_EXTERNAL)) && !LJ_NO_UNWIND) || LJ_TARGET_WINDOWS |
1218 | lj_err_throw(L, LUA_YIELD); | 1219 | lj_err_throw(L, LUA_YIELD); |
1219 | #else | 1220 | #else |
1220 | L->cframe = NULL; | 1221 | L->cframe = NULL; |