Treat background finalization as another GC task so it won't run in parallel with the marker.

Prevents a race between the marker and finalizer when the handle is freed (fixes #27029).

Disallow creating weak handles for immediate objects. We don't distinguish these from free handles, so their callbacks are never run.

Don't report freed handles over the vm service.

R=asiva@google.com

Review URL: https://codereview.chromium.org/2281193002 .
7 files changed
tree: 7b6902048ba810f866f71d39f36f9b12e7739eba
  1. build/
  2. client/
  3. docs/
  4. pkg/
  5. runtime/
  6. samples/
  7. samples-dev/
  8. sdk/
  9. tests/
  10. third_party/
  11. tools/
  12. utils/
  13. .gitattributes
  14. .gitignore
  15. .mailmap
  16. AUTHORS
  17. CHANGELOG.md
  18. codereview.settings
  19. create_sdk.gyp
  20. dart.gyp
  21. DEPS
  22. LICENSE
  23. PATENTS
  24. PRESUBMIT.py
  25. README.dart-sdk
  26. README.md
  27. WATCHLISTS
README.md

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.