u3: only perform road stack checks in +stir jet if necessary

This commit is contained in:
Joe Bryan 2020-09-11 15:10:49 -07:00
parent 2e8d84c173
commit 8db9a4d394

View File

@ -975,10 +975,6 @@
u3j_gate_lose(&fel_u);
}
// check for stack overflow
//
u3a_pile_sane(&pil_u);
// unwind the stack, folding parse results into [wag] by way of [raq]
//
if ( len_w ) {
@ -986,6 +982,10 @@
u3j_site raq_u;
u3j_gate_prep(&raq_u, u3k(raq));
// check for stack overflow
//
u3a_pile_sane(&pil_u);
while ( len_w-- > 0 ) {
p_vex = *top;
top = u3a_pop(&pil_u);
@ -996,11 +996,11 @@
puq_wag = u3j_gate_slam(&raq_u, u3nc(puq_vex, puq_wag));
}
c3_assert( c3y == u3a_pile_done(&pil_u) );
u3j_gate_lose(&raq_u);
}
c3_assert( c3y == u3a_pile_done(&pil_u) );
return u3nq(p_wag, u3_nul, puq_wag, quq_wag);
}