Descriptionimprove DDC's type checks
fixes #30495 - optimize subtype cache
fixes #30464 - optimize `is List`
Additional changes:
- optimize double type checks
- optimize Object type checks
- optimize FutureOr<T> checks
- optimize interface checks for some dart:core and dart:async types (List, Map, Iterable, Future, Stream, and StreamSubscription )
- optimize checks for generic class default instantiations and exact instantiation (e.g. `C<dynamic>` on any instance `C<T>`, and `C<T> on an instance of C<T>`
- optimize checks for native types
- optimize getReifiedType
- optimize dcall/dsend/dput checks to use faster Type._check pattern
- optimize instanceOf/cast functions by moving special cases to appropriate types
- optimize Object.runtimeType
- optimize JS interop type checks
- optimize all function type checks
There's more we can do (especially for class/interface types) but this should cover a lot of cases.
R=leafp@google.com
Committed: https://github.com/dart-lang/sdk/commit/45592ee4bb83ef7b72009b10a6311a58f0618950
Patch Set 1 #Patch Set 2 : format #
Total comments: 14
Created: 3 years, 4 months ago
(Patch set is too large to download)
Messages
Total messages: 12 (5 generated)
|