diff options
Diffstat (limited to '')
-rw-r--r-- | src/lj_trace.c | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/src/lj_trace.c b/src/lj_trace.c index 87146832..11e54d97 100644 --- a/src/lj_trace.c +++ b/src/lj_trace.c | |||
@@ -446,6 +446,12 @@ static void trace_start(jit_State *J) | |||
446 | if (J->parent) { | 446 | if (J->parent) { |
447 | setintV(L->top++, J->parent); | 447 | setintV(L->top++, J->parent); |
448 | setintV(L->top++, J->exitno); | 448 | setintV(L->top++, J->exitno); |
449 | } else { | ||
450 | BCOp op = bc_op(*J->pc); | ||
451 | if (op == BC_CALLM || op == BC_CALL || op == BC_ITERC) { | ||
452 | setintV(L->top++, J->exitno); /* Parent of stitched trace. */ | ||
453 | setintV(L->top++, -1); | ||
454 | } | ||
449 | } | 455 | } |
450 | ); | 456 | ); |
451 | lj_record_setup(J); | 457 | lj_record_setup(J); |