Repository navigation
Commit 8710999
committed
Don't assert that an eqq is followed by another instruction
canOmitStoreLoad asserted that the instruction after an eqq is never
null, but it's null whenever the eqq ends its basic block. Inside a
block, each in clause of a case/in does that, because the pattern_end
label after the eqq starts a new basic block. With assertions on, those
blocks failed to compile.
The assertion wasn't protecting anything: a null next instruction just
means the store and load can't be omitted, which is what the method
returns for patterns anyway. Return false instead.
Fixes #98291 parent 32d3e80 commit 8710999
2 files changed
Lines changed: 9 additions & 1 deletion
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1698 | 1698 | | |
1699 | 1699 | | |
1700 | 1700 | | |
1701 | | - | |
| 1701 | + | |
| 1702 | + | |
1702 | 1703 | | |
1703 | 1704 | | |
1704 | 1705 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1216 | 1216 | | |
1217 | 1217 | | |
1218 | 1218 | | |
| 1219 | + | |
| 1220 | + | |
| 1221 | + | |
| 1222 | + | |
| 1223 | + | |
| 1224 | + | |
| 1225 | + | |
1219 | 1226 | | |
1220 | 1227 | | |
1221 | 1228 | | |
| |||
0 commit comments