[tfa,aot,dart2wasm] More precise intersection of a wide cone type with an empty cone type

When cone type has a large number of allocated subtypes, TFA uses
symbolic wide cone type as a faster approximation to speed up
the analysis.

Intersection of wide cone type C1+ with cone type C2+ when
there is no subtyping relation between C1 and C2 results in
approximate type C1+. As a result, analysis may fail to determine
that certain type test will never succeed.

This change improves precision of cone and wide cone intersections
and unions in case cone type has an empty specialization
(no allocated subtypes).

TEST=pkg/vm/testcases/transformations/type_flow/transformer/regress_60733.dart
Fixes https://github.com/dart-lang/sdk/issues/60733

Change-Id: I51287d38a9e5f3c0ce88dab358d0825843a0de03
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/428840
Reviewed-by: Slava Egorov <vegorov@google.com>
Reviewed-by: Martin Kustermann <kustermann@google.com>
Commit-Queue: Alexander Markov <alexmarkov@google.com>

https://dart.googlesource.com/sdk/+/d039e2865b27e6cd162df00f1fa58ee243672582
diff --git a/DEPS b/DEPS
index 64c25b9..cd1ae0c 100644
--- a/DEPS
+++ b/DEPS
@@ -234,7 +234,7 @@
 ]
 
 deps = {
-  'flutter/engine/src/flutter/third_party/dart': Var('dart_git') + '/sdk' + '@' + '630a3aafb04c8d7152a19d2d9deffe3105f76b26',
+  'flutter/engine/src/flutter/third_party/dart': Var('dart_git') + '/sdk' + '@' + 'd039e2865b27e6cd162df00f1fa58ee243672582',
 
   'flutter': Var('flutter_git') + '/mirrors/flutter' + '@' + '701385d5bd06842971538fa2efbf4540ee155d1d',
 
diff --git a/commits.json b/commits.json
index e57e3a3..8da484f 100644
--- a/commits.json
+++ b/commits.json
@@ -1,4 +1,4 @@
 {
   "flutter":"701385d5bd06842971538fa2efbf4540ee155d1d",
-  "flutter/engine/src/flutter/third_party/dart":"630a3aafb04c8d7152a19d2d9deffe3105f76b26"
+  "flutter/engine/src/flutter/third_party/dart":"d039e2865b27e6cd162df00f1fa58ee243672582"
 }
\ No newline at end of file