diff options
author | Mike Pall <mike> | 2016-11-13 20:03:01 +0100 |
---|---|---|
committer | Mike Pall <mike> | 2016-11-13 20:03:01 +0100 |
commit | 7a58a8fb3d3d5808c54d096ab772113bf9024ae8 (patch) | |
tree | 32cfdefc8c9bb682078fa76acdcb1751a5e9dec9 /src/lj_trace.c | |
parent | 716f2daef8019ce53d75d2c376c74b8f478fd5c5 (diff) | |
download | luajit-7a58a8fb3d3d5808c54d096ab772113bf9024ae8.tar.gz luajit-7a58a8fb3d3d5808c54d096ab772113bf9024ae8.tar.bz2 luajit-7a58a8fb3d3d5808c54d096ab772113bf9024ae8.zip |
Report parent of stitched trace.
Thanks to Nick Zavaritsky.
Diffstat (limited to 'src/lj_trace.c')
-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); |