diff options
author | Mike Pall <mike> | 2022-09-14 12:26:53 +0200 |
---|---|---|
committer | Mike Pall <mike> | 2022-09-14 12:26:53 +0200 |
commit | dad04f1754723e76ba9dcf9f401f3134a0cd3972 (patch) | |
tree | 3cb3490a4abbeabf36f962aec579137f07f22438 /src | |
parent | fffd3eafc4d71f3c60160f60a9744a8012fe2a90 (diff) | |
download | luajit-dad04f1754723e76ba9dcf9f401f3134a0cd3972.tar.gz luajit-dad04f1754723e76ba9dcf9f401f3134a0cd3972.tar.bz2 luajit-dad04f1754723e76ba9dcf9f401f3134a0cd3972.zip |
Fix trace join to BC_JLOOP originating from BC_ITERN.
Reported by OpenResty Inc.
Diffstat (limited to 'src')
-rw-r--r-- | src/lj_record.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/src/lj_record.c b/src/lj_record.c index 5d02d24a..bfd41236 100644 --- a/src/lj_record.c +++ b/src/lj_record.c | |||
@@ -2572,7 +2572,8 @@ void lj_record_ins(jit_State *J) | |||
2572 | break; | 2572 | break; |
2573 | case BC_JLOOP: | 2573 | case BC_JLOOP: |
2574 | rec_loop_jit(J, rc, rec_loop(J, ra, | 2574 | rec_loop_jit(J, rc, rec_loop(J, ra, |
2575 | !bc_isret(bc_op(traceref(J, rc)->startins)))); | 2575 | !bc_isret(bc_op(traceref(J, rc)->startins)) && |
2576 | bc_op(traceref(J, rc)->startins) != BC_ITERN)); | ||
2576 | break; | 2577 | break; |
2577 | 2578 | ||
2578 | case BC_IFORL: | 2579 | case BC_IFORL: |