703 if ((ci->u.c.k = k) != NULL) /* is there a continuation? */
704 ci->u.c.ctx = ctx; /* save context */
705 ci->func = L->top - nresults - 1; /* protect stack below results */
706 luaD_throw(L, LUA_YIELD);
707 }
why should protect stack below results, somewhere can change the stack value?