Find a file
Martin Kustermann c95714d069 [vm/concurrency] Add NoActiveIsolateScope to precompiler & bg compiler
With --enable-isolate-groups we will start sharing JITed code. The JITed
code - which will be executed by all isolates - should therefore not
depend on a particular isolate's state, flags or any other
isolate-specific information.

To avoid accidental bugs where the compiler starts using
isolate-specific information, we ensure the compiler runs without a
current isolate.

This CL doesn't add NoActiveIsolateScope because on unoptimized compiles
of natives, the compiler calls out to embedder for eager native
resolution of native functions. This API forces embedder to callback
into VM atm.

Issue https://github.com/dart-lang/sdk/issues/36097

TEST=Adds more checking.

Change-Id: I6c86674c010b74c15855652415706dbaa8749d33
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/183692
Commit-Queue: Martin Kustermann <kustermann@google.com>
Reviewed-by: Alexander Aprelev <aam@google.com>
2021-02-12 05:59:05 +00:00
.dart_tool Update to the latest markdown, an internal Cl has been prepared and 2021-02-09 18:42:42 +00:00
.github Remove obsolete dartfix build target and scripts 2020-11-13 09:18:36 +00:00
benchmarks Reland "[vm/ffi] Roll package:ffi to Allocator and Opaque" 2021-02-10 10:19:28 +00:00
build [build] Setup cross-build for ARM64 Mac; still doesn't link. 2021-02-09 23:59:18 +00:00
client
docs Minor fixes to breaking change process 2021-01-15 21:44:22 +00:00
pkg Async read as bytes 2021-02-12 01:28:05 +00:00
runtime [vm/concurrency] Add NoActiveIsolateScope to precompiler & bg compiler 2021-02-12 05:59:05 +00:00
samples [vm/ffi] Migrate package:ffi Utf8 and Utf16 uses 2021-02-11 13:13:32 +00:00
samples-dev/swarm Opt out some files from null safety. 2020-10-12 22:15:42 +00:00
samples_2 [vm/ffi] Migrate package:ffi Utf8 and Utf16 uses 2021-02-11 13:13:32 +00:00
sdk [vm/ffi] Add class to vm:ffi:struct-fields pragma 2021-02-11 18:09:05 +00:00
tests [vm/ffi] Migrate package:ffi Utf8 and Utf16 uses 2021-02-11 13:13:32 +00:00
third_party [SDK] Removes non-exiting tests from .status 2021-02-04 06:46:13 +00:00
tools [ddc] run web suite under ddc 2021-02-10 21:47:48 +00:00
utils Add support for --verbosity in bazel/kernel_worker 2021-02-02 15:25:44 +00:00
.clang-format
.gitattributes [web] rename suite dart2js -> web. 2021-02-04 23:11:32 +00:00
.gitconfig
.gitignore Adds a few more generated files to .gitignore. 2020-10-22 11:42:09 +00:00
.gn
.mailmap
.packages [dart2js] make js_runtime a proper package 2021-01-25 22:39:23 +00:00
.style.yapf Mass format python with yapf 2019-08-05 20:34:31 +00:00
.vpython [infra] Add .vpython spec to fix gsutil on the bots (#31065) 2018-10-11 15:11:35 +00:00
AUTHORS [runtime/vm] ARM64: Support unaligned memory accesses for regex. 2019-10-15 20:11:40 +00:00
BUILD.gn [vm/ffi] Fuchsia FFI testing package 2020-12-10 12:15:17 +00:00
CHANGELOG.md [sdk] Add placeholders for 2.13 changelog entries 2021-02-09 14:38:46 +00:00
codereview.settings
CONTRIBUTING.md Fix a number of outdated URLs across a number of markdown files 2020-05-29 09:23:45 +00:00
DEPS [vm/ffi] Roll package:ffi to 0.3.1-nullsafety.0 2021-02-11 13:13:32 +00:00
LICENSE Remove third_party licenses from LICENSE 2019-08-21 07:43:34 +00:00
PATENT_GRANT Rename patent file 2019-08-16 12:03:17 +00:00
PRESUBMIT.py Add gclient sync to package_config.json presubmit message 2021-02-12 01:44:47 +00:00
README.dart-sdk Add dart2native to sdk README 2020-01-20 09:32:58 +00:00
README.md Update README.md 2021-01-11 23:51:20 +00:00
sdk_args.gni [build] Automatically rebuild sdk_hash when the Git commit changes. 2020-07-09 21:12:15 +00:00
WATCHLISTS [web] rename suite dart2js -> web. 2021-02-04 23:11:32 +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.