Tess Strickland
9329995dd8
[vm] Add a separate invoke field dispatcher for dynamic closure calls.
...
Adds TODO comments in appropriate places for future work that will move
non-covariant type checks out of the closure body. Instead, the VM will
perform them in the invoke field dispatcher (or NoSuchMethodFromCallStub
if --no-lazy-dispatchers is used) when a dynamic call is detected.
This change has minimal negative effects on the code size. Here are the
code size change percentages for the Flutter Gallery in release mode:
* ARM7
* Instructions: +0.0391%
* ROData: -0.0040%
* Total: +0.0239%
* ARM8:
* Instructions: No change
* ROData: +0.0015%
* Total: +0.0004%
All other code size benchmarks are also <0.01% increase.
Bug: https://github.com/dart-lang/sdk/issues/40813
Change-Id: I4bf145803bb9e2d4ba5c22c12b6fd3bb5368441d
Cq-Include-Trybots: luci.dart.try:vm-kernel-precomp-linux-release-x64-try,vm-kernel-precomp-nnbd-linux-release-x64-try,vm-dartkb-linux-release-x64-try
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/151826
Commit-Queue: Tess Strickland <sstrickl@google.com >
Reviewed-by: Alexander Markov <alexmarkov@google.com >
Reviewed-by: Martin Kustermann <kustermann@google.com >
2020-07-02 13:16:19 +00:00
..
2020-06-25 20:39:23 +00:00
2020-06-25 20:39:23 +00:00
2020-06-25 20:39:23 +00:00
2020-06-25 20:39:23 +00:00
2020-06-25 20:39:23 +00:00
2020-06-25 20:39:23 +00:00
2020-06-25 20:39:23 +00:00
2020-06-25 20:39:23 +00:00
2020-06-25 20:39:23 +00:00
2020-06-25 20:39:23 +00:00
2020-06-25 20:39:23 +00:00
2020-06-25 20:39:23 +00:00
2020-06-25 20:39:23 +00:00
2020-06-25 20:39:23 +00:00
2020-06-25 20:39:23 +00:00
2020-06-25 20:39:23 +00:00
2020-06-25 20:39:23 +00:00
2020-06-25 20:39:23 +00:00
2020-06-25 20:39:23 +00:00
2020-06-25 20:39:23 +00:00
2020-06-25 20:39:23 +00:00
2020-06-25 20:39:23 +00:00
2020-06-25 20:39:23 +00:00
2020-06-25 20:39:23 +00:00
2020-06-25 20:39:23 +00:00
2020-06-25 20:39:23 +00:00
2020-06-25 20:39:23 +00:00
2020-06-25 20:39:23 +00:00
2020-06-25 20:39:23 +00:00
2020-06-25 20:39:23 +00:00
2020-06-25 20:39:23 +00:00
2020-06-25 20:39:23 +00:00
2020-06-25 20:39:23 +00:00
2020-06-25 20:39:23 +00:00
2020-06-25 20:39:23 +00:00
2020-06-25 20:39:23 +00:00
2020-06-25 20:39:23 +00:00
2020-06-25 20:39:23 +00:00
2020-06-25 20:39:23 +00:00
2020-06-25 20:39:23 +00:00
2020-06-25 20:39:23 +00:00
2020-06-25 20:39:23 +00:00
2020-06-25 20:39:23 +00:00
2020-06-25 20:39:23 +00:00
2020-06-25 20:39:23 +00:00
2020-06-25 20:39:23 +00:00
2020-06-25 20:39:23 +00:00
2020-07-02 13:16:19 +00:00
2020-06-25 20:39:23 +00:00
2020-06-25 20:39:23 +00:00
2020-06-25 20:39:23 +00:00
2020-06-25 20:39:23 +00:00
2020-06-25 20:39:23 +00:00
2020-06-25 20:39:23 +00:00
2020-06-25 20:39:23 +00:00
2020-06-25 20:39:23 +00:00
2020-06-25 20:39:23 +00:00
2020-06-25 20:39:23 +00:00
2020-06-25 20:39:23 +00:00
2020-06-25 20:39:23 +00:00
2020-06-25 20:39:23 +00:00
2020-06-25 20:39:23 +00:00
2020-06-25 20:39:23 +00:00
2020-06-25 20:39:23 +00:00
2020-06-25 20:39:23 +00:00
2020-06-25 20:39:23 +00:00
2020-06-25 20:39:23 +00:00
2020-06-25 20:39:23 +00:00
2020-06-25 20:39:23 +00:00
2020-06-25 20:39:23 +00:00
2020-06-25 20:39:23 +00:00
2020-06-25 20:39:23 +00:00
2020-06-25 20:39:23 +00:00
2020-06-25 20:39:23 +00:00
2020-06-25 20:39:23 +00:00
2020-06-25 20:39:23 +00:00
2020-06-25 20:39:23 +00:00
2020-06-25 20:39:23 +00:00
2020-06-25 20:39:23 +00:00
2020-06-25 20:39:23 +00:00
2020-06-25 20:39:23 +00:00
2020-06-25 20:39:23 +00:00
2020-06-25 20:39:23 +00:00
2020-06-25 20:39:23 +00:00
2020-06-25 20:39:23 +00:00
2020-06-25 20:39:23 +00:00
2020-06-25 20:39:23 +00:00
2020-06-25 20:39:23 +00:00
2020-06-25 20:39:23 +00:00
2020-06-25 20:39:23 +00:00
2020-06-25 20:39:23 +00:00
2020-06-25 20:39:23 +00:00
2020-06-25 20:39:23 +00:00
2020-06-25 20:39:23 +00:00
2020-06-25 20:39:23 +00:00
2020-06-25 20:39:23 +00:00
2020-06-25 20:39:23 +00:00
2020-06-25 20:39:23 +00:00
2020-06-25 20:39:23 +00:00
2020-06-25 20:39:23 +00:00
2020-06-25 20:39:23 +00:00
2020-06-25 20:39:23 +00:00
2020-06-25 20:39:23 +00:00
2020-06-25 20:39:23 +00:00
2020-06-25 20:39:23 +00:00
2020-06-25 20:39:23 +00:00
2020-06-25 20:39:23 +00:00
2020-06-25 20:39:23 +00:00
2020-06-25 20:39:23 +00:00
2020-06-25 20:39:23 +00:00
2020-06-25 20:39:23 +00:00
2020-06-25 20:39:23 +00:00
2020-06-25 20:39:23 +00:00
2020-06-25 20:39:23 +00:00
2020-06-25 20:39:23 +00:00
2020-06-25 20:39:23 +00:00
2020-06-25 20:39:23 +00:00
2020-06-25 20:39:23 +00:00
2020-06-25 20:39:23 +00:00
2020-06-25 20:39:23 +00:00
2020-06-25 20:39:23 +00:00
2020-06-25 20:39:23 +00:00
2020-06-25 20:39:23 +00:00
2020-06-25 20:39:23 +00:00
2020-06-25 20:39:23 +00:00
2020-06-25 20:39:23 +00:00
2020-06-25 20:39:23 +00:00
2020-06-25 20:39:23 +00:00
2020-06-25 20:39:23 +00:00
2020-06-25 20:39:23 +00:00
2020-06-25 20:39:23 +00:00
2020-06-25 20:39:23 +00:00
2020-06-25 20:39:23 +00:00
2020-06-25 20:39:23 +00:00
2020-06-25 20:39:23 +00:00
2020-06-25 20:39:23 +00:00
2020-06-25 20:39:23 +00:00
2020-06-25 20:39:23 +00:00
2020-06-25 20:39:23 +00:00
2020-06-25 20:39:23 +00:00
2020-06-25 20:39:23 +00:00
2020-06-25 20:39:23 +00:00
2020-06-25 20:39:23 +00:00
2020-06-25 20:39:23 +00:00
2020-06-25 20:39:23 +00:00
2020-06-25 20:39:23 +00:00
2020-06-25 20:39:23 +00:00
2020-06-25 20:39:23 +00:00
2020-06-25 20:39:23 +00:00
2020-06-25 20:39:23 +00:00
2020-06-25 20:39:23 +00:00
2020-06-25 20:39:23 +00:00
2020-06-25 20:39:23 +00:00
2020-06-25 20:39:23 +00:00
2020-06-25 20:39:23 +00:00
2020-06-25 20:39:23 +00:00
2020-06-25 20:39:23 +00:00
2020-06-25 20:39:23 +00:00
2020-06-25 20:39:23 +00:00
2020-06-25 20:39:23 +00:00
2020-06-25 20:39:23 +00:00
2020-06-25 20:39:23 +00:00
2020-06-25 20:39:23 +00:00
2020-06-25 20:39:23 +00:00
2020-06-25 20:39:23 +00:00
2020-06-25 20:39:23 +00:00