Repo Added
|
Files
89
|
Badge
Embed ▾
README BADGES
|
push
github
LJ_GC64: Always snapshot functions for non-base frames. Reported by Arseny Vakhrushev. Analysis and fix contributed by Peter Cawley. (cherry picked from commit ff1e72ace) The problem is GC64-specific and could be reproduced with enabled compiler options LUA_USE_ASSERT and LUA_USE_APICHECK. The case with bug is the following: imagine we have a function that is recorded to a trace and calls a built-in function that is not JIT-compilable (see NYI) and therefore triggers exit to the interpreter, and then it resumes tracing just after the call returns - this is trace stitching. Then, within the call, we need the potential for a side trace. Finally, we need that side exit to be taken enough times for the exit to be compiled into a trace. This compilation hits the assertion failure. Sergey Kaplun: * minimized reproducer made by fuzzing test Sergey Bronnikov: * added the description (see a comment in the test) * added tests for the problem: first one based on the original reproducer and second one based on a reproducer made by fuzzing test. Part of tarantool/tarantool#9145
5342 of 5974 branches covered (0.0%)
Branch coverage included in aggregate %.
3 of 3 new or added lines in 1 file covered. (100.0%)
9 existing lines in 6 files now uncovered.20497 of 23295 relevant lines covered (87.99%)
2751660.66 hits per line
Coverage | ∆ | File | Lines | Relevant | Covered | Missed | Hits/Line | Branch Hits | Branch Misses |
---|