Commit 52b7e85
committed
[clang][bytecode] Fix an inconsistency with loop condition jumps
When emitting the jump for e.g. a for loop condition, we used to jump
out of the CondScope, leaving the scope initialized, because we skipped
the corresponding Destroy opcode. If that loop was in a loop itself,
that outer loop could then iterate once more, leading to us initializing
a scope that was still initialized.
Fix this by also destroying the scope after the EndLabel.1 parent fafeaab commit 52b7e85
2 files changed
+18
-16
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
5431 | 5431 | | |
5432 | 5432 | | |
5433 | 5433 | | |
5434 | | - | |
5435 | | - | |
5436 | | - | |
5437 | | - | |
5438 | | - | |
| 5434 | + | |
| 5435 | + | |
| 5436 | + | |
| 5437 | + | |
| 5438 | + | |
5439 | 5439 | | |
5440 | | - | |
5441 | | - | |
5442 | | - | |
5443 | | - | |
5444 | | - | |
5445 | | - | |
| 5440 | + | |
| 5441 | + | |
5446 | 5442 | | |
5447 | | - | |
| 5443 | + | |
| 5444 | + | |
| 5445 | + | |
| 5446 | + | |
5448 | 5447 | | |
| 5448 | + | |
5449 | 5449 | | |
5450 | 5450 | | |
5451 | 5451 | | |
| |||
5457 | 5457 | | |
5458 | 5458 | | |
5459 | 5459 | | |
5460 | | - | |
5461 | 5460 | | |
5462 | 5461 | | |
| 5462 | + | |
5463 | 5463 | | |
5464 | | - | |
5465 | 5464 | | |
5466 | | - | |
| 5465 | + | |
| 5466 | + | |
| 5467 | + | |
5467 | 5468 | | |
5468 | 5469 | | |
5469 | 5470 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
531 | 531 | | |
532 | 532 | | |
533 | 533 | | |
| 534 | + | |
| 535 | + | |
534 | 536 | | |
535 | 537 | | |
536 | | - | |
537 | 538 | | |
538 | 539 | | |
539 | 540 | | |
| |||
0 commit comments