Commit Graph

79322 Commits

Author SHA1 Message Date
Sergey G. Grekhov 79f6f64836 [co19] Removed obsolete entries from co19-kernel.status
Cq-Include-Trybots: dart/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: I426cdcb95cb726b52d4510d92d67be49b364accd
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/192931
Commit-Queue: Erik Ernst <eernst@google.com>
Reviewed-by: Erik Ernst <eernst@google.com>
2021-03-29 12:04:27 +00:00
Konstantin Shcheglov 7374f441f3 Add TypeProvider.isNonSubtypableClass, deprecate TypeProvider.nonSubtypableClasses.
Change-Id: I78beaaeb763c33420d84c33b0e87cd5310f99fea
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/193094
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
2021-03-29 02:33:52 +00:00
Brian Wilkerson 7f54fc96e5 Add documentation for several more codes
Change-Id: I012db56773acee6a81fbb6a33958beb686793ec9
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/193320
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com>
2021-03-28 21:16:11 +00:00
Konstantin Shcheglov 5621c9f767 Check for TYPE_ARGUMENT_NOT_MATCHING_BOUNDS when generic_metadata is enabled.
Change-Id: I32b4963f46c232a0ab41fb1b55ffe1c8723a34e3
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/193160
Reviewed-by: Samuel Rawlins <srawlins@google.com>
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
2021-03-27 23:56:46 +00:00
Brian Wilkerson 2802e4fbdc Make the map file explicit rather than trying to coordinate between caller and callee
Change-Id: I6f7b7807eeca7a023772c0bdcf4992e4762f84e3
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/193260
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com>
2021-03-27 22:42:56 +00:00
Konstantin Shcheglov 2c02737d7a Support for bounds of generic function types for raw-depends / not simply bounded.
Change-Id: I568f4ebb922b3ce40debff1f4ce20a9ac580f29d
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/193141
Reviewed-by: Samuel Rawlins <srawlins@google.com>
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
2021-03-27 21:08:06 +00:00
Sergey G. Grekhov 0e8bc12b51 [co19] status files of co19_2 tests clean up. Tests that use modern experimental flags deleted
Change-Id: I9f13bacdbd68053905900e0441d043ed9b44d554
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/192930
Reviewed-by: Erik Ernst <eernst@google.com>
Commit-Queue: Erik Ernst <eernst@google.com>
2021-03-27 12:28:15 +00:00
pq a68db103ae rename lintProducerMap2 => lintProducerMap
(Also removes deprecated "legacy" lintProducerMap.)

Change-Id: I8c9222657029fe709228e010c4b90f34244814d6
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/193086
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Phil Quitslund <pquitslund@google.com>
2021-03-26 14:50:04 +00:00
Paul Berry a7b0f5108d Flow analysis: implement "why not promoted" logic for compound assignments.
Bug: https://github.com/dart-lang/sdk/issues/44898
Change-Id: I57a2c62b8450c313887b516d6fe2ef85fdd0d92b
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/193084
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
Commit-Queue: Paul Berry <paulberry@google.com>
2021-03-26 00:29:24 +00:00
Paul Berry 79bf4f33ae Clean up nomenclature around whyNotPromoted.
We used to have some variables called `whyNotPromoted` and others
called `whyNotPromotedInfo`, with no obvious distinction between the
two names.  Now we use `whyNotPromoted` for variables holding the map
returned by `FlowAnalysis.whyNotPromoted`, and `whyNotPromotedList`
for variables holding a list of such maps.

Bug: https://github.com/dart-lang/sdk/issues/44898
Change-Id: I3823d16ef908a833e4d4526ae1c3576c73ecf1fb
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/193083
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
2021-03-26 00:29:24 +00:00
Paul Berry 52a1fb3de2 Flow analysis: refactor handling of try/catch/finally in unit tests.
We now use a single AST node to represent try/catch/finally rather
than separate try/catch and try/finally nodes.  This more closely
parallels the data structures used by the analyzer and CFE.

Change-Id: Ic4c1f1e4ac9e10ebf36afa4047c9c8b9ce151a1f
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/193093
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
Commit-Queue: Paul Berry <paulberry@google.com>
2021-03-26 00:16:54 +00:00
Paul Berry e32ddc132f Flow analysis: refactor handling of this in unit tests.
The type of `this` is now stored in the test harness rather than in
the individual `this` AST objects.  This more closely parallels how
`this` is handled in the analyzer and CFE.

Change-Id: I7c60aec8a14680beecca161ad25d681b82f79a2b
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/193092
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
2021-03-26 00:16:54 +00:00
Paul Berry f7419efa93 Fix some mismatched variable names in a flow analysis test.
Change-Id: I69f9822f9fe0e935a40fac0fced2d1512c234a64
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/193089
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
2021-03-26 00:16:54 +00:00
Mark Zhou 8590d3c615 [dartdevc] Porting more expression eval tests.
Also changing strings resolved from JS objects to be more like those seen in the Chrome console.

Change-Id: I52adf2add57822f296eb93b49028f75202e02c3c
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/193064
Commit-Queue: Mark Zhou <markzipan@google.com>
Reviewed-by: Nicholas Shahan <nshahan@google.com>
2021-03-26 00:04:04 +00:00
Konstantin Shcheglov 92130a010e Tests for DAS services and generic annotations.
Change-Id: I063c78ae778366e60bb0d4aca55c4e7fd70f3d52
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/193091
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
2021-03-25 23:38:24 +00:00
Kallen Tu 51b0832516 Language tests for erroneous conditions in control flow statements.
Conditions which are not bools. The error checking should be handled by the compiler so asserts added just in case.

Change-Id: Ia53c7aa017300f5afbfe636604855e4183e1d0a6
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/192580
Reviewed-by: Dmitry Stefantsov <dmitryas@google.com>
Reviewed-by: Jake Macdonald <jakemac@google.com>
Commit-Queue: Kallen Tu <kallentu@google.com>
2021-03-25 23:21:34 +00:00
pq c8d115bd06 remove unnecessary parens in string interp
Change-Id: Ib1fd19d20375c5aa4284953d1ced9be2b0dac2aa
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/193085
Reviewed-by: Bob Nystrom <rnystrom@google.com>
Commit-Queue: Phil Quitslund <pquitslund@google.com>
2021-03-25 22:24:34 +00:00
Srujan Gaddam 20f7013455 [pkg:js] Filter promise_reject_null_test from CSP
Test uses `eval` which is disallowed by CSP.

Change-Id: I9d1b094487226d6c7ec728d400d2c35fc6aa5c58
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/193063
Auto-Submit: Srujan Gaddam <srujzs@google.com>
Commit-Queue: Stephen Adams <sra@google.com>
Reviewed-by: Stephen Adams <sra@google.com>
2021-03-25 22:00:19 +00:00
Ryan Macnak 6a6e08b784 Reapply "[vm, compiler] Convert binary Smi ops to graph intrinsics."
Explicitly disable unboxed parameters for these functions, previously implicitly disabled by virtue of being ASM intrinsics.

TEST=ci
Change-Id: Ic810bb8400e081c5f99a49b5035031bc9edc4bf5
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/192044
Commit-Queue: Ryan Macnak <rmacnak@google.com>
Reviewed-by: Martin Kustermann <kustermann@google.com>
2021-03-25 21:54:44 +00:00
Stephen Adams a1db3de44a [dart2js] Accept >>> as a symbol name
Makes language/operator/operator_triple_shift_test pass and
corelib_2/symbol_operator_test/03 fail like all the other configurations.

Change-Id: I06c0fba62dc5407a9787e6216d50acfe8da053c7
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/193080
Reviewed-by: Leaf Petersen <leafp@google.com>
Commit-Queue: Stephen Adams <sra@google.com>
2021-03-25 21:52:14 +00:00
Konstantin Shcheglov 4af81e2a5b Issue 45459. Report EXPERIMENT_NOT_ENABLED instead of INVALID_GENERIC_FUNCTION_TYPE when nonfunction_type_aliases is not enabled.
Bug: https://github.com/dart-lang/sdk/issues/45459
Change-Id: I0773f15e4697620427f4449622a592e40b5a5de4
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/193100
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
2021-03-25 21:43:04 +00:00
Joshua Litt 2febc7d526 [dart2js] Create abstractions to support bundling.
Change-Id: I2d8a7ecae963aa5b51e1405652633b72545f7cd9
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/191468
Commit-Queue: Joshua Litt <joshualitt@google.com>
Reviewed-by: Stephen Adams <sra@google.com>
2021-03-25 20:59:14 +00:00
Janice Collins 182eb2d5c5 Try removing an extra null check in cloneNullableToken.
When trying to update to analyzer 1.3.0 dartdoc started crashing
occasionally in CI with the following exception:

https://github.com/dart-lang/dartdoc/pull/2589/checks?check_run_id=2195215917#step:6:3411

Reading the code suggests that returning a null here should be an
OK thing to do, but if this is intended to enforce that an invalid
key should never be passed to this method, some other solution
will need to be found.

Change-Id: Id210a0f8feb6197e7a65569bfaed4d599be4b3c7
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/193062
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
Commit-Queue: Janice Collins <jcollins@google.com>
2021-03-25 20:48:54 +00:00
Dmitry Stefantsov ce841aa40c [cfe] Remember built TypedefTypes for late bounds checks
Bug: https://github.com/dart-lang/sdk/issues/45334
Change-Id: Idbc823ecc688f2679134c757dcf7a7ad12a02e24
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/192146
Commit-Queue: Dmitry Stefantsov <dmitryas@google.com>
Reviewed-by: Johnni Winther <johnniwinther@google.com>
2021-03-25 20:31:24 +00:00
Paul Berry 32806f2e8d Migration: fix handling of loadLibrary.
Fixes #45396.

Bug: https://github.com/dart-lang/sdk/issues/45396
Change-Id: I150a1ded64ae2c22e5598d2023e605a45ddfe680
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/193041
Reviewed-by: Samuel Rawlins <srawlins@google.com>
Commit-Queue: Paul Berry <paulberry@google.com>
2021-03-25 20:29:34 +00:00
Ryan Macnak fa900734e2 [dartfuzz] Opt out of NNBD.
Currently all programs generated by Dart fuzz have NNBD errors.

Change-Id: I6f55447ad4c2986ae4ffceff8c88ba263d40e280
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/193081
Reviewed-by: Ben Konyi <bkonyi@google.com>
2021-03-25 20:06:40 +00:00
Srujan Gaddam 0d3235f305 [pkg:js] Add CHANGELOG entry for native/js name conflict
Closes https://github.com/dart-lang/sdk/issues/44797

Specifies that it's no longer valid to conflict with an @Native class
value.

Change-Id: Ie0fecb4de8ae94cfe05e5222d09c8cacde86caad
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/191780
Auto-Submit: Srujan Gaddam <srujzs@google.com>
Reviewed-by: Riley Porter <rileyporter@google.com>
Commit-Queue: Srujan Gaddam <srujzs@google.com>
2021-03-25 19:58:44 +00:00
Paul Berry 9d0d1fb388 Sort declarations in variables.dart
Change-Id: I5bbf3be04e1fc5c1354d3c3d39669b0bfefb9a50
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/193040
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
Commit-Queue: Paul Berry <paulberry@google.com>
2021-03-25 19:28:14 +00:00
Alexander Markov 320ad6adb4 [vm/aot] Remove heuristic selection of checked Smi operations
TEST=existing tests

Change-Id: Id1fb01d6efa51e272636f54595393cebab3d45b4
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/191760
Reviewed-by: Vyacheslav Egorov <vegorov@google.com>
Reviewed-by: Martin Kustermann <kustermann@google.com>
Commit-Queue: Alexander Markov <alexmarkov@google.com>
2021-03-25 19:18:47 +00:00
Konstantin Shcheglov 97daca81be Report an error when a type alias that expands to a type variable is used where a class is expected in hierarchy.
https://dart-review.googlesource.com/c/sdk/+/192743

Bug: https://github.com/dart-lang/sdk/issues/45450

Change-Id: I5d32236ddff7403eb739ca8b7de421f7f5a36ab6
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/193001
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
2021-03-25 18:49:34 +00:00
Devon Carew f6ce7a829f In-line the package:stagehand templates into 'dart create'.
Change-Id: I717f0970314700b123b750fcfe7ed066ba88d2e5
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/192944
Commit-Queue: Devon Carew <devoncarew@google.com>
Reviewed-by: Ben Konyi <bkonyi@google.com>
2021-03-25 18:05:09 +00:00
Dmitry Stefantsov e9d7ad78e4 [cfe] Check bounds in aliased constructor calls
Bug: https://github.com/dart-lang/sdk/issues/45334
Change-Id: Ia2a9d154dba21d445f8f821988580fbf4249cf24
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/192925
Commit-Queue: Dmitry Stefantsov <dmitryas@google.com>
Reviewed-by: Johnni Winther <johnniwinther@google.com>
2021-03-25 18:04:04 +00:00
Alexander Aprelev 024ff88ce8 [vm/debugger] Refactor reference to Function out of BreakpointLocation.
BreakpointLocation represents source code location, which can
correspond to multiple Functions(in case of some mixin method
mixed-in in several classes, for example).
BreakpointLocation is connected to a Function via CodeBreakpoint.
CodeBreakpoint represents some point in the generated Code in some
Function. BreakpointLocation connects to multiple
CodeBreakpoints - one per Function that source code location was
generated into.

This CL removes Function reference stored directly in BreakpointLocation
as it is misleading.

This CL also removes some source-code-related attributes(uri/token_pos)
stored in CodeBreakpoint. If CodeBreakpoint code needs that information
it can find it in BreakpointLocation it references.

This should help with further refactoring to support BreakpointLocation
that map to multiple scripts

TEST=ci

Change-Id: I41b82fddc5018ef7df61c9d3a3c4aee657cee528
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/192946
Commit-Queue: Alexander Aprelev <aam@google.com>
Reviewed-by: Ben Konyi <bkonyi@google.com>
2021-03-25 17:57:04 +00:00
Paul Berry b59bca4dc9 Flow analysis: Move mini_ast implementation to a shared location.
This will make it possible to use the same "mini AST" representation
to test other shared FE/analyzer code.

Change-Id: I8140bf1770f3bfe0ca8a959ba2c41babcb7852bb
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/193000
Reviewed-by: Johnni Winther <johnniwinther@google.com>
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
Commit-Queue: Paul Berry <paulberry@google.com>
2021-03-25 17:55:34 +00:00
Ryan Macnak 2c371ff74e [vm, compiler] Respect --use_slow_path in CheckedSmiOp/Comparison.
TEST=ci
Change-Id: Ib2b1a9b067beb1cbeea2b12355e62a45396697f5
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/192726
Reviewed-by: Martin Kustermann <kustermann@google.com>
Commit-Queue: Ryan Macnak <rmacnak@google.com>
2021-03-25 17:39:24 +00:00
Ben Konyi 3b76190e02 [ Service ] Skip sigquit_starts_service_test on AppJIT configurations
TEST=N/A

Change-Id: If118d8254b1f918306723e7677680fffefe836e4
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/193060
Reviewed-by: Ben Konyi <bkonyi@google.com>
2021-03-25 17:02:31 +00:00
Erik Ernst 6db2f7a2f6 Correct implementation of expand-to-type-variable error check
Bug: #45351
Change-Id: I0f7a813c8da8ce2f60cdcd3d81d854e75556130f
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/192743
Commit-Queue: Erik Ernst <eernst@google.com>
Reviewed-by: Dmitry Stefantsov <dmitryas@google.com>
2021-03-25 16:28:34 +00:00
Martin Kustermann 1453eebebc Reland "[vm/compiler] Always allow CSE of LoadStaticField & loosen assertion in AllowsCSE"
Loosening of assertion:

There is no guarantee that a static-final field has been initialized by
the time a function is compiled (in optimized mode) that uses such a
field.

We should therefore loosen the ASSERT to not require the field to be
initialized and rather allows CSE

Enabling of CSE:

In the past we had separate InitStaticField and LoadStaticField. The
load itself had no side-effects and could therefore be moved
arbitrarily. Though we couldn't allow it to be moved before it's
InitStaticField. This dependency was not explicitly made and we
therefore disabled CSE / LICM if the actual field was not initialized
(or field may be reset) - see [0].

Though after merging of InitStaticField and LoadStaticField in [1] there
is no longer a need for tracking any dependencies: The side-effects
of InitStaticField are now reported by LoadStaticField.
=> We can therefore always allow CSE of LoadStaticFieldinstr and
any code motion would respect side-effects of the instruction.

[0] https://codereview.chromium.org/1497783002
[1] https://dart-review.googlesource.com/c/sdk/+/148283

TEST=Fixes flaky test.

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

Change-Id: I4a699e9b1dc9dfec9a91208ed78ed0a0c41f5cad
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/192924
Reviewed-by: Vyacheslav Egorov <vegorov@google.com>
Commit-Queue: Martin Kustermann <kustermann@google.com>
2021-03-25 15:04:43 +00:00
pq 9847e7fbe6 migrate to lintProducerMap2
Change-Id: I90b41091b354f02e84772e797257bf20db404f30
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/192949
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Phil Quitslund <pquitslund@google.com>
2021-03-25 14:59:04 +00:00
Paul Berry 5fc5c0ba6d Migration: Properly escape strings in calls to querySelector.
Fixes #45326.

Bug: https://github.com/dart-lang/sdk/issues/45326
Change-Id: I990b230b7ee1df6d998dbb412814daa668c25e76
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/191383
Reviewed-by: Samuel Rawlins <srawlins@google.com>
Commit-Queue: Paul Berry <paulberry@google.com>
2021-03-25 14:43:23 +00:00
Tess Strickland bf74cad477 [vm/compiler] Change when parents of local functions are retained.
Now they are only retained if one of the following is true:

* The parent is Future.wait or Future.timeout.
* The local function is a generated body of an async/async*/sync*
  function.
* Symbolic stack traces are enabled.

When a local closure's parent is dropped, the parent name will
be printed as `<optimized out>` in places like exceptions.

Changes in Flutter gallery in release-sizeopt mode:

* ARM7: ROData -1.41%, Isolate snapshot -2.35%, Total snapshot -0.54%,
        Isolate heap -1.38%, Total heap -1.38%
* ARM8: ROData -1.55%, Isolate snapshot -2.34%, Total snapshot -0.65%,
        Isolate heap -1.41%, Total heap -1.41%

TEST=Existing tests on CI.

Cq-Include-Trybots: luci.dart.try:vm-kernel-precomp-linux-release-x64-try,vm-kernel-precomp-linux-product-x64-try,vm-kernel-precomp-nnbd-linux-release-x64-try, vm-kernel-precomp-dwarf-linux-product-x64-try
Change-Id: I9d05f9e0e30e9f428eff16a15b0f1eeb974419c8
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/190023
Commit-Queue: Tess Strickland <sstrickl@google.com>
Reviewed-by: Martin Kustermann <kustermann@google.com>
2021-03-25 13:47:03 +00:00
Jens Johansen ac9b4aab8d [parser] More specific error messages when recovering new/const/Map/Set/List with said literals
Follow-up to https://dart-review.googlesource.com/c/sdk/+/190022

Change-Id: Id42336216267dcbf481ae6e111177e6296ea6779
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/190881
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Reviewed-by: Johnni Winther <johnniwinther@google.com>
Commit-Queue: Jens Johansen <jensj@google.com>
2021-03-25 13:27:03 +00:00
Jens Johansen 6fff4de306 [CFE] Properly clean-up expectations wrt optional phases for strong/weak tests
Before this CL we could for instance get this result:

```
$ out/ReleaseX64/dart --enable-asserts pkg/front_end/test/fasta/weak_suite.dart -DsemiFuzz=false -DskipVm=true -- weak/general/error_recovery/issue_39058.crash

[...]
1 failed:
weak/general/error_recovery/issue_39058.crash: Pass
```

The reason is, that before it onle rewrote the expectations if there was
exactly one expectation.
`weak/general/error_recovery/issue_39058.crash` for instance (currently)
has two expecations: RuntimeError and SemiFuzzFailure.

All combinations of `-DsemiFuz` and `-DskipVm=true` would thus keep both
of those expectations.

For the combination `-DsemiFuzz=false -DskipVm=true` it actually passes,
though, which doesn't match so it fails saying that the expectations
should be updated.

For any of the other expectations it would be fine because it would get
one of the expected outcomes:
* `-DsemiFuzz=true -DskipVm=true`: Fuzzing is enabled so it would get a
  SemiFuzzFailure which matches one of the expectations.
* `-DsemiFuzz=true -DskipVm=false`: Fuzzing is enabled so it would get a
  SemiFuzzFailure which matches one of the expectations.
* `-DsemiFuzz=false -DskipVm=false`): It doesn't skip the VM so it gets
  a RuntimeError which matches one of the expectations.

This CL fixes the issue by removing the "wrong" expectation(s), leaving
the correct one(s) and adding 'pass' of all other expectation(s) have
been removed.

Change-Id: I8137d16fdfeb322cb76d6af97cafc279222ae205
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/192921
Reviewed-by: Johnni Winther <johnniwinther@google.com>
Commit-Queue: Jens Johansen <jensj@google.com>
2021-03-25 10:25:33 +00:00
Alexander Thomas a745657050 [testing] Simplify stream handling for buildbucket responses
Follow up to 3b64509 to apply post-submit review comments.

Change-Id: I4a573312777fea4701abc3b3c9efbb2f8b7971ee
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/192929
Auto-Submit: Alexander Thomas <athom@google.com>
Commit-Queue: Alexander Thomas <athom@google.com>
Commit-Queue: William Hesse <whesse@google.com>
Reviewed-by: William Hesse <whesse@google.com>
2021-03-25 09:56:03 +00:00
Alexander Thomas 3b645094f5 [testing] Use buildbucket v2 API in test.dart
The buildbucket v1 API is deprecated and may stop working at any time.
This also fixes the buildset tag to use the latest format.

Change-Id: I7fe889c1293b002d65a201a8ea4c9d75b9489074
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/192927
Commit-Queue: Alexander Aprelev <aam@google.com>
Reviewed-by: Alexander Aprelev <aam@google.com>
2021-03-25 03:24:13 +00:00
Paul Berry 6a2df0de92 Remove unnecessary call to checkForInvalidAssignment
Previously, the ErrorVerifier was checking assignability for any `=`
or `??=` assignment whose LHS was not a simple identifier.  But this
case is unnecessary; it's already handled by the resolver.

Change-Id: Icc44ab3d13b0a8300fe2ebb7ca134086291a29cb
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/192733
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
Commit-Queue: Paul Berry <paulberry@google.com>
2021-03-25 02:01:33 +00:00
Paul Berry f161e228e4 Flow analysis: implement "why not promoted" logic for assignments.
This CL handles ordinary assignment expressions, variable declaration
initializers, and constructor field initializers.

Bug: https://github.com/dart-lang/sdk/issues/44898
Change-Id: I06bae2c7d57213bd7769c931a03080d148af3dbe
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/192724
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
2021-03-25 02:01:33 +00:00
Srujan Gaddam 6929718456 [pkg:js] Handle null value in promise rejection
Closes https://github.com/dart-lang/sdk/issues/44602

Creates an exception to signal a `null`/`undefined` value when a
converted promise is rejected with `null`/`undefined`.

Change-Id: Ic7f14e23c6c1d51d6dbcc5831ffa8491418a4267
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/192046
Commit-Queue: Srujan Gaddam <srujzs@google.com>
Reviewed-by: Sigmund Cherem <sigmund@google.com>
2021-03-25 01:30:23 +00:00
Ben Konyi 45c4f589a1 [ Service ] Skip sigquit_starts_service_test on precompiled and simarm
configurations

TEST=N/A

Change-Id: I286abb3e76aab0019fe838b65097b2d07651b52b
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/192950
Reviewed-by: Ben Konyi <bkonyi@google.com>
2021-03-25 01:20:52 +00:00
Mayank Patke 400939dfe7 [dart2js] Support additional types of instantiations in RTI need.
Bug: https://github.com/dart-lang/sdk/issues/41681
Change-Id: Ibf2f822740168e5545b110319738849a667752ea
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/191860
Commit-Queue: Mayank Patke <fishythefish@google.com>
Reviewed-by: Stephen Adams <sra@google.com>
2021-03-25 00:43:33 +00:00