commit | c701e765061732323f8520e3b803ea26aac1e1bd | [log] [tgz] |
---|---|---|
author | Aart Bik <ajcbik@google.com> | Thu Jan 17 22:22:32 2019 +0000 |
committer | commit-bot@chromium.org <commit-bot@chromium.org> | Thu Jan 17 22:22:32 2019 +0000 |
tree | d4ee5e1dc613be5aa5227dfc9e3e827ceacae2ba | |
parent | b692a6d18329d8a6978e013c96238506a0a7c46d [diff] |
[vm/compiler] handle non-nullable null situation better Rationale: Previously, we avoided introducing redefinitions that introduced the empty non-nullable null type. This situation arises when we do a null check on an actual null value (making all subsequent uses effectively dead code). This is too simple, however, since it still allows hoisting the uses before the check. This CL gives a better solution by introducing redefinitions without a constraining type (which are not removed and avoid the type). In the long run perhaps the best solution would be to simply remove all subsequent uses as dead. https://github.com/dart-lang/sdk/issues/32167 https://github.com/dart-lang/sdk/issues/34473 https://github.com/dart-lang/sdk/issues/35335 Change-Id: Ib5dd072a9e546f6b91faa52ea08e8c0f6350d7e0 Reviewed-on: https://dart-review.googlesource.com/c/89922 Reviewed-by: Alexander Markov <alexmarkov@google.com> Commit-Queue: Aart Bik <ajcbik@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.