1
0
mirror of https://github.com/dart-lang/sdk synced 2024-07-08 20:16:39 +00:00
Go to file
Aart Bik c701e76506 [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>
2019-01-17 22:22:32 +00:00
.github Fix probot configuration to point to the "needs-info" label. 2018-12-20 21:26:57 +00:00
build [build] Enable mitigations for Cortex-A53 Erratum #843419 bug. 2019-01-15 16:50:33 +00:00
client Remove old annotated_steps buildbot scripts and dispatcher 2017-05-23 16:17:02 +02:00
docs Integrating generic-function-instantiation.md into dartLangSpec.tex 2019-01-17 14:59:18 +00:00
pkg Improvements for flow analysis. 2019-01-17 21:30:48 +00:00
runtime [vm/compiler] handle non-nullable null situation better 2019-01-17 22:22:32 +00:00
samples Revert "[gardening] mark sample_extension_test as error" 2018-12-10 19:37:33 +00:00
samples-dev fix some typos 2018-10-10 19:15:30 +00:00
sdk Revert "[vm] Enable timeline on Fuchsia even in product mode." 2019-01-17 00:39:39 +00:00
tests [Kernel] Signal an error for invalid native invocations 2019-01-17 15:12:04 +00:00
third_party Roll tcmalloc to e9ab4c53041ac62feefbbb076d326e9a77dd1567. 2018-12-13 02:20:03 +00:00
tools Remove --fast-startup flag support from testing scripts and status files 2019-01-16 11:32:44 +00:00
utils [dartdevc] remove unused dartdevk binary, fixes #35483 2019-01-04 17:19:52 +00:00
.clang-format VM: Re-format to use at most one newline between functions 2017-07-13 08:08:37 -07:00
.gitattributes Remove the Dart 1 tests. 2018-10-11 23:45:18 +00:00
.gitconfig [infra] Add documentation to .gitconfig 2018-06-11 18:24:16 +00:00
.gitignore [tools] repurpose generate_compile_commands.py to generate_idefiles.py 2019-01-04 09:05:23 +00:00
.gn
.mailmap fix my name in .mailmap 2018-09-11 01:45:52 +00:00
.packages Remove pkg:tuple from DEPS 2018-12-13 22:51:21 +00:00
.vpython [infra] Add .vpython spec to fix gsutil on the bots (#31065) 2018-10-11 15:11:35 +00:00
AUTHORS
BUILD.gn [VM] Remove 'corelib' and 'dart-io' sources generation into C++ arrays 2018-10-02 23:27:05 +00:00
CHANGELOG.md CHANGELOG entry for DEPRECATED_MEMBER_USE split 2019-01-16 18:46:54 +00:00
codereview.settings Update codereview.settings to Gerrit (dart-review.googlesource.com) 2017-09-04 12:52:09 +00:00
CONTRIBUTING.md Change wiki link to follow contents moved. 2019-01-12 18:46:22 +00:00
dartdoc_options.yaml Add a 'Core' category for doc generation. 2018-06-07 14:47:41 +00:00
DEPS [infra] Fix co19 git URL in DEPS 2019-01-17 21:28:38 +00:00
LICENSE
PATENTS
PRESUBMIT.py [vm] Decouple growable_array.h and zone.h from thread.h 2019-01-11 20:47:10 +00:00
README.dart-sdk
README.md
WATCHLISTS [vm/compiler] Add VM Compiler Team WATCHLIST 2018-11-23 10:24:02 +00:00

Dart

Dart is an open-source, scalable programming language, with robust libraries and runtimes, for building web, server, and mobile apps.

Using Dart

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.

Building Dart

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.

Contributing to Dart

The easiest way to contribute to Dart is to file issues.

You can also contribute patches, as described in Contributing.

License & patents

See LICENSE and PATENTS.