Ran
|
Jobs
1
|
Files
89
|
Run time
1min
|
Badge
Embed ▾
README BADGES
|
push
github
FFI: Fix 64 bit shift fold rules. Thanks to Peter Cawley. (cherry picked from commit 9e0437240) For `IR_BSHR`, `IR_BROL`, `IR_BROR` during `kfold_int64arith()` the left argument is truncated down to 32 bits, which leads to incorrect results if the right argument is >= 2^32. Also, `IR_BSAR` does an unsigned shift rather than a signed shift, but since this case branch is unreachable, it is harmless for now. This patch fixes all misbehaviours (including possible for `IR_BSAR`) to preserve IR semantics. Sergey Kaplun: * added the description and the test for the problem Part of tarantool/tarantool#10199 Reviewed-by: Sergey Bronnikov <sergeyb@tarantool.org> Reviewed-by: Maxim Kokryashkin <m.kokryashkin@tarantool.org> Signed-off-by: Sergey Kaplun <skaplun@tarantool.org> (cherry picked from commit f0bc08920)
5693 of 6032 branches covered (94.38%)
Branch coverage included in aggregate %.
21715 of 23445 relevant lines covered (92.62%)
2930611.13 hits per line
Lines | Coverage | ∆ | File |
---|---|---|---|
2 |
96.81 |
0.56% | src/lj_carith.c |
2 |
78.81 |
0.71% | src/lj_opt_fold.c |
2 |
87.57 |
0.42% | src/lj_crecord.c |
2 |
93.09 |
-0.99% | src/lj_ir.c |
6 |
94.74 |
-4.31% | src/lj_str.c |
ID | Job ID | Ran | Files | Coverage | |
---|---|---|---|---|---|
1 | 11380100477.1 | 89 |
92.98 |
GitHub Action Run |
Coverage | ∆ | File | Lines | Relevant | Covered | Missed | Hits/Line | Branch Hits | Branch Misses |
---|