Commit Graph

79322 Commits

Author SHA1 Message Date
Sam Rawlins 78121c713e dev_compiler: Remove unused imports
Bug: https://github.com/dart-lang/sdk/issues/44569
Change-Id: I3fe1093fbd0a01e1dc5e99750c4c7e9441c3d056
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/192610
Reviewed-by: Nicholas Shahan <nshahan@google.com>
Commit-Queue: Samuel Rawlins <srawlins@google.com>
2021-03-23 20:13:13 +00:00
Sam Rawlins 6e63b8b8b8 analyzer: ErrorFilterOptionValidator improvements
* error codes are static and final; no need for a public getter
* lint codes are `late final` because they may be registered up until the
  options are validated; the field is lazily calculated at such time.

Change-Id: I8d9c1e9ab4d69be77be49b44f62e605c3f06fd2e
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/192561
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
Commit-Queue: Samuel Rawlins <srawlins@google.com>
2021-03-23 20:07:41 +00:00
Ben Konyi 19b67901f2 [ VM ] Add missing locks in timeline recorder cleanup
Fixes https://github.com/flutter/flutter/issues/78076

Reverts commits ddcb60a3d9 and 3ecbfd927f.

TEST=runtime/vm/timeline_test.cc

Change-Id: I5eeb66e01a1a1b842edf9183fa876fc97e992398
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/192500
Reviewed-by: Siva Annamalai <asiva@google.com>
Commit-Queue: Siva Annamalai <asiva@google.com>
Auto-Submit: Ben Konyi <bkonyi@google.com>
2021-03-23 20:05:11 +00:00
Sam Rawlins d693078bbf Analyzer: new diagnostic: UNNECESSARY_QUESTION_MARK
`null` is already a valid value of `dynamic` and `Null`, so adding a question
mark to make `dynamic?` or `Null?` is unnecessary, and could lead to confusion.

Fixes https://github.com/dart-lang/sdk/issues/45165

Change-Id: I710ff12935767dd635edfdb026033aa8e27e7804
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/190041
Commit-Queue: Samuel Rawlins <srawlins@google.com>
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
2021-03-23 19:55:11 +00:00
Konstantin Shcheglov e8d7058f16 Include debug data for state error in ResolvedLibraryResultImpl
Bug: https://github.com/dart-lang/sdk/issues/45430
Change-Id: If1f75ac54dc73fa8b0fe6fc0666acd48b3ff1357
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/192761
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
2021-03-23 19:28:01 +00:00
Konstantin Shcheglov 85f460594b Include debug data for NPE in _ContextTypeVisitor
Bug: https://github.com/dart-lang/sdk/issues/45429
Change-Id: Ibb8a72666eaa7af16a4bb173526f16c7bab14c1c
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/192760
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
2021-03-23 18:57:01 +00:00
Brian Wilkerson bd19cbf1d2 Add a json format to the dart analyze command
Change-Id: I5667d845d305fa087934f73fbf09cc9b166c8461
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/192240
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com>
Reviewed-by: Devon Carew <devoncarew@google.com>
Reviewed-by: Ben Konyi <bkonyi@google.com>
2021-03-23 18:21:51 +00:00
Sigurd Meldgaard 2178411b06 Bump package:usage version
New commits:

```
> git log --format="%C(auto) %h %s" 6c64d9e7b6b3758d06d030efcb5afe20bfc04dde..HEAD
 5b7317b Force close the http-client on IOAnalytics.close() (#155)
 21e6d3c publishing a null safe stable release (#153)
```

Bug: https://github.com/dart-lang/sdk/issues/45235
Change-Id: I47d6119cdeb8210db2207a9247a5f38e0c1841dd
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/192686
Reviewed-by: Jonas Jensen <jonasfj@google.com>
Reviewed-by: Devon Carew <devoncarew@google.com>
Commit-Queue: Sigurd Meldgaard <sigurdm@google.com>
2021-03-23 16:06:26 +00:00
Stephen Adams 20bdf38514 [dart2js] Fix variable allocator live-range bug
The controlling condition of a control-flow operator (?:, &&, ||)
needs to have the same live range as the other operands.

Change-Id: Iee999a1b400ef35ccbb761fcd7266952c9a95be9
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/192605
Reviewed-by: Mayank Patke <fishythefish@google.com>
Commit-Queue: Stephen Adams <sra@google.com>
2021-03-23 15:38:36 +00:00
Stephen Adams 93313bf12d [dart2js] Fix stack overflow on optimizing '%'
The back-edge test failed to take into account that a block can have a
back-edge to itself.

Fixed: 45413
Change-Id: Ib623e6baa2c1de6df131fc67462978a042df5a4e
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/192606
Reviewed-by: Mayank Patke <fishythefish@google.com>
Commit-Queue: Stephen Adams <sra@google.com>
2021-03-23 15:37:46 +00:00
Sam Rawlins 07bb38c8c6 analyzer: Report INVALID_SECTION_FORMAT in 4 more places
* Invalid section (not a Map) under `analyzer: errors:`
* Invalid value (not a Scalar) under `analyzer: errors:`
* Invalid section (not a Map) under `analyzer: strong-mode:`
* Invalid section (not a Map) under `analyzer: optional-checks:`

Change-Id: Iad0b33d312f65af8a995677fe4e57389fea520c9
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/192600
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Samuel Rawlins <srawlins@google.com>
2021-03-23 15:20:47 +00:00
pq 706758a142 linter 1.2.1
Change-Id: I4d2ccc0bcc4128d60d76ea5119594d946fec35c3
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/192483
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Phil Quitslund <pquitslund@google.com>
2021-03-23 15:01:16 +00:00
Sigurd Meldgaard ccb8643e0c Remove tar_rev from DEPS
Accidentally added in 633d4ace6b

Change-Id: I949da425c08415ce51a02e60a1d625a3f44a0f2c
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/192684
Reviewed-by: Jonas Jensen <jonasfj@google.com>
Commit-Queue: Sigurd Meldgaard <sigurdm@google.com>
2021-03-23 14:24:26 +00:00
Martin Kustermann deb946745c [vm/compiler] Correctly prune environment for lazy-deopt in IR instructions
This ensures the following IR instructions use a correctly pruned
lazy-deopt environment:

  * AssertBoolInstr
  * AssertSubtypeInstr
  * InstantiateTypeInstr
  * InstantiateTypeArgumentsInstr

Issue https://github.com/dart-lang/sdk/issues/45213

TEST=New vm/dart_2/isolates/deopt/*_test.

Change-Id: I3d44909f0933c5df109d69e0a61f2d9d7dcc1247
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/192184
Commit-Queue: Martin Kustermann <kustermann@google.com>
Reviewed-by: Vyacheslav Egorov <vegorov@google.com>
2021-03-23 14:03:56 +00:00
Daco Harkes 043ea3b4f4 [vm/service] Fix tests in obfuscation
Added entry-point pragmas to prevent obfuscation of global vars.

Removed expectation checking for standard library `Expando` class name.

Closes: https://github.com/dart-lang/sdk/issues/45422

TEST=Fixes various service_2 tests in obfuscation mode.

Change-Id: I91bb856c7f1ff44afe1cceec8e94e3b97ab56e44
Cq-Include-Trybots: luci.dart.try:vm-kernel-precomp-obfuscate-linux-release-x64-try
Fixed: 45422
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/192681
Reviewed-by: Martin Kustermann <kustermann@google.com>
Commit-Queue: Daco Harkes <dacoharkes@google.com>
2021-03-23 13:28:36 +00:00
Sigurd Meldgaard 633d4ace6b Bump pub
New commits included:
```
> git log --format="%C(auto) %h %s" 0e657414a472e74ca5dd76ae0db50cc060251dec..255a3091fc278b04be74d246a3bec8743ef4d0b7
 255a3091 Vendor package:tar and package:chunked_stream (#2932)
 86bf8b20 Handle relative git-url-paths correctly when --directory (#2919)
 3716a681 Let `pub add` fail if extra arguments are passed (#2927)
 a03ac729 Minor cleanup to reduce risk of using path.current (#2924)
 e87b7b66 Added null check for name in UserInfo class (#2918)
 056a8c9a pub deps --json (#2896)
 53a69e27 Fix .packages entries of relative path deps when using --directory (#2916)
 d6308efc pub upgrade command shows count of discontinued packages (#2908)
 51744805 Upgrade to the null safe versions of all dependencies (#2913)
 e0d538c7 Introduce .pubignore (#2787)
 79f3a8b9 pub outdated: added clear message when no outdated packages. (#2898)
 22463872 `cache clean` (#2904)
 11e7b2ce `publish --dry-run` informs that the server might do more checks (#2883)
 b6977d50 Remove untrue assert (#2884)
 35841f8d Merge branch 'cherry_picks_for_2_12'
 0db3255b Don't fail on failed status listing (#2877)
 53e8ecca Don't allow outdated taking arguments (#2872)
 e83a1dc1 Enable asserts when testing pub (#2754)
 178f2edb Add --directory option (#2876)
 5aadb70e Don't fail on failed status listing (#2877)
 4bf8a927 Remove unused field (#2878)
 73ad5426 Don't allow outdated taking arguments (#2872)
 9a70949e Use Dart library to read and write tar files (#2817)
 2f74230c Do not recommend decativating packages (#2871)
 b1697a27 Use full error message string in CommandResolutionFailedException (#2870)
 16a6210d Upgrade `downgrade --help`: `downgrade` actually updates `pubspec.lock` (#2859)
 6e240ea9 Use cached version listings as heuristic when prefetching (#2851)
 58152f7c Allow trailing slash in PUB_HOSTED_URL (#2856)
 b1bf9a33 Handle poor package-listing responses robustly. (#2847)
 d941bd24 Fix request metadata when overriding dependencyType (#2848)
 ```

Change-Id: Id6ed5698330fc0cdb507e024eabc34f925ca9208
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/192304
Commit-Queue: Sigurd Meldgaard <sigurdm@google.com>
Reviewed-by: Jonas Jensen <jonasfj@google.com>
2021-03-23 12:55:06 +00:00
Martin Kustermann dec7b4f5b6 [vm/compiler] Avoid pruning deopt environments during SSA construction
Generally speaking, the optimizing compiler should be able to use
(deopt-id, deopt-environ) of any IR instruction and use it as an eager
deopt target (e.g. optimizing compiler might insert TestCidsInstr
with eager (deopt-id, deopt-environ) from AssertAssignable).

Currently we prune the environment eagerly during SSA construction for
some instructions This pruning breaks the above mechanism, since the
deopt-environ isn't usable as eager deopt target. (It is effectively
changing the environment on the IR instruction to be a lazy-deopt
environment).

This CL makes the [Environment] represent both the eager deopt target as
well as the lazy deopt target. It distinguishes the two by remembering
how many slots the eager deopt target needs to be pruned to come to the
lazy deopt target. The SSA construction will populate this information.

Effectively we move the deopt env pruning from SSA construction to the
place when we need it (e.g. inlining, emitting after-call metadata).

Issue https://github.com/dart-lang/sdk/issues/45213

TEST=Refactoring of existing code.

Change-Id: I6c2a117b33f35764e556372484e4beaa294b708d
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/192141
Commit-Queue: Martin Kustermann <kustermann@google.com>
Reviewed-by: Vyacheslav Egorov <vegorov@google.com>
2021-03-23 12:22:16 +00:00
Tess Strickland e7d3a6027c [vm] Create more Function helper methods for code clarity.
Creates HasParent() as a predicate for Function objects with a non-null
parent function and makes IsLocalFunction() specific to local closures
(i.e. explicit closures with non-null parent functions).

Creates HasSavedArgumentsDescriptor() as a predicate to determine when
saved_args_desc() can be used, to avoid the caller having to do explicit
predicate checks for each dispatcher type that contains one.

Also simplifies Function::PrintName, creates different suffixes for a
SyncGenClosureMaker and its associateed SyncGenClosure, adds suffixes
for skipping more than one generated body when printing the parent name,
and changes ArgumentsDescriptor::PrintTo to match the compact syntax
Function::PrintName used for signifying the arguments descriptor for
certain dispatchers.

TEST=pkg/vm_snapshot_analysis/test/instruction_sizes_test

Cq-Include-Trybots: luci.dart.try:app-kernel-linux-release-x64-try,vm-kernel-precomp-linux-release-x64-try,pkg-linux-release-try
Change-Id: I0ac1226d1ffe1d81743b5c6788da170d5a4010c5
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/191560
Commit-Queue: Tess Strickland <sstrickl@google.com>
Reviewed-by: Daco Harkes <dacoharkes@google.com>
2021-03-23 12:21:26 +00:00
Johnni Winther 92e237c835 [cfe,dartdevc,dart2js] Use InstanceGetterInvocation for getter/field invocation
The web compilers don't support getter/field invocation encoded as a
FunctionInvocation on an InstanceGet because it doesn't work for
getter/field invocation of js-interop properties, since the InstanceGet
wouldn't result in a Dart function but just JavaScript function.

To support this in the new method invocation encoding, a special
expression, InstanceGetterInvocation, is used to encode getter/field
invocations in dart2js and ddc.

Change-Id: I21da8e8686f66ae4ce4d44245073b9e424f975b9
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/192181
Reviewed-by: Dmitry Stefantsov <dmitryas@google.com>
Commit-Queue: Johnni Winther <johnniwinther@google.com>
2021-03-23 09:49:06 +00:00
Alexander Thomas 96918aab8c [co19] Roll co19 to fddb1dce948cec277bf3dc23b45ee95e761b89fe
2021-03-23 irina.arkhipets@gmail.com Fixes Issues #1021, #1030: tests corrected according to the roll results, missing Issue tags added.

Cq-Include-Trybots: dart/try:analyzer-nnbd-linux-release-try,dart2js-nnbd-linux-x64-chrome-try,ddc-nnbd-linux-release-chrome-try,front-end-nnbd-linux-release-x64-try,vm-kernel-nnbd-linux-debug-x64-try,vm-kernel-nnbd-linux-release-simarm64-try,vm-kernel-nnbd-linux-release-x64-try,vm-kernel-nnbd-mac-release-x64-try,vm-kernel-nnbd-win-release-x64-try,vm-kernel-precomp-nnbd-linux-debug-x64-try,vm-kernel-precomp-nnbd-linux-release-simarm64-try,vm-kernel-precomp-nnbd-linux-release-x64-try
Change-Id: I2d447eb68e2bf3d0a3c8fb071ecf469a800ea6ad
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/192680
Reviewed-by: William Hesse <whesse@google.com>
2021-03-23 08:58:14 +00:00
Jens Johansen 22551d35c2 [CFE/dart2js] Don't set exit code to 1 in unit tests running analyzer
The testing system - sometimes (see http://dartbug.com/45408) - exits
and turns the bot purple when the exit-code from a test is (e.g.) 1.

This CL removes some instances of having an exit code of 1.

Change-Id: Ic831d151346a28dabe9180e80a8e462af227bf41
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/192381
Commit-Queue: Jens Johansen <jensj@google.com>
Reviewed-by: Johnni Winther <johnniwinther@google.com>
2021-03-23 08:36:56 +00:00
Johnni Winther 0de315c146 [cfe] Compute variance for type parameters on duplicate typedefs
Change-Id: I6e4a05911c77d26f1fb440ec8e90c13e783926e9
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/192147
Reviewed-by: Dmitry Stefantsov <dmitryas@google.com>
Commit-Queue: Johnni Winther <johnniwinther@google.com>
2021-03-23 07:32:26 +00:00
Konstantin Shcheglov 0c4fdb9ca4 Fix two Windows bot failures.
TBR

Change-Id: I3cda819e1deb953e0d899430f4e363541c4fef15
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/192660
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
2021-03-23 04:24:55 +00:00
Anna Gringauze 9b901bc21f Communicate start failures from ExpressionCompilerWorker to the consumer
In some cases, such as file system exceptions,  ExpressionCompilerWorker
fails to start but does not close its receiver port, which causes the
consumer to wait indefinitely for responses.

Make ExpressionCompilerWorker communicate the failure to the consumer,
close the receiver port, and exit.

Added tests to verify graceful exit.

Issue that uncovered the bug: https://b.corp.google.com/issues/183218372

Change-Id: I54a9c3620cfc5f77c101b26b4e98b6eeb03ad7e1
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/192260
Commit-Queue: Anna Gringauze <annagrin@google.com>
Reviewed-by: Gary Roumanis <grouma@google.com>
Reviewed-by: Nicholas Shahan <nshahan@google.com>
2021-03-23 02:27:55 +00:00
Mark Zhou 5eceb354e2 [dartdevc] Porting expression compiler tests.
This is part of a series of changes to add support for SDK expression eval tests.

Change-Id: Ia96931fdf81324fa131014b49ec2067507c451f2
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/191022
Reviewed-by: Nicholas Shahan <nshahan@google.com>
Reviewed-by: Anna Gringauze <annagrin@google.com>
Commit-Queue: Mark Zhou <markzipan@google.com>
2021-03-22 23:17:55 +00:00
Ryan Macnak 5bfb36daa3 [vm, compiler] Use leaf calls for exp and log.
We already do this for the other functions in dart:math.

TEST=ci
Bug: https://github.com/dart-lang/sdk/issues/45414
Change-Id: Ic1fb1c7cdbbf39eaa4af645219874408988b740b
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/192522
Commit-Queue: Ryan Macnak <rmacnak@google.com>
Reviewed-by: Vyacheslav Egorov <vegorov@google.com>
2021-03-22 23:14:25 +00:00
Paul Berry 77fbd1d6e5 Migration: avoid crash on unreferenced part files.
Fixes #45369.

Bug: https://github.com/dart-lang/sdk/issues/45369
Change-Id: Ic414de3c002f8993567eed39e049d90ea741b381
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/192520
Reviewed-by: Samuel Rawlins <srawlins@google.com>
Commit-Queue: Paul Berry <paulberry@google.com>
2021-03-22 22:55:45 +00:00
Paul Berry 7655529252 Sort declarations in migration_cli_test.dart
Change-Id: I2cc6e3d5fd4de62aaf4ba2144432094951843837
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/192484
Reviewed-by: Samuel Rawlins <srawlins@google.com>
2021-03-22 22:55:45 +00:00
Ben Konyi 3b49fd862b [ VM / Service ] Add identityHashCode to @Instance and Instance
responses

Allows for comparing @Instances and Instances with allocation traces and
heap snapshot entries.

TEST=pkg/vm_service/test/get_allocation_traces_test.dart

Change-Id: I6d021b0267f1595332475470961df6e35321ce80
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/188600
Commit-Queue: Ben Konyi <bkonyi@google.com>
Reviewed-by: Ryan Macnak <rmacnak@google.com>
2021-03-22 22:45:57 +00:00
Kallen Tu 9e5a6c1568 [cfe] Do-while statements for const functions.
Change-Id: I881fb535ef76e564ab76c5fc661d3adbbe5aed0f
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/192401
Commit-Queue: Kallen Tu <kallentu@google.com>
Reviewed-by: Jake Macdonald <jakemac@google.com>
Reviewed-by: Dmitry Stefantsov <dmitryas@google.com>
2021-03-22 22:19:45 +00:00
Konstantin Shcheglov 86c5085565 Fix NPE when the return type of a method is inherited.
Change-Id: Iaf77f250c806b116f0f0d6bbd3d9b9ff2ab0090d
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/192540
Reviewed-by: Phil Quitslund <pquitslund@google.com>
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
2021-03-22 21:03:45 +00:00
Sam Rawlins e890c2ab91 analyzer: Add failing test case for deferred element in annotation argument
Bug: https://github.com/dart-lang/sdk/issues/45418
Change-Id: I6332caab0ecc5604d0631f4669314355f699b720
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/192485
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Samuel Rawlins <srawlins@google.com>
2021-03-22 20:49:52 +00:00
Konstantin Shcheglov 90a5a21267 Issue 45411. Remove hasNoSuchMethod check, already done in inheritance manager.
Bug: https://github.com/dart-lang/sdk/issues/45411
Change-Id: I0eda15a0d51164c897a1a6c555b1b1f127fb887e
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/192501
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
2021-03-22 20:49:45 +00:00
Sam Rawlins d382ad0896 analyzer: Add new test for deferred type argument in annotation
Change-Id: Ibf29aec03ee912657142bba574309e0e9eeaedd3
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/192486
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
Commit-Queue: Samuel Rawlins <srawlins@google.com>
2021-03-22 20:41:50 +00:00
Sam Rawlins f578bafad7 analyzer: add generic-metadata test case to argument_type_not_assignable tests
Also refactor these tests, in order to get the right experiment. Factor out
common test cases into a mixin, leave two test classes, one of which opts out
of null safety.

Existing tests are left alone except that two which were failing are no longer
failing (simple change in span or diagnostic code).

Change-Id: I2b0dfb4c1df38c6fbd76e5490bbbbd41653edc1d
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/192502
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
Commit-Queue: Samuel Rawlins <srawlins@google.com>
2021-03-22 20:41:40 +00:00
Sam Rawlins b047c6e188 Remove unnecessary imports from analysis_server
Bug: https://github.com/dart-lang/sdk/issues/44569
Change-Id: I71f28e7b8b56bde11c9b2f349b05534bd4851a76
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/192503
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
Commit-Queue: Samuel Rawlins <srawlins@google.com>
2021-03-22 20:33:47 +00:00
Sam Rawlins bda604e45d analyzer: Remove unnecessary import
Bug: https://github.com/dart-lang/sdk/issues/44569
Change-Id: I5c12609a1a139be9d9eee015d593e57c89340d30
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/192487
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
Commit-Queue: Samuel Rawlins <srawlins@google.com>
2021-03-22 20:33:37 +00:00
Joshua Litt 6f6afa4dba [dart2js] Add component detection to deferred fragment merge.
This is to avoid merging unrelated code into language files.

Change-Id: Ief514d0761fbb471a0460c78db35c0a07bf78f6d
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/191800
Commit-Queue: Joshua Litt <joshualitt@google.com>
Reviewed-by: Stephen Adams <sra@google.com>
2021-03-22 18:57:24 +00:00
Brian Wilkerson 9dbc090fc1 Remove an unnecessary ignore comment from dart-internal
Change-Id: I1f2ba877b1eef300f09fc5b67f8e27acd7184e48
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/192284
Reviewed-by: Bob Nystrom <rnystrom@google.com>
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com>
2021-03-22 18:49:36 +00:00
Sam Rawlins 2c13c7ea80 analyzer: Enforce avoid_dynamic_calls lint
Change-Id: I496ed3abbb29ebef14542636aaf1b878f3420740
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/192288
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
Commit-Queue: Samuel Rawlins <srawlins@google.com>
2021-03-22 18:47:14 +00:00
Alexander Thomas d9aaa9b792 Reland "[co19] Roll co19 to ae818220b12ec9c2470519db2c7167cbe4745e12"
This reverts commit 88ee333408.

Reason for revert: Hook added by mistake removed.

Original change's description:
> Revert "[co19] Roll co19 to ae818220b12ec9c2470519db2c7167cbe4745e12"
>
> This reverts commit 03e8ddd13c.
>
> Reason for revert: Change to hooks does not work with Windows.
>
> Original change's description:
> > [co19] Roll co19 to ae818220b12ec9c2470519db2c7167cbe4745e12
> >
> > 2021-03-22 sgrekhov@unipro.ru Fixes #1032. Change place where analyzer expects COMPILE_TIME_ERROR.UNCHECKED_USE_OF_NULLABLE_VALUE
> > 2021-03-22 sgrekhov@unipro.ru Fixes #1027. Typo fixed
> > 2021-03-22 sgrekhov@unipro.ru Fixes #1026. Missed experimental flag added
> > 2021-03-22 sgrekhov@unipro.ru Fixes SDK issue #45381. Use 32-bit int boundaries for 32-bit systems
> > 2021-03-19 sgrekhov@unipro.ru #1024. Tests that plays with the integers not representable in JS moved to separate files. These files will be skipped on JS
> >
> > Cq-Include-Trybots: dart/try:analyzer-nnbd-linux-release-try,dart2js-nnbd-linux-x64-chrome-try,ddc-nnbd-linux-release-chrome-try,front-end-nnbd-linux-release-x64-try,vm-kernel-nnbd-linux-debug-x64-try,vm-kernel-nnbd-linux-release-simarm64-try,vm-kernel-nnbd-linux-release-x64-try,vm-kernel-nnbd-mac-release-x64-try,vm-kernel-nnbd-win-release-x64-try,vm-kernel-precomp-nnbd-linux-debug-x64-try,vm-kernel-precomp-nnbd-linux-release-simarm64-try,vm-kernel-precomp-nnbd-linux-release-x64-try
> > Change-Id: Idc63625a841f1f90b0cce5db9ca6add13e4d1192
> > Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/192303
> > Reviewed-by: William Hesse <whesse@google.com>
> > Commit-Queue: Alexander Thomas <athom@google.com>
>
> TBR=whesse@google.com,athom@google.com
>
> Change-Id: I5f66db541034377f5d68424073282080d13fd34b
> No-Presubmit: true
> No-Tree-Checks: true
> No-Try: true
> Cq-Include-Trybots: dart/try:analyzer-nnbd-linux-release-try
> Cq-Include-Trybots: dart2js-nnbd-linux-x64-chrome-try
> Cq-Include-Trybots: ddc-nnbd-linux-release-chrome-try
> Cq-Include-Trybots: front-end-nnbd-linux-release-x64-try
> Cq-Include-Trybots: vm-kernel-nnbd-linux-debug-x64-try
> Cq-Include-Trybots: vm-kernel-nnbd-linux-release-simarm64-try
> Cq-Include-Trybots: vm-kernel-nnbd-linux-release-x64-try
> Cq-Include-Trybots: vm-kernel-nnbd-mac-release-x64-try
> Cq-Include-Trybots: vm-kernel-nnbd-win-release-x64-try
> Cq-Include-Trybots: vm-kernel-precomp-nnbd-linux-debug-x64-try
> Cq-Include-Trybots: vm-kernel-precomp-nnbd-linux-release-simarm64-try
> Cq-Include-Trybots: vm-kernel-precomp-nnbd-linux-release-x64-try
> Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/192380
> Reviewed-by: William Hesse <whesse@google.com>

# Not skipping CQ checks because this is a reland.

Change-Id: Ie54fde2d92d1b2cdb3b70835f1f8c17e3c5ac477
Cq-Include-Trybots: dart/try:analyzer-nnbd-linux-release-try,dart2js-nnbd-linux-x64-chrome-try,ddc-nnbd-linux-release-chrome-try,front-end-nnbd-linux-release-x64-try,vm-kernel-nnbd-linux-debug-x64-try,vm-kernel-nnbd-linux-release-simarm64-try,vm-kernel-nnbd-linux-release-x64-try,vm-kernel-nnbd-mac-release-x64-try,vm-kernel-nnbd-win-release-x64-try,vm-kernel-precomp-nnbd-linux-debug-x64-try,vm-kernel-precomp-nnbd-linux-release-simarm64-try,vm-kernel-precomp-nnbd-linux-release-x64-try
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/192384
Reviewed-by: Alexander Thomas <athom@google.com>
Reviewed-by: William Hesse <whesse@google.com>
2021-03-22 18:39:20 +00:00
Joshua Litt 51ca2145bb [dart2js] Fix finalization bug in namer_names.dart
Change-Id: I8ad37e67bfee2b8fb022fcffedee74c4c6b19b6d
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/192043
Reviewed-by: Stephen Adams <sra@google.com>
Commit-Queue: Joshua Litt <joshualitt@google.com>
2021-03-22 18:26:15 +00:00
Michal Terepeta 6172458220 Trigger checks for generated files also on failed builds
Bug: http://b/183199080
Change-Id: If8a9baed10068f70d24a8831a093e4a4bf240303
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/192383
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
Commit-Queue: Michal Terepeta <michalt@google.com>
2021-03-22 18:14:54 +00:00
Siva Annamalai 3ecbfd927f Revert "[ VM ] Ensure shared timeline objects are protected by locks"
This reverts commit a62e144882.

Reason for revert: Flutter engine shell tests are timing out because of deadlock.

Original change's description:
> [ VM ] Ensure shared timeline objects are protected by locks
>
> Timeline::Clear() could cause an user after free error if trying to allocate a timeline
> event immediately after clearing the timeline buffer.
>
> Timeline::Cleanup() could result in recorder_ being freed while timeline events are still
> being processed.
>
> Should fix https://github.com/flutter/flutter/issues/78076
>
> TEST=tests/lib/developer/timeline_recorders_test.dart
>
> Change-Id: Ia61b9c93986788c79ef6f2ff1907625b66fb4ea1
> Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/191802
> Commit-Queue: Ben Konyi <bkonyi@google.com>
> Reviewed-by: Siva Annamalai <asiva@google.com>

# Not skipping CQ checks because original CL landed > 1 day ago.

Change-Id: Iac2c19147a3e73df37418e11106f0c5132a35302
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/192482
Reviewed-by: Siva Annamalai <asiva@google.com>
Reviewed-by: Ben Konyi <bkonyi@google.com>
Commit-Queue: Siva Annamalai <asiva@google.com>
2021-03-22 18:06:04 +00:00
Siva Annamalai ddcb60a3d9 Revert "[ VM ] Update Timeline tests to not use recorder->Clear()"
This reverts commit f06348108a.

Reason for revert: Flutter engine shell tests are timing out

Original change's description:
> [ VM ] Update Timeline tests to not use recorder->Clear()
>
> Also added IsOwnedByCurrentThread() assert for ReclaimCachedBlocksFromThreadsLocked
>
> Follow up to a62e144882
>
> TEST=runtime/vm/timeline_test.cc
>
> Change-Id: Iec3597b407d99ada1894752f7150a9ae4025bf91
> Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/192243
> Commit-Queue: Ben Konyi <bkonyi@google.com>
> Reviewed-by: Siva Annamalai <asiva@google.com>

# Not skipping CQ checks because original CL landed > 1 day ago.

Change-Id: Id7ba866d7966743bc54659a5d2a632eb31bbf355
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/192481
Reviewed-by: Siva Annamalai <asiva@google.com>
Reviewed-by: Ben Konyi <bkonyi@google.com>
Commit-Queue: Siva Annamalai <asiva@google.com>
2021-03-22 17:42:37 +00:00
Chase Latta dfb009d70a [fuchsia] allow injecting the inspect node
This CL allows users to inject the inspect node used inside the
os_fuchsia.cc file instead of having it get created automatically.
This allows us to use inspect in other areas of the flutter/dart
runners. This code needs to be soft transitioned so there will be
follow up CLs after the runners are migrated.

TEST=This was tested against the current version of the runner that does
not use these new codepaths and against a version that does.

Change-Id: I2fff36223aa4021da9cd2051daf6312d2b115492
Bug: fxbug.dev/69558
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/190960
Commit-Queue: Chase Latta <chaselatta@google.com>
Reviewed-by: Zach Anderson <zra@google.com>
Reviewed-by: Martin Kustermann <kustermann@google.com>
2021-03-22 17:38:24 +00:00
Paul Berry dd91769e90 Flow analysis: implement "why not promoted" functionality for arguments.
Bug: https://github.com/dart-lang/sdk/issues/44898
Change-Id: Ib39ef04aadc2340c269878763e19a4a97001e2b5
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/191989
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
Commit-Queue: Paul Berry <paulberry@google.com>
2021-03-22 17:31:54 +00:00
Paul Berry 00c188bb2e Flow analysis: Improve unit test failure output for _CheckPromoted.
The failure message now includes the stacktrace from when the
_CheckPromoted node was constructed; this makes it possible to quickly
find the line in the source code that encodes the expectation, which
is often much more useful than the stacktrace from the time the
failure was detected.

The stacktrace from the time the failure was detected still appears,
after the stacktrace from when the node was constructed.

Change-Id: If375e141a32b371e806399e42ff7cfaae9cf7873
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/192290
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
Commit-Queue: Paul Berry <paulberry@google.com>
2021-03-22 17:29:14 +00:00
Sam Rawlins e267fb2f19 analyzer: Copy triple-shift const evaluation from front_end
Fixes https://github.com/dart-lang/sdk/issues/45374

Change-Id: Id57fa5116e1778dda776fdcf4b45aa0546c093af
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/192123
Commit-Queue: Samuel Rawlins <srawlins@google.com>
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
2021-03-22 16:33:44 +00:00
Vyacheslav Egorov d82ecdfe01 [vm] Fix GCC build
TEST=tools/gn.py --no-clang -m release -a x64, ninja -C out/ReleaseX64

Change-Id: I923ae50de25e8936507c665091d57870a33f7fa1
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/192306
Commit-Queue: Vyacheslav Egorov <vegorov@google.com>
Reviewed-by: Martin Kustermann <kustermann@google.com>
2021-03-22 15:08:04 +00:00