dart-sdk/pkg/vm/lib
Ryan Macnak 93a4247af3 Reapply "Account for @pragma("vm:entry-point") creating additional "root" libraries when partitioning the program into loading units."
Weaken assertion in gen_snapshot requiring all libraries to have a loading unit as there can still be unreachable libraries:
  - Google3 and Fuchsia will compile all the sources in a package to a single dill file, then present multiple input dill files to the AOT compilation. Since the set of libraries was derived from package membership instead of imports, many can be unreachable.
  - When the root library's main comes from an export, the frontend's representation will incorrectly report the library containing main as the root library and the true root library may be unreachable from it.

Instead, assert only that surviving compiled code is assigned a loading unit.

TEST=gallery
Bug: https://github.com/flutter/gallery/issues/545
Bug: https://github.com/dart-lang/sdk/issues/49325
Bug: https://github.com/dart-lang/sdk/issues/41974
Bug: b/237016312
Change-Id: Ia52563a6f517308d041368be11dcc85270f19acc
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/249724
Commit-Queue: Ryan Macnak <rmacnak@google.com>
Reviewed-by: Alexander Markov <alexmarkov@google.com>
2022-06-27 18:56:12 +00:00
..
metadata [cfe] Support extraneous references in serialization 2022-06-17 11:52:39 +00:00
target [vm] New implementation of sync* based on suspend/resume stubs 2022-06-27 18:19:12 +00:00
testing [vm] Fix issues with flutter_regress_91370_il_test 2021-11-17 12:12:31 +00:00
transformations Reapply "Account for @pragma("vm:entry-point") creating additional "root" libraries when partitioning the program into loading units." 2022-06-27 18:56:12 +00:00
dominators.dart Migrate pkg/vm to null safety, part 2 2021-07-22 17:30:49 +00:00
http_filesystem.dart Replace Uri.scheme == with Uri.isScheme 2022-02-08 21:38:57 +00:00
incremental_compiler.dart Replace Uri.scheme == with Uri.isScheme 2022-02-08 21:38:57 +00:00
kernel_front_end.dart Reapply "Account for @pragma("vm:entry-point") creating additional "root" libraries when partitioning the program into loading units." 2022-06-27 18:56:12 +00:00