Find a file
Vyacheslav Egorov 20a0e75ef8 VM: Constant fold more loads from constants in the optimizer.
We have limited support for folding away length loads from constant
arrays and strings. However we were not folding away loads in code
like:

    enum E { V }

    isV(flags) => (flags & (1 << E.V.index)) != 0;

Here we would emit load index and shift for mask computation
instead of simply emitting 1.

This change fixes the oversight by enabling folding away loads
of final fields from constants.

This relands the original commit 746ab58f46
with a fix for precompiler crashes: ArgumentError.value constructor is
added to the precompiler roots.

TBR=erikcorry@google.com

Review-Url: https://codereview.chromium.org/2897803002 .
2017-05-21 19:45:38 +02:00
build [infra] Assembles the SDK using GN rather than create_sdk.py 2017-05-20 23:30:09 -07:00
client Remove idea meta-data (follow up from https://codereview.chromium.org/2878103002). 2017-05-14 07:54:19 -07:00
docs/language Adjusted initializer rules, changing a run-time error to compile-time. 2017-05-19 14:22:35 +02:00
pkg Handle FutureOr type when inferring async closures. 2017-05-20 20:16:59 -07:00
runtime VM: Constant fold more loads from constants in the optimizer. 2017-05-21 19:45:38 +02:00
samples Format samples and samples-dev directories. 2017-04-19 07:30:17 -07:00
samples-dev Fix swarm for non-integer Event timeStamps 2017-05-10 12:48:39 -07:00
sdk [infra] Assembles the SDK using GN rather than create_sdk.py 2017-05-20 23:30:09 -07:00
tests Update status files. 2017-05-19 13:40:46 +02:00
third_party [infra] Fixes for cross-toolchains 2017-04-06 15:03:26 -07:00
tools [infra] Assembles the SDK using GN rather than create_sdk.py 2017-05-20 23:30:09 -07:00
utils Ship dart2js output for dev_compiler/web in the sdk. 2017-05-19 13:21:53 -07:00
.clang-format Add .clang-format and run clang-format on runtime/platform. 2016-11-03 14:25:16 -07:00
.gitattributes Restore line endings of files that should be CRLF. 2016-12-09 11:09:55 -08:00
.gitignore Git ignore vscode project files. 2017-03-23 15:26:06 -07:00
.gn Starting work on full GN build 2016-09-23 07:47:36 -07:00
.mailmap Add .mailmap file. 2015-05-18 19:33:16 +02:00
.packages Add support for the new function-type syntax. 2017-02-23 13:36:28 +01:00
.travis.yml Allow canary to timeout 2017-05-02 10:02:51 -07:00
AUTHORS Add Cristian Almstrand to AUTHORS 2015-07-16 09:51:56 -07:00
BUILD.gn [infra] Assembles the SDK using GN rather than create_sdk.py 2017-05-20 23:30:09 -07:00
CHANGELOG.md Announced #28939 (void f() => e allows an e of any type) in changelog 2017-05-18 17:12:46 +02:00
codereview.settings Remove trailing slash in codereview.settings to fix review url double slash 2015-10-01 07:27:13 -07:00
create_sdk.gyp Make list_files.py and list_dart_files.py return absolute paths for GN 2016-12-13 10:01:28 -08:00
dart.gyp Remove dart_noopt and related parts from the VM. 2017-01-11 16:55:55 -08:00
DEPS Update async package to include fix for Stream changes 2017-05-18 14:35:19 -07:00
LICENSE Remove the Dromaeo and TodoMVC samples. 2016-01-11 13:09:26 -08:00
PATENTS
PRESUBMIT.py Print the correct path to dartfmt in the presubmit error message. 2017-04-04 16:13:31 -07:00
README.dart-sdk remove docgen from the sdk 2015-09-18 13:18:10 -07:00
README.md [gardening] Whitespace change to trigger bots. 2017-04-28 10:08:58 -07:00
WATCHLISTS Remove johnmccutchan from observatory watchlist 2017-05-19 07:56:54 -07: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.