dart-sdk/pkg/vm
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
..
bin [CFE] Remove support for .packages file 2022-06-24 08:20:39 +00:00
lib 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
test 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
testcases/transformations [vm] New implementation of sync* based on suspend/resume stubs 2022-06-27 18:19:12 +00:00
tool [vm/infra] Improve IL testing framework 2021-11-16 12:39:11 +00:00
analysis_options.yaml [cfe/ffi] Implement Finalizable 2022-02-05 11:54:59 +00:00
LICENSE Update LICENSE 2021-04-07 10:28:38 +00:00
OWNERS [infra] Add OWNERS to the Dart SDK 2022-02-14 14:06:34 +00:00
pubspec.yaml [pkg] prefer 'any' deps for package dev dependencies 2022-05-27 01:34:59 +00:00
README.md

This package hosts VM specific Dart code and helper scripts.