Find a file
Teagan Strickland 2e197ae4de [vm/compiler] Tweaks and additions to IL serializer/S-expressions.
* Add a new `SExpDouble` atom and change `SExpNumber` to `SExpInteger`.

* Allow for negative integers in deserialization.

* Add support for `LocalVariable`s and related instructions.

* Function objects are now represented by actual S-expressions generated
  with the new `FunctionToSExp` method. Previously, they were only represented
  by a symbol containing their canonical name.

* The top-level tag for a serialized flow graph is now `FlowGraph`, not
  `function`. This avoids confusion between serialized flow graphs and
  serialized function references. Similarly, the old `FunctionToSExp`
  method is now called `FlowGraphToSExp`.

* Made all SExpression* returning functions that take Object (or subclass)
  instances return nullptr if the passed in instance is the null object,
  except for ObjectToSExp, which returns the symbol `null`.

* Factored out creating tags for the different kind of block/function
  entry and also created an `Entries` section to the top-level `FlowGraph`
  form that contains function entry points similar to the `Constants` one
  instead of inlining entries as separate elements in the `FlowGraph` form.

* Additional extra information in verbose mode for some elements.

Bug: https://github.com/dart-lang/sdk/issues/36882
Change-Id: Iede3865ec64f81955a87fd57b10e74d49ee8414c
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/110917
Commit-Queue: Teagan Strickland <sstrickl@google.com>
Reviewed-by: Martin Kustermann <kustermann@google.com>
2019-07-31 11:52:44 +00:00
.github Update new issue template. 2019-04-30 18:14:21 +00:00
benchmarks [benchmarks/ffi] Add micro and macro benchmarks for dart:ffi 2019-07-19 14:59:57 +00:00
build Fixed some links 2019-07-01 16:21:41 +00:00
client Remove old annotated_steps buildbot scripts and dispatcher 2017-05-23 16:17:02 +02:00
docs Updated spec_parser such that it runs with ANTLR v4 2019-03-19 14:06:26 +00:00
pkg [kernel][nnbd] Keep declared nullability on type parameter types 2019-07-31 11:38:23 +00:00
runtime [vm/compiler] Tweaks and additions to IL serializer/S-expressions. 2019-07-31 11:52:44 +00:00
samples ffi example: android.md - fix example code 2019-07-14 23:10:15 +00:00
samples-dev Fixed some links 2019-07-01 16:21:41 +00:00
sdk Fix typo in bitwise and doc 2019-07-30 17:30:20 +00:00
tests [dart/vm] Fix bug in parallel move/register allocator 2019-07-30 20:42:05 +00:00
third_party Reland "[llvm] Add initial scaffolding" 2019-07-30 20:34:31 +00:00
tools [infra] Add script to publish results.json to Cloud Pub/Sub 2019-07-31 09:21:27 +00:00
utils [dartdevc] fix sdk source map paths 2019-07-15 16:11:04 +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 Reland "[llvm] Add initial scaffolding" 2019-07-30 20:34:31 +00:00
.gn Starting work on full GN build 2016-09-23 07:47:36 -07:00
.mailmap fix my name in .mailmap 2018-09-11 01:45:52 +00:00
.packages Reland "[ VM / Service ] Pulled in vm_service_drivers from its own repo." 2019-07-25 18:46:43 +00:00
.vpython [infra] Add .vpython spec to fix gsutil on the bots (#31065) 2018-10-11 15:11:35 +00:00
AUTHORS [ VM ] Updated splay-tree licenses, added V8 project authors to AUTHORS 2019-04-30 19:50:46 +00:00
BUILD.gn Reland "[llvm] Add initial scaffolding" 2019-07-30 20:34:31 +00:00
CHANGELOG.md linter 0.1.95 2019-07-24 16:55:33 +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
DEPS Reland "[llvm] Add initial scaffolding" 2019-07-30 20:34:31 +00:00
LICENSE Remove the Dromaeo and TodoMVC samples. 2016-01-11 13:09:26 -08:00
PATENTS Move LICENSE, AUTHORS, PATENTS into the dart directory. 2014-02-10 06:48:47 +00:00
PRESUBMIT.py Allow lints in status file tests and front_end 2019-06-25 17:45:12 +00:00
README.dart-sdk remove docgen from the sdk 2015-09-18 13:18:10 -07:00
README.md Fixed some links 2019-07-01 16:21:41 +00:00
WATCHLISTS [WATCHLISTS] Don't CC dart2js on tests/compiler/dartdevc_native. 2019-07-22 23:52:18 +00:00

Dart

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.

See LICENSE and PATENTS.

Using Dart

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

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