Find a file
Aske Simon Christensen f053d2170d [dart2wasm] Put function types of imports in singleton rec groups
Starting from ba6be821c99db09b0ef2689dea8f0cb863c47ff5 (11.0.194), V8
enforces type equivalence according to the canonical iso-recursive
types for functions imported from other modules or constructed using
`WebAssembly.Function`, which means that to match such a type, a
function type declared in a Wasm module must be declared in a
singleton rec group.

To be compatible with this new canonicalization scheme, we define the
function types for all imported functions each in their own rec group
separately from other types.

Change-Id: I166b4b7d1c8fa48638f816f874f737536a61f15d
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/274388
Commit-Queue: Aske Simon Christensen <askesc@google.com>
Reviewed-by: Joshua Litt <joshualitt@google.com>
2022-12-13 20:43:22 +00:00
.dart_tool [infra] re-land work to auto-generate .dart_tool/package_config.json 2022-04-12 17:21:02 +00:00
.github [infra] update the scorecards-analysis.yml file 2022-11-17 19:52:57 +00:00
benchmarks [benchmarks] Add benchmark for lists/maps/sets of records 2022-12-13 19:38:56 +00:00
build [vm] Avoid using -fno-exceptions globally in GN builds. 2022-11-18 09:42:48 +00:00
docs Add a link to the announce group 2022-07-21 09:45:06 +00:00
pkg [dart2wasm] Put function types of imports in singleton rec groups 2022-12-13 20:43:22 +00:00
runtime [vm/aot] Fix ProgramElementKeyValueTrait::Hash. 2022-12-13 19:46:41 +00:00
samples Fix grammar 2022-11-21 20:07:29 +00:00
sdk [ VM Service / DDS ] Add custom service stream support (Revised) 2022-12-13 16:31:37 +00:00
tests [tests] Allow using classes as mixins within the same library and update a few language tests. 2022-12-13 18:29:58 +00:00
third_party [dart2wasm] Remove unnecessary rebase_path when running list_sources.py 2022-11-19 22:53:26 +00:00
tools Update Dart.g to match the current pattern feature spec 2022-12-13 12:56:01 +00:00
utils Revert "[VM/CLI] Remove dartdev.dill" 2022-12-13 15:28:19 +00:00
.clang-format
.gitattributes
.gitconfig
.gitignore [test_runner] Create --write-logs dir, add default dir to .gitignore 2022-11-15 09:59:08 +00:00
.gn
.mailmap Fixed various typos in a lot of files 2022-07-25 12:21:59 +00:00
.style.yapf
.vpython
AUTHORS Simplify the license situation 2022-09-14 21:06:22 +00:00
BUILD.gn [dart2wasm] Add building binaryen as part of our GN build 2022-11-18 10:58:54 +00:00
CHANGELOG.md [3.0 alpha] Add onError removal to changelog. 2022-12-12 11:51:35 +00:00
codereview.settings
CONTRIBUTING.md Add more details to contributing docs 2022-03-16 07:56:58 +00:00
DEPS Bump intl to 234b291aee7c23c9ffc9748fd6532d37553f609b 2022-12-13 17:35:05 +00:00
LICENSE
OWNERS [owners] update the top-level owners file 2022-11-11 21:03:52 +00:00
PATENT_GRANT
PRESUBMIT.py Make presubmit on Dart files check for default value separator. 2022-09-09 12:34:34 +00:00
README.dart-sdk Updates to analyze_snapshot tool 2022-08-23 12:18:00 +00:00
README.md
sdk_args.gni Fix typos 2022-06-15 11:08:28 +00:00
SECURITY.md
WATCHLISTS [dart2wasm] Update WATCHLISTS for dart2wasm-team@. 2022-11-10 17:00:40 +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'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.

See LICENSE and PATENT_GRANT.

Using Dart

Visit dart.dev to learn more about the language, tools, and to find codelabs.

Browse pub.dev for more packages and libraries contributed by the community and the Dart team.

Our API reference documentation is published at api.dart.dev, based on the stable release. (We also publish docs from our beta and dev channels, as well as from the primary development branch).

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.