bcaf426cdf
Avoid caching generic types C<T1,...,Tn> in the object table if any of type arguments T1,...,Tn are not cacheable. Otherwise, bytecode reader might create function type 'C<Y0> Function<Y0>()' where cached type 'C<Y0>' references parameter type Y0 which belongs to a wrong owner, such as another function type 'C<Y0> Function<Y0>(int)'. Also, fix equivalence of default values of function type parameters in case matching 'null' (meaning all dynamic) and '[dynamic, ..., dynamic]'. This may happen during canonicalization before '[dynamic, ..., dynamic]' type arguments are replaced with 'null'. TEST=ci Change-Id: If81736fb18a62fd16fd93e59436c8cd7ccce94ff Cq-Include-Trybots: luci.dart.try:vm-aot-dyn-linux-debug-x64-try,vm-aot-dyn-linux-product-x64-try,vm-dyn-linux-debug-x64-try Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/437522 Reviewed-by: Slava Egorov <vegorov@google.com> Commit-Queue: Alexander Markov <alexmarkov@google.com>
This package contains Dart bytecode compiler.
Status: experimental
NOTE: This package is currently experimental and not published or included in the SDK.
Do not take dependency on this package unless you are prepared for breaking changes and possibly removal of this code at any point in time.