Commit c5adfd2
[dart2js] Trust refined types from Dart type promotion
Using the promoted type reduces the need for primitive receiver and argument checks, and can result in better code.
The promoted type is 'used' by inserting pinned HTypeKnown instructions at the use site. The pinning can constrain code motion. Better inference in the optimizer (9505e95) relaxes most of these constraints.
Change-Id: Ic9c0ebe7fd95b60382e2f66c49f69440b8b881d1
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/419484
Reviewed-by: Mayank Patke <[email protected]>
Commit-Queue: Stephen Adams <[email protected]>1 parent 4464f61 commit c5adfd2
2 files changed
+37
-6
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
4720 | 4720 | | |
4721 | 4721 | | |
4722 | 4722 | | |
4723 | | - | |
4724 | | - | |
4725 | | - | |
4726 | | - | |
4727 | | - | |
4728 | | - | |
| 4723 | + | |
| 4724 | + | |
| 4725 | + | |
| 4726 | + | |
4729 | 4727 | | |
| 4728 | + | |
| 4729 | + | |
| 4730 | + | |
| 4731 | + | |
| 4732 | + | |
| 4733 | + | |
| 4734 | + | |
| 4735 | + | |
| 4736 | + | |
| 4737 | + | |
| 4738 | + | |
| 4739 | + | |
| 4740 | + | |
| 4741 | + | |
| 4742 | + | |
| 4743 | + | |
| 4744 | + | |
| 4745 | + | |
| 4746 | + | |
| 4747 | + | |
| 4748 | + | |
| 4749 | + | |
| 4750 | + | |
| 4751 | + | |
| 4752 | + | |
| 4753 | + | |
| 4754 | + | |
4730 | 4755 | | |
4731 | 4756 | | |
4732 | 4757 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
44 | 44 | | |
45 | 45 | | |
46 | 46 | | |
| 47 | + | |
| 48 | + | |
| 49 | + | |
| 50 | + | |
| 51 | + | |
| 52 | + | |
47 | 53 | | |
48 | 54 | | |
49 | 55 | | |
| |||
0 commit comments