|
Ran
|
Jobs
1
|
Files
89
|
Run time
6min
|
Badge
README BADGES
|
push
github
ARM64: Fix IR_SLOAD assembly. Reported by Gate88. (cherry picked from commit 6c4826f12) The issue is in the case when IR SLOAD is unused on a trace, persists only for typecheck, and has the `num` type. In this case, the `dest` register is `RID_NONE`. Hence, the `fmov` instruction is emitted unconditionally, where the destination register is `d0` (`RID_NONE & 31`). So, the value of this register is spoiled. If it holds any value evaluated before and used after this SLOAD, it leads to incorrect behaviour. This patch adds the check that the register is in use before emitting the instruction. Sergey Kaplun: * added the description and the test for the problem Part of tarantool/tarantool#11278
5707 of 6042 branches covered (94.46%)
Branch coverage included in aggregate %.
21774 of 23491 relevant lines covered (92.69%)
3832984.15 hits per line
| Lines | Coverage | ∆ | File |
|---|---|---|---|
| 2 |
93.42 |
-0.66% | src/lj_ir.c |
| 1 |
87.73 |
-0.08% | src/lj_crecord.c |
| 1 |
78.52 |
-0.08% | src/lj_opt_fold.c |
| 1 |
96.48 |
-0.05% | src/lj_record.c |
| ID | Job ID | Ran | Files | Coverage | |
|---|---|---|---|---|---|
| 1 | 15018566511.1 | 89 |
93.05 |
GitHub Action Run |
| Coverage | ∆ | File | Lines | Relevant | Covered | Missed | Hits/Line | Branch Hits | Branch Misses |
|---|