Commit 99d8be8
committed
Run ignoredDeferred less often
RefChecks would invoke ignoreDeferred each time we hit an abstract member in a base class of a
checked class, which means almost all of the time. ignoreDeferred would in turn do time travel
to post-erasure. This causes inefficiencies because of compiler-context switches. It also exposed
the problem in i8425 that was fixed by the last commit.
The concrete failure for i8425 does go away with the change in this commit. However, the fix
in the last commit is still necessary since explicit outer/erasure races are a general problem
that could come back.1 parent d9b3004 commit 99d8be8
1 file changed
+5
-4
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
472 | 472 | | |
473 | 473 | | |
474 | 474 | | |
475 | | - | |
| 475 | + | |
476 | 476 | | |
477 | 477 | | |
478 | 478 | | |
| |||
619 | 619 | | |
620 | 620 | | |
621 | 621 | | |
622 | | - | |
| 622 | + | |
623 | 623 | | |
624 | | - | |
| 624 | + | |
| 625 | + | |
| 626 | + | |
625 | 627 | | |
626 | 628 | | |
627 | 629 | | |
628 | 630 | | |
629 | 631 | | |
630 | | - | |
631 | 632 | | |
632 | 633 | | |
633 | 634 | | |
| |||
0 commit comments