Find a file
Ryan Macnak 271483911f Emit switchable instance calls when we don't know the complete set of receiver classes for a call site.
A switchable call in the monomorphic state is now basically the same cost as a test and call, so this is as performant without ht code size cost of the slow path megemorphic call.

Flutter gallery before:
VMIsolate(CodeSize): 114052
Isolate(CodeSize): 2250283
ReadOnlyData(CodeSize): 1744760
Instructions(CodeSize): 5679488
Total(CodeSize): 9788583

After:
VMIsolate(CodeSize): 114085
Isolate(CodeSize): 2047224
ReadOnlyData(CodeSize): 1666808
Instructions(CodeSize): 5405424 -4.8%
Total(CodeSize): 9233541  -5.6%

R=fschneider@google.com

Review URL: https://codereview.chromium.org/2376893003 .
2016-09-30 17:34:39 -07:00
build Enable GN build on Mac. 2016-09-29 14:09:40 -07:00
client Switch over testing pub seperately from the the normal packages 2015-06-09 08:12:51 +02:00
docs/language Add documentation to the mixin superclass requirement description. 2016-09-29 10:24:35 +02:00
pkg roll dart2js_info to 0.3.0 2016-09-30 16:02:55 -07:00
runtime Emit switchable instance calls when we don't know the complete set of receiver classes for a call site. 2016-09-30 17:34:39 -07:00
samples Delete dart_backend from compiler. 2016-08-04 15:57:04 -07:00
samples-dev Untested hacks to swarm to avoid warnings. 2016-07-26 15:24:36 -07:00
sdk Revert "Add native_testing library to mock @Native classes" 2016-09-30 13:27:09 -07:00
tests Revert "Add native_testing library to mock @Native classes" 2016-09-30 13:27:09 -07:00
third_party Update markdown and dartdoc in DEPS, remove petitparser 2016-09-30 21:48:54 +02:00
tools roll dart2js_info to 0.3.0 2016-09-30 16:02:55 -07:00
utils Linux create_sdk GN build for host 2016-09-29 13:23:00 -07:00
.gitattributes use pkg/dev_compiler in the build 2016-08-31 18:05:17 -07:00
.gitignore Use checked-in .package file for building and testing 2016-09-16 15:03:18 +02:00
.gn Starting work on full GN build 2016-09-23 07:47:36 -07:00
.mailmap
.packages Use checked-in .package file for building and testing 2016-09-16 15:03:18 +02:00
.travis.yml Use .packages instead of pubspec.yaml 2016-09-28 09:49:31 -07:00
AUTHORS Add Cristian Almstrand to AUTHORS 2015-07-16 09:51:56 -07:00
BUILD.gn Linux create_sdk GN build for host 2016-09-29 13:23:00 -07:00
CHANGELOG.md Start working on version 1.21 2016-09-30 11:49:21 +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 Delete dart_backend from compiler. 2016-08-04 15:57:04 -07:00
dart.gyp Remove package root target and support scripts 2016-09-20 13:32:50 +02:00
DEPS roll dart2js_info to 0.3.0 2016-09-30 16:02:55 -07:00
LICENSE Remove the Dromaeo and TodoMVC samples. 2016-01-11 13:09:26 -08:00
PATENTS
PRESUBMIT.py
README.dart-sdk remove docgen from the sdk 2015-09-18 13:18:10 -07:00
README.md Links to how to get the source and build it. 2015-08-05 08:05:07 -07:00
WATCHLISTS Remove tools directory from WATCHLISTS 2016-02-16 14:30:06 +01: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

Learn how to get the source and prepare your machine to build the SDK.

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

See LICENSE.