commit | f2dfe3a8be24db64c924541c2775ef496171c02b | [log] [tgz] |
---|---|---|
author | Clement Skau <cskau@google.com> | Fri Feb 26 06:46:36 2021 +0000 |
committer | commit-bot@chromium.org <commit-bot@chromium.org> | Fri Feb 26 06:46:36 2021 +0000 |
tree | 782ed93feb077a5f2cc109b4f60dfe5467001215 | |
parent | 8833cbed7d7021420e6a969eba48f006bb7050f4 [diff] |
[vm/debugger] Fixes async CollectAwaiterReturn() The async, off-stack part of DebuggerStackTrace::CollectAwaiterReturn's stack unwinding incorrectly looked on the stack instead of following the Closure's awaiter chain. This caused the async stack traces to be truncated and missing any async frames, in turn causing ShouldPauseOnException to incorrectly conclude no handler frame existing. This would affect any case where the exception handling was located around any except for the inner most awaiter. TEST=Added regression test to pause_on_unhandled_exceptions_catcherror_test Closes: https://github.com/dart-lang/sdk/issues/37953 Bug: https://github.com/dart-lang/sdk/issues/37953 Change-Id: I34a2b5ce3c7532032b2ef3dfbc2af7294d13a4c7 Cq-Do-Not-Cancel-Tryjobs: true Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/187405 Commit-Queue: Clement Skau <cskau@google.com> Reviewed-by: Daco Harkes <dacoharkes@google.com>
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 is free and open source.
See LICENSE and PATENT_GRANT.
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).
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.
The easiest way to contribute to Dart is to file issues.
You can also contribute patches, as described in Contributing.