commit | 41c5da8919e74855a8bd247ffe717f21f55da18c | [log] [tgz] |
---|---|---|
author | Samir Jindel <sjindel@google.com> | Thu May 31 18:36:46 2018 +0000 |
committer | commit-bot@chromium.org <commit-bot@chromium.org> | Thu May 31 18:36:46 2018 +0000 |
tree | 07c376c9bf7f2efb460af9a175afff26223c04f9 | |
parent | e8659b0f288c4a76499eaca6742f08bcb5c1a4b8 [diff] |
[vm] Fix non-reproducibility of VM builds. We recently removed two kind bits from `Function` to free up space for other bits. This left two bits in `RawFunction::kind_tag_` unused and no longer deterministically initialized. This caused `Function` objects saved in the snapshot within the `.rodata` section of the `dart` binary to be serialized with a non-deterministic kind tag. We now zero-initialize the kind tag. # Test Plan I built the `runtime` target (which includes `dart`) 10 times locally and received the same SHA256 hash for `dart` each time. Change-Id: Ib0de4b4b040e26a92a1ba3364460bcec0f665789 Reviewed-on: https://dart-review.googlesource.com/57624 Commit-Queue: Samir Jindel <sjindel@google.com> Reviewed-by: Vyacheslav Egorov <vegorov@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.