Skip to content
The Dart SDK, including the VM, dart2js, core libraries, and more.
Dart C++ Python HTML Java TeX Other
Branch: master
Clone or download
alexmarkov and [vm/aot/tfa] Take control flow into account when building data flow s…

This change introduces tracking of variable values with respect to
control flow (e.g. uses consume only reaching definitions).

flutter_gallery in release mode:
  instructions size: arm -0.42%, arm64 -0.48%
  total size: arm -0.43%, arm64 -0.45%

velocity_tracker_bench in release mode:
  instructions size: arm -1.22%, arm64 -1.53%
  total size: arm -1.23%, arm64 -1.37%

NavierStokes in AOT mode +135% (x64)

Closes #37636

Change-Id: I54d4887d57b2722b77ca98df3637f56d0f452144
Commit-Queue: Alexander Markov <>
Reviewed-by: Martin Kustermann <>
Reviewed-by: Samir Jindel <>
Latest commit a512d69 Jan 21, 2020
Type Name Latest commit message Commit time
Failed to load latest commit information.
.github Update new issue template. Apr 30, 2019
benchmarks List copy benchmark Jan 14, 2020
build [vm] Enable Dart VM to run in QEMU user-mode emulation for ARM. Nov 18, 2019
client Remove old annotated_steps buildbot scripts and dispatcher May 23, 2017
docs Update Jan 6, 2020
pkg [vm/aot/tfa] Take control flow into account when building data flow s… Jan 21, 2020
runtime Replace fuchsia.deprecatedtimezone Jan 21, 2020
samples-dev Mass format python with yapf Aug 5, 2019
samples [vm/ffi] Test alignment of small stack arguments Jan 14, 2020
sdk Include [AssertionError.message] in [AssertionError.toString] value. Jan 21, 2020
sdk_nnbd Include [AssertionError.message] in [AssertionError.toString] value. Jan 21, 2020
tests [vm/ffi] Enable tests on CFE Jan 21, 2020
third_party [vm] Remove deprecated (and untested) ARMv5 support from the VM Oct 23, 2019
tools [infra] Send only 100 changed test results to Firestore at once Jan 21, 2020
utils Updates frontend_server javascript bundler to be based on import uri … Jan 21, 2020
.clang-format VM: Re-format to use at most one newline between functions Jul 13, 2017
.gitattributes Move files under language_2 into subdirectories. Dec 11, 2019
.gitconfig [infra] Add documentation to .gitconfig Jun 11, 2018
.gitignore Cleanup- remove the Dart Editor directories from the .gitignore file Jan 10, 2020
.gn Starting work on full GN build Sep 23, 2016
.mailmap fix my name in .mailmap Sep 11, 2018
.packages Initial and intentionally minimal pkg/dartdev/ package.  This include… Jan 21, 2020
.style.yapf Mass format python with yapf Aug 5, 2019
.vpython [infra] Add .vpython spec to fix gsutil on the bots (#31065) Oct 11, 2018
AUTHORS [runtime/vm] ARM64: Support unaligned memory accesses for regex. Oct 15, 2019 Add a script and target to run dartfix Oct 14, 2019 Bump pub revision in DEPS Jan 16, 2020 Link from CONTRIBUTING to the code of conduct. Jan 10, 2020
DEPS Bump pub revision in DEPS Jan 16, 2020
LICENSE Remove third_party licenses from LICENSE Aug 21, 2019
PATENT_GRANT Rename patent file Aug 16, 2019 Add some minimal presubmit checks to keep forked SDK tests in sync. Jan 16, 2020
README.dart-sdk Add dart2native to sdk README Jan 20, 2020 Update Aug 16, 2019
WATCHLISTS Auto-CC dart2js on changes to the js_runtime sdk. Sep 12, 2019
codereview.settings Update codereview.settings to Gerrit ( Sep 4, 2017
sdk_args.gni Support building under git-worktree Dec 19, 2019


A client-optimized language for fast apps on any platform

Dart is:

  • Optimized for UI: Develop with a programming language specialized around the needs of user interface creation

  • Productive: Make changes iteratively: use hot reload to see the result instantly in your running app

  • Fast on all platforms: Compile to ARM & x64 machine code for mobile, desktop, and backend. Or compile to JavaScript for the web

Dart has flexible compiler technology lets you run Dart code in different ways, depending on your target platform and goals:

  • Dart Native: For programs targeting devices (mobile, desktop, server, and more), Dart Native includes both a Dart VM with JIT (just-in-time) compilation and an AOT (ahead-of-time) compiler for producing machine code.

  • Dart Web: For programs targeting the web, Dart Web includes both a development time compiler (dartdevc) and a production time compiler (dart2js).

Dart platforms illustration

License & patents

Dart is free and open source.


Using Dart

Visit the to learn more about the language, tools, getting started, and more.

Browse 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.

You can’t perform that action at this time.