Fix issue with --unsafe-package-serialization --unsafe-package-serialization saves the frontend_server from having to re-serialize everything all the time. Before this CL, though, things could go wrong: If you had a situation where you had previously compiled a file that depend on a package A, and where (some of) package A depends on package B this would happen: - All of package A was serialized together. - All of package B was serialized together. When later, you compile something that depend less on package A - namely on only on parts that does not depend on package B, but is included in the previously serialized package A, the following would happen: - The new (non-package) libraries would be serialized. - Package A serialization would be reused. This is basically fine: Running the app would be fine, everything it actually depend on is there. However, if the VM is forced to compile everything it now also compiles stuff that was included - but really unused - from package A - namely also the libraries that depend on package B --- which is not included. This CL changes the last part by also including package B. The result is that even more unused libraries are included, but that the VM can survive a forceful compile. Note that the --unsafe-package-serialization is only used for tests, so the "including even more unused" part is probably not a big deal, and all in all there's still a big speed advantage to doing this. Change-Id: Iac06ba6f40c2caaacce641c5853e9491496dce53 Reviewed-on: https://dart-review.googlesource.com/c/78541 Reviewed-by: Vyacheslav Egorov <vegorov@google.com> Commit-Queue: Jens Johansen <jensj@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.