Files
sdk/pkg/compiler/lib
Nate Biggs 25f4aa70b8 [dart2js] Ensure that types cannot end up in a diverging inference loop.
The UnionTypeMask k-limit can cause cycles in the type graph to end up in an infinite loop where they continually widen and narrow. The solution is to ensure monotonicity of these union operations, if we are attempting to go from a FlatTypeMask to a UnionTypeMask, the UnionTypeMask should be strictly wider than the FlatTypeMask.

Change-Id: I32ec0927c7c7863a5f093df7c087b19ef3f1bc01
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/296480
Commit-Queue: Nate Biggs <natebiggs@google.com>
Reviewed-by: Mayank Patke <fishythefish@google.com>
2023-05-24 15:05:59 +00:00
..