mirror of
https://github.com/dart-lang/sdk
synced 2024-09-15 23:49:47 +00:00
bd950da0a8
We would add function itself to the invocation dispatcher cache if the function itself can handle dynamic invocation. However GetInvocationDispatcher will never be able to find this entry because it looks specifically for functions with kDynamicInvocationForwarder kind. This lead us to add many duplicated entries to the cache. The logic in the resolver does not actually need the cache to contain the function because it falls through to lookup using unmangled name. For a large Flutter application: before this change invocation dispatcher caches were contributing 129244 bytes to the snapshot, after this change they contribute 7764 bytes. Fixes https://github.com/dart-lang/sdk/issues/48914 TEST=ci Change-Id: I639d268e75fd43d2f4f0b1ea5a7873ba169f9d66 Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/242862 Reviewed-by: Ryan Macnak <rmacnak@google.com> Commit-Queue: Slava Egorov <vegorov@google.com> |
||
---|---|---|
.. | ||
bin | ||
docs | ||
include | ||
lib | ||
observatory | ||
observatory_2 | ||
platform | ||
tests | ||
third_party | ||
tools | ||
vm | ||
.clang-tidy | ||
.gitignore | ||
BUILD.gn | ||
codereview.settings | ||
configs.gni | ||
CPPLINT.cfg | ||
OWNERS | ||
PRESUBMIT.py | ||
runtime_args.gni |