441a59f3e2
Being the target of a redirecting factory means there is one more way to create instances of your type. So, we need to record them. For redirecting factories we actually have a fair bit of info, everything can be statically resolved. So we don't need to record redirections like tearoffs, we can actually record them like direct calls to the constructor or even as consts instances for const redirecting factories. Note: This CL doesn't added redirecting factory tearoffs. Bug: https://github.com/dart-lang/native/issues/2907 TEST=pkg/compiler/test/record_use/record_use_test.dart TEST=pkg/dart2wasm/test/record_use_test.dart TEST=pkg/vm/test/transformations/record_use_test.dart Change-Id: I1be30dda19137d68076b6d36a17287dc068774f1 Cq-Include-Trybots: luci.dart.try:dart2wasm-asserts-linux-chrome-try,dart2wasm-asserts-minified-linux-d8-try,dart2wasm-linux-chrome-try,dart2wasm-linux-d8-try,dart2wasm-linux-firefox-try,dart2wasm-linux-jscm-chrome-try,dart2wasm-linux-optimized-jsc-try,pkg-linux-debug-try,pkg-linux-release-arm64-try,pkg-linux-release-try,pkg-mac-release-arm64-try,pkg-mac-release-try,pkg-win-release-arm64-try,pkg-win-release-try,dart2js-canary-linux-try,dart2js-hostasserts-linux-d8-try,dart2js-linux-chrome-try,dart2js-linux-firefox-try,dart2js-mac-chrome-try,dart2js-mac-safari-try,dart2js-minified-csp-linux-chrome-try,dart2js-minified-linux-d8-try,dart2js-unit-linux-x64-release-try,dart2js-win-chrome-try Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/483801 Reviewed-by: Nate Biggs <natebiggs@google.com> Reviewed-by: Johnni Winther <johnniwinther@google.com>
This package hosts VM specific Dart code and helper scripts.