Go to file
Martin Kustermann d822f36f15 VM: Fix memory leak during shutdown
The way runtime/platform/hashmap.h:HashMap was implemented so far did not allow
deleting elements while iterating over the map. If one iterated like this

  HashMap::Entry* cursor = map.Start();
  while (cursor != NULL) {
    if (cond) {
      map.Remove(cursor->key, cursor->hash);
    }
    cursor = map.Next(cursor);
  }

Then the iteration `cursor` will skip elements. This is due to the fact that
`HashMap::Remove()` is left-rotating elements in certain cases and
`HashMap::Next()` will unconditionally advance to the next position in the
backing store.

PROBLEM IS: There was existing code which did remove elements while iterating
over a HashMap.

R=fschneider@google.com

Review URL: https://codereview.chromium.org/2533303005 .
2016-11-30 23:52:04 +01:00
build Make gn_run_binary.py do the right thing for compiled_action 2016-11-11 08:29:51 -08:00
client Switch over testing pub seperately from the the normal packages 2015-06-09 08:12:51 +02:00
docs/language Add message to assert in specification. 2016-11-28 09:19:28 +01:00
pkg Extract 'computeMissingOverrides' in ErrorVerifier. 2016-11-30 14:04:43 -08:00
runtime VM: Fix memory leak during shutdown 2016-11-30 23:52:04 +01:00
samples Fix app snapshots on IA32 Windows. 2016-11-22 09:20:51 -08:00
samples-dev Untested hacks to swarm to avoid warnings. 2016-07-26 15:24:36 -07:00
sdk Make EfficientLength extend Iterable. 2016-11-28 08:04:04 +01:00
tests Update status for dart_style package and dom/shadowroot co19 windows. 2016-11-30 16:52:17 +01:00
third_party Clean up the licensing situation of the third_party/tcmalloc directory (#27879) 2016-11-24 09:37:21 +01:00
tools Support --strong when running dartk from test.py. 2016-11-30 08:25:53 +01:00
utils When building app snapshots for the SDK, train dart2js on itself. 2016-11-16 09:10:22 -08:00
.clang-format Add .clang-format and run clang-format on runtime/platform. 2016-11-03 14:25:16 -07:00
.gitattributes Adjust line endings setting in .gitattributes 2016-11-09 09:23:21 -08:00
.gitignore Ignore CMakeLists.txt 2016-10-07 15:38:08 -07:00
.gn Starting work on full GN build 2016-09-23 07:47:36 -07:00
.mailmap Add .mailmap file. 2015-05-18 19:33:16 +02:00
.packages Complete merge of kernel repo into SDK. 2016-11-23 12:46:29 +01:00
.travis.yml Allow canary to fail for DDC tests 2016-11-17 12:57:21 -08:00
AUTHORS Add Cristian Almstrand to AUTHORS 2015-07-16 09:51:56 -07:00
BUILD.gn Reland "Merge more Kernel infrastructure from kernel_sdk SDK fork." 2016-10-27 10:09:22 +02:00
CHANGELOG.md Added CHANGELOG.md entry on syntax-only generic methods. 2016-11-30 13:36:02 +01: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 Add dependency for 'process_test' from 'runtime_precompiled'. 2016-11-14 10:14:04 -08:00
DEPS Update dart_style to 0.2.12. 2016-11-29 15:51:17 -08: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 Remove presubmit suppression. 2013-08-21 11:02:39 +00:00
README.dart-sdk remove docgen from the sdk 2015-09-18 13:18:10 -07:00
README.md Correct link for front page readme (!). 2016-11-28 14:57:50 -08: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.