SubtypeTestCache overflows due to is
checks with many different receivers
#48235
Labels
area-vm
Use area-vm for VM related issues, including code coverage, and the AOT and JIT backends.
type-performance
Issue relates to performance or code size
We have code like this in the core libraries
_Future
implementation (from future_impl.dart)This code will be called with return values of async functions. At runtime the
value
can therefore be of many different types. This causes an issue with thisis Future<T>
check.The
is
check is performed viaSubtypeTestCache
which have a maximum length of 100 and will fallback to runtime after that. Sincevalue
will obtain many different class ids, theSubtypeTestCache
easily fills up and causes very slow performance.Due to the fact that this will happen on pretty much any program which uses lots of async code, it's quite a severe issue.
See also b/182183059
The text was updated successfully, but these errors were encountered: