commit | 20ca5bbb056dec9980ba2e1cdfddff9aa773cba0 | [log] [tgz] |
---|---|---|
author | Vyacheslav Egorov <vegorov@google.com> | Mon Jun 25 07:27:04 2018 +0000 |
committer | commit-bot@chromium.org <commit-bot@chromium.org> | Mon Jun 25 07:27:04 2018 +0000 |
tree | 2725b97f835fbe04c71b2c0a6381ad5c58a7e11e | |
parent | f9a11ec380a47db4e8bd53a416bd860cd1296358 [diff] |
[vm/jit] Introduce dynamic invocation forwarders that perform type checking This forwarders are used at dynamic call-sites and perform type checking for all non-generic-covariant arguments. This allows to skip the same type checks in the actual method body. This yield on average 10% improvement in performance across the body of benchmarks including dart2js compilation times. Bug: https://github.com/dart-lang/sdk/issues/33257 Change-Id: If3fc94a2e0a6f496ec0633f0b379d053a54a40ca Reviewed-on: https://dart-review.googlesource.com/61244 Commit-Queue: Vyacheslav Egorov <vegorov@google.com> Reviewed-by: Alexander Markov <alexmarkov@google.com> Reviewed-by: Martin Kustermann <kustermann@google.com>
Dart is an open-source, scalable programming language, with robust libraries and runtimes, for building web, server, and mobile apps.
Visit the dartlang.org to learn more about the language, tools, getting started, and more.
Browse pub.dartlang.org for more packages and libraries contributed by the community and the Dart team.
If you want to build Dart yourself, here is a guide to getting the source, preparing your machine to build the SDK, and building.
There are more documents on our wiki.
The easiest way to contribute to Dart is to file issues.
You can also contribute patches, as described in Contributing.