commit | a454b5d564d3add32f32e8970e944551f39fceae | [log] [tgz] |
---|---|---|
author | Martin Kustermann <kustermann@google.com> | Thu Nov 15 14:39:54 2018 +0000 |
committer | commit-bot@chromium.org <commit-bot@chromium.org> | Thu Nov 15 14:39:54 2018 +0000 |
tree | 93a578882d1bd016dc9cbaca8c5d8f0de7efd2d0 | |
parent | 6b8aeb889815e1d6b09c1e44b9dd7c468d0a6388 [diff] |
[VM] Use redefinitions for strenghtening, prefer equality comparison over strict comparison When strenghtening the types in AOT call specializer, we do it via redefinitions instead of setting a reachingt type on the Value. This has the advantage that all uses will get the new type, which improves e.g. StaticCall(_IntegerImpl.*, v1, v1) where multiple uses can benefit. This CL also changes the AOT call specializer to prefer equality comparisons over strict comparisons, because strict comparisons can force boxing (which causes code bloat). Change-Id: I803bb09c70ee2f4656062b5ce3cb28ffaf940e9b Reviewed-on: https://dart-review.googlesource.com/c/84525 Commit-Queue: Martin Kustermann <kustermann@google.com> Reviewed-by: Vyacheslav Egorov <vegorov@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.