aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/lj_trace.c6
1 files changed, 5 insertions, 1 deletions
diff --git a/src/lj_trace.c b/src/lj_trace.c
index b0ea8486..43b86e4f 100644
--- a/src/lj_trace.c
+++ b/src/lj_trace.c
@@ -512,7 +512,11 @@ static void trace_stop(jit_State *J)
512 lj_assertJ(J->parent != 0 && J->cur.root != 0, "not a side trace"); 512 lj_assertJ(J->parent != 0 && J->cur.root != 0, "not a side trace");
513 lj_asm_patchexit(J, traceref(J, J->parent), J->exitno, J->cur.mcode); 513 lj_asm_patchexit(J, traceref(J, J->parent), J->exitno, J->cur.mcode);
514 /* Avoid compiling a side trace twice (stack resizing uses parent exit). */ 514 /* Avoid compiling a side trace twice (stack resizing uses parent exit). */
515 traceref(J, J->parent)->snap[J->exitno].count = SNAPCOUNT_DONE; 515 {
516 SnapShot *snap = &traceref(J, J->parent)->snap[J->exitno];
517 snap->count = SNAPCOUNT_DONE;
518 if (J->cur.topslot > snap->topslot) snap->topslot = J->cur.topslot;
519 }
516 /* Add to side trace chain in root trace. */ 520 /* Add to side trace chain in root trace. */
517 { 521 {
518 GCtrace *root = traceref(J, J->cur.root); 522 GCtrace *root = traceref(J, J->cur.root);