aboutsummaryrefslogtreecommitdiff
path: root/ltests.c
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--ltests.c12
1 files changed, 7 insertions, 5 deletions
diff --git a/ltests.c b/ltests.c
index acabc6b6..76a6ea9b 100644
--- a/ltests.c
+++ b/ltests.c
@@ -419,17 +419,19 @@ static void checkstack (global_State *g, lua_State *L1) {
419 CallInfo *ci; 419 CallInfo *ci;
420 UpVal *uv; 420 UpVal *uv;
421 lua_assert(!isdead(g, L1)); 421 lua_assert(!isdead(g, L1));
422 if (L1->stack == NULL) { /* incomplete thread? */
423 lua_assert(L1->stacksize == 0 && L1->openupval == NULL &&
424 L1->ci == NULL);
425 return;
426 }
422 for (uv = L1->openupval; uv != NULL; uv = uv->u.open.next) 427 for (uv = L1->openupval; uv != NULL; uv = uv->u.open.next)
423 lua_assert(upisopen(uv)); /* must be open */ 428 lua_assert(upisopen(uv)); /* must be open */
424 for (ci = L1->ci; ci != NULL; ci = ci->previous) { 429 for (ci = L1->ci; ci != NULL; ci = ci->previous) {
425 lua_assert(ci->top <= L1->stack_last); 430 lua_assert(ci->top <= L1->stack_last);
426 lua_assert(lua_checkpc(ci)); 431 lua_assert(lua_checkpc(ci));
427 } 432 }
428 if (L1->stack) { /* complete thread? */ 433 for (o = L1->stack; o < L1->stack_last + EXTRA_STACK; o++)
429 for (o = L1->stack; o < L1->stack_last + EXTRA_STACK; o++) 434 checkliveness(L1, s2v(o)); /* entire stack must have valid values */
430 checkliveness(L1, s2v(o)); /* entire stack must have valid values */
431 }
432 else lua_assert(L1->stacksize == 0);
433} 435}
434 436
435 437