Find a file
Martin Kustermann 16ddc23a57 [VM/Compiler/AOT] Bare instructions 7: Trampolines for out-of-range calls
This CL adds support to the ImageWriter to write opaque blocks of
trampoline bytes

The AOT code relocator is adapted to allow limited range calls and
inserts trampolines if need be. The algorithm tries to minimize the
number of trampolines added, which for small applications will be 0.

The unconditional pc-relative calls have limited range:
  * on ARM (+/-32 MB)
  * on ARM64 (+/-128 MB)

To avoid verbose code for doubly-linked list, this CL adds double_list.h

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

Change-Id: I0354cf4b2dd58ed5de25d67fc818f0603a2ec501
Reviewed-on: https://dart-review.googlesource.com/c/89283
Commit-Queue: Martin Kustermann <kustermann@google.com>
Reviewed-by: Vyacheslav Egorov <vegorov@google.com>
2019-01-17 12:32:38 +00:00
.github Fix probot configuration to point to the "needs-info" label. 2018-12-20 21:26:57 +00:00
build [build] Enable mitigations for Cortex-A53 Erratum #843419 bug. 2019-01-15 16:50:33 +00:00
client
docs Create breaking-changes.md 2019-01-17 11:56:15 +00:00
pkg [vm/tools] Add pkg/vm/bin/compare_sizes.dart 2019-01-17 11:52:14 +00:00
runtime [VM/Compiler/AOT] Bare instructions 7: Trampolines for out-of-range calls 2019-01-17 12:32:38 +00:00
samples Revert "[gardening] mark sample_extension_test as error" 2018-12-10 19:37:33 +00:00
samples-dev fix some typos 2018-10-10 19:15:30 +00:00
sdk Revert "[vm] Enable timeline on Fuchsia even in product mode." 2019-01-17 00:39:39 +00:00
tests Track parameter use in invocations in MemberUsage 2019-01-17 08:48:48 +00:00
third_party Roll tcmalloc to e9ab4c53041ac62feefbbb076d326e9a77dd1567. 2018-12-13 02:20:03 +00:00
tools Remove --fast-startup flag support from testing scripts and status files 2019-01-16 11:32:44 +00:00
utils [dartdevc] remove unused dartdevk binary, fixes #35483 2019-01-04 17:19:52 +00:00
.clang-format
.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 [tools] repurpose generate_compile_commands.py to generate_idefiles.py 2019-01-04 09:05:23 +00:00
.gn
.mailmap fix my name in .mailmap 2018-09-11 01:45:52 +00:00
.packages Remove pkg:tuple from DEPS 2018-12-13 22:51:21 +00:00
.vpython [infra] Add .vpython spec to fix gsutil on the bots (#31065) 2018-10-11 15:11:35 +00:00
AUTHORS
BUILD.gn [VM] Remove 'corelib' and 'dart-io' sources generation into C++ arrays 2018-10-02 23:27:05 +00:00
CHANGELOG.md CHANGELOG entry for DEPRECATED_MEMBER_USE split 2019-01-16 18:46:54 +00:00
codereview.settings
CONTRIBUTING.md Change wiki link to follow contents moved. 2019-01-12 18:46:22 +00:00
dartdoc_options.yaml
DEPS [infra] Update checked in SDKs to 2.1.1-dev.1.0 2019-01-14 18:23:47 +00:00
LICENSE
PATENTS
PRESUBMIT.py [vm] Decouple growable_array.h and zone.h from thread.h 2019-01-11 20:47:10 +00:00
README.dart-sdk
README.md
WATCHLISTS [vm/compiler] Add VM Compiler Team WATCHLIST 2018-11-23 10:24:02 +00: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

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.

License & patents

See LICENSE and PATENTS.