push
github
Fix recording of __concat metamethod. Thanks to Sergey Kaplun. (cherry picked from commit bcc5125a9) `lj_record_ret()` uses `J->L->base` as a base for recording concatenation with remaining operands, even if there is a vararg frame or pcall frame (so it uses the wrong Lua stack slots from a frame above). This leads to the corresponding assertion failure in the `lj_record_mm_lookup()`. This patch adds the calculation of the base adjusment necessary for correct frame usage. Sergey Kaplun: * added the description and the test for the problem Part of tarantool/tarantool#9595
5659 of 6016 branches covered (94.07%)
Branch coverage included in aggregate %.
5 of 5 new or added lines in 1 file covered. (100.0%)
10 existing lines in 3 files now uncovered.21598 of 23412 relevant lines covered (92.25%)
2817745.42 hits per line