54f44f2a18d9ca30034482447ec9b60d43f20583
Previously we could hit an assert when for instance "42 ~/ 0" was being optimized by the background compiler. The reason was that we assert that we're on the "mutator thread" when allocating memory (which is done as we're evaluating the code - and we're trying to evaluate it again because evaluating it gives an error, and errors aren't cached). However, to create a test for this it would be better if we could make it always crash, i.e. use something like ``` --optimization_counter_threshold=5 --no-background-compilation ``` to force an optimization, but still make it crash dispite the optimization happening in mutator thread (because of --no-background-compilation). This CL propagates if we're optimizing to the kernel builder, and in the constant builder further more asserts that we're not. Additionally it introduces a test that shows the crash and fixes it. Change-Id: Ic5412ec8b8a1dbc2ba323f0a02a51103a32fab5c Reviewed-on: https://dart-review.googlesource.com/11380 Commit-Queue: Jens Johansen <jensj@google.com> Reviewed-by: Vyacheslav Egorov <vegorov@google.com>
…
…
…
…
…
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
Description
Languages
Dart
84.6%
C++
13%
Python
0.7%
JavaScript
0.5%
HTML
0.4%
Other
0.5%