commit | a6f4b8d8799ccdff549dad1aa7b52d36bc5c10f1 | [log] [tgz] |
---|---|---|
author | Aart Bik <ajcbik@google.com> | Thu Oct 04 23:10:45 2018 +0000 |
committer | commit-bot@chromium.org <commit-bot@chromium.org> | Thu Oct 04 23:10:45 2018 +0000 |
tree | 92c16b66498f48e303b39c39aa49b80ef89d4bde | |
parent | 3dcb5d13fd7ec3f11c5b57c0bef001067cf1a77f [diff] |
[vm/compiler] Fix crashes in AOT X64 DEBUG compiler. Rationale: The method ConstructReplacementFor() in range analysis would unconditionally replace an UnaryInt64Op with an UnaryUint32Op, regardless of whether it contains an NEGATE or NOT. None of the backends supports a NEGATE UnaryUint32Op, however (I added a missing assert to X64 for the future, even though we currently found the issue in the constructor already). Note that alternatively we could implement NEGATE UnaryUint32Op for all platforms. Note: A similar issue was found for TRUNCDIV with a second fuzz test, which is fixed in same CL with a more general approach. Bug: https://github.com/dart-lang/sdk/issues/34678 https://github.com/dart-lang/sdk/issues/34679 Change-Id: I370268620008e5d4cb605c0bd11e423d8fcd5327 Reviewed-on: https://dart-review.googlesource.com/c/78148 Reviewed-by: Alexander Markov <alexmarkov@google.com> Commit-Queue: Aart Bik <ajcbik@google.com>
Dart is an open-source, scalable programming language, with robust libraries and runtimes, for building web, server, and mobile apps.
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.
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.