Ran
|
Jobs
1
|
Files
89
|
Run time
14s
|
Badge
README BADGES
|
push
github
Fix snapshot PC when linking to BC_JLOOP that was a BC_RET*. Reported by Arseny Vakhrushev. Fix contributed by Peter Cawley. (cherry-picked from commit 5c46f4773) As specified in the comment in `lj_record_stop`, all loops must set `J->pc` to the next instruction. However, the chunk of logic in `lj_trace_exit` expects it to be set to `BC_JLOOP` itself if it used to be a `BC_RET`. This wrong pc results in the execution of random data that goes after `BC_JLOOP` in the case of restoration from the snapshot. This patch fixes that behavior by adapting the loop recording logic to this specific case. NOTICE: This patch is only a part of the original commit, and the other part is backported in the previous commit. The patch was split into two, so the test case becomes easier to implement since it can now depend on this assertion instead of memory layout. Maxim Kokryashkin: * added the description and the test for the problem Part of tarantool/tarantool#9145 Reviewed-by: Sergey Kaplun <skaplun@tarantool.org> Reviewed-by: Sergey Bronnikov <sergeyb@tarantool.org> Signed-off-by: Igor Munkin <imun@tarantool.org> (cherry picked from commit 2ab0419fa)
5352 of 5969 branches covered (0.0%)
Branch coverage included in aggregate %.
5 of 5 new or added lines in 1 file covered. (100.0%)
26 existing lines in 5 files now uncovered.20526 of 23267 relevant lines covered (88.22%)
694532.67 hits per line
Lines | Coverage | ∆ | File |
---|---|---|---|
1 |
93.09 |
-0.33% | src/lj_ir.c |
1 |
95.91 |
-0.18% | src/lj_opt_mem.c |
2 |
91.96 |
-0.45% | src/luajit.c |
10 |
73.74 |
-1.01% | src/lj_api.c |
12 |
97.11 |
0.0% | src/lj_snap.c |
ID | Job ID | Ran | Files | Coverage | |
---|---|---|---|---|---|
1 | 7119513137.1 | 89 |
88.51 |
GitHub Action Run |
Coverage | ∆ | File | Lines | Relevant | Covered | Missed | Hits/Line | Branch Hits | Branch Misses |
---|