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

Latest commit

alexmarkov and [vm/compiler] Remove redundant phis during canonicalization
It might be too late to remove redundant phis in EliminateDeadPhis
because EliminateDeadPhis runs after OptimizeBranches, and
OptimizeBranches may be able to eliminate more branches if redundant
phis are cleaned up.

This change moves elimination of redundant phis into canonicalization
pass which is repeated more frequently.

Fixes recent regressions on several micro-benchmarks after

Change-Id: Ib0148564615dbd0adb88e93b938ca9f3f59cabfd
Reviewed-by: Vyacheslav Egorov <>
Commit-Queue: Alexander Markov <>
Latest commit db063ea May 26, 2020


Type Name Latest commit message Commit time
Failed to load latest commit information.
.dart_tool [vm/ffi] Enable NNBD strong mode tests for dart:ffi May 18, 2020
.github Update new issue template. Apr 30, 2019
benchmarks [benchmark] Share BoringSSL between FfiBoringssl implementations. May 20, 2020
build [vm] Fix gcc build. May 4, 2020
client Remove old annotated_steps buildbot scripts and dispatcher May 23, 2017
docs Add doc explaining how language versioning and experiments work. Mar 10, 2020
pkg Migrator: Fix crash when target of extension method invocation has ty… May 26, 2020
runtime [vm/compiler] Remove redundant phis during canonicalization May 26, 2020
samples-dev/swarm Unittest is finally going the way of the dinosaurs. Mar 20, 2020
samples [vm/ffi] Rename members in NativeApi to not contain nativeApi Mar 4, 2020
sdk [vm/ffi] Remove documentation from setters May 21, 2020
sdk_nnbd [vm/ffi] Remove documentation from setters May 21, 2020
tests [vm] Fix crash in disassembler on trampolines May 26, 2020
third_party Roll dart_style to 1.3.6. Apr 24, 2020
tools [infra] Bump chrome to 81.0.4044.138 May 21, 2020
utils [ddc] Delete dartdevc_test_kernel_local target May 19, 2020
.clang-format VM: Re-format to use at most one newline between functions Jul 13, 2017
.gitattributes [test] Fork mirrors tests. Jan 22, 2020
.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 Remove references to removed tools/gardening May 12, 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 [ VM / DartDev ] Updated build rules for DartDev and exposed create_p… May 12, 2020 [release] Add release notes for 2.8.3 to the changelog May 26, 2020 [doc] Update links to Apr 7, 2020
DEPS linter 0.1.116 May 25, 2020
LICENSE Remove third_party licenses from LICENSE Aug 21, 2019
PATENT_GRANT Rename patent file Aug 16, 2019 [presubmit] Add presubmit check for valid test matrix May 12, 2020
README.dart-sdk Add dart2native to sdk README Jan 20, 2020 chore: update contributing link in readme Mar 18, 2020
WATCHLISTS [web] change watchlists to cc team emails instead of individuals May 14, 2020
codereview.settings Update codereview.settings to Gerrit ( Sep 4, 2017
sdk_args.gni [BUILD] - Initial CL to unfork the NNBD Dart SDK May 7, 2020


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's 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.