Commit graph

88542 commits

Author SHA1 Message Date
Sam Rawlins cd52ce3f22 Enable new linter rules in nnbd_migration
Change-Id: I7ba071c9edc23a53cb2f9bd9a37de8306a10ccef
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/271001
Commit-Queue: Samuel Rawlins <srawlins@google.com>
Reviewed-by: Paul Berry <paulberry@google.com>
2022-11-21 21:46:28 +00:00
Anna Gringauze 112c93863b Add record types
Towards: https://github.com/dart-lang/sdk/issues/49717
Change-Id: Ib2df16184d1db7d191a22305dacaeb1efe595e5c
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/270581
Commit-Queue: Anna Gringauze <annagrin@google.com>
Reviewed-by: Mark Zhou <markzipan@google.com>
2022-11-21 20:49:10 +00:00
Anna Gringauze bca6278b3b Revert "Cache expression compilers in incremental DDC mode"
This reverts commit e6f779bcdd.

Reason for revert: Broke expression compilation in google3

Original change's description:
> Cache expression compilers in incremental DDC mode
>
> - cache expression compilers in expression compiler worker
>   to improve performance of exression compilation.
> - pass module format in expression compiler worker
>   (the ddc format tests were not running!)
> - fix an issue where the same library was imported twice
>   in module_builder.dart
> - add verbose mode timeline logging to ProgramCompiler.
> - update tests.
>
> Closes: https://github.com/dart-lang/sdk/issues/49944
> Change-Id: Ie7408dcd42e757b1eb5e7f5ccbc1b078b6417011
> Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/268361
> Reviewed-by: Johnni Winther <johnniwinther@google.com>
> Reviewed-by: Mark Zhou <markzipan@google.com>
> Commit-Queue: Anna Gringauze <annagrin@google.com>
> Reviewed-by: Nicholas Shahan <nshahan@google.com>

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

Change-Id: I6c7209ffb03416dbb8d34c1a6f520f21766d9190
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/270840
Reviewed-by: Johnni Winther <johnniwinther@google.com>
Commit-Queue: Anna Gringauze <annagrin@google.com>
Reviewed-by: Anna Gringauze <annagrin@google.com>
2022-11-21 20:27:43 +00:00
Srujan Gaddam 7d8e63b0b5 [pkg:js] Disallow non-@staticInterop classes from inheriting @staticInterop
Adds checks that if the derived class does not have a `@staticInterop`
annotation, none of the classes it implements or immediately extends can
have it either. Also cleans up some redundant abstract class tests for
readability.

Change-Id: I2e8528b0fb02d9ce39003d00ee0b3da88ce75d44
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/268109
Reviewed-by: Sigmund Cherem <sigmund@google.com>
Reviewed-by: Riley Porter <rileyporter@google.com>
Commit-Queue: Srujan Gaddam <srujzs@google.com>
2022-11-21 20:19:06 +00:00
Srujan Gaddam 4c34e780cf [pkg:js] Require users to use @JS when using @staticInterop
Change-Id: Iea0a54ff03b32bc910ef2c6eb633bffd09cf0671
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/268108
Reviewed-by: Sigmund Cherem <sigmund@google.com>
Reviewed-by: Riley Porter <rileyporter@google.com>
2022-11-21 20:19:06 +00:00
Srujan Gaddam aab6ab8b84 [pkg:js] Disallow using @staticInterop synthetic constructors
Change-Id: I5c74369ee8ae97fcc21032464fcb8fea987022d9
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/268107
Reviewed-by: Joshua Litt <joshualitt@google.com>
Reviewed-by: Riley Porter <rileyporter@google.com>
Reviewed-by: Sigmund Cherem <sigmund@google.com>
2022-11-21 20:19:06 +00:00
Ahmed Ashour 9bea89246a Fix grammar
Fixes #50509

TEST=ci

Change-Id: I7ca115bbe6f436e9df126afddcc08eaba79af2f3
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/270740
Commit-Queue: Sigmund Cherem <sigmund@google.com>
Reviewed-by: Lasse Nielsen <lrn@google.com>
Reviewed-by: Derek Xu <derekx@google.com>
Reviewed-by: Sigmund Cherem <sigmund@google.com>
2022-11-21 20:07:29 +00:00
Ahmed Ashour 3556eb571e [analysis_server] RemoveDeadCode to handle forParts updaters
Fixes #43511

Change-Id: I8d717038356444c70e082aab37911791de63bd6e
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/266389
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com>
2022-11-21 19:59:27 +00:00
Sam Rawlins 8e743ca83c Add fix for CompileTimeErrorCode.SUPER_FORMAL_PARAMETER_TYPE_IS_NOT_SUBTYPE_OF_ASSOCIATED
Fixes https://github.com/dart-lang/sdk/issues/50524

Change-Id: I0d2a32c3c93e48979872592ba371865c695e76cd
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/271060
Commit-Queue: Samuel Rawlins <srawlins@google.com>
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
2022-11-21 19:44:02 +00:00
Ryan Macnak 3dfceb5ad8 [vm, service] Fix documentation on the various flavors of reference.
These have always been able to return non-Instances.

TEST=ci
Change-Id: I13e46aae8705ea1f79ec0618cdb815a8ed9c0fdb
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/270461
Reviewed-by: Ben Konyi <bkonyi@google.com>
Reviewed-by: Derek Xu <derekx@google.com>
Commit-Queue: Ryan Macnak <rmacnak@google.com>
2022-11-21 19:30:09 +00:00
Nate Biggs 795e35e0af [dart2js] Don't use deferred serialization strategy for Dart2JS info dump.
The info dump processor ends up deserializing most of the deferred data anyway so there is no benefit to the deferred logic. This saves ~600MB on info dump.

Change-Id: Ib9a1154b38594a3f046d5da96b477de9f2c90b9d
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/271041
Reviewed-by: Sigmund Cherem <sigmund@google.com>
Commit-Queue: Nate Biggs <natebiggs@google.com>
2022-11-21 19:29:58 +00:00
Sam Rawlins 6eef2c0649 Add fix for NON_FINAL_FIELD_IN_ENUM
Change-Id: I4eb8125468290af44b65343d620ee2646c2594c8
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/270800
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Samuel Rawlins <srawlins@google.com>
2022-11-21 18:42:51 +00:00
Ben Konyi 50aae78e4e [ VM / AOT ] Return false from Function::is_optimizable() rather than calling UNREACHABLE()
Fixes https://github.com/dart-lang/sdk/issues/50516

TEST=Manual testing

Change-Id: Icc6df5dc82e1a8d1977b7b49af0215330554279f
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/271043
Reviewed-by: Ryan Macnak <rmacnak@google.com>
Commit-Queue: Ben Konyi <bkonyi@google.com>
2022-11-21 18:39:38 +00:00
Paul Berry ef4f5a3470 Add parser support for patternVariableDeclaration.
Bug: https://github.com/dart-lang/sdk/issues/50035
Change-Id: I13158547d9200f37eb4434d1792b4d4667a46071
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/270920
Reviewed-by: Jens Johansen <jensj@google.com>
Commit-Queue: Paul Berry <paulberry@google.com>
2022-11-21 18:33:05 +00:00
Johnni Winther 22c013724b [cfe] Inline set literal and collection transformations in inference visitor
Change-Id: Iaf3a3a9fd288757280071701461e40057ba7e79d
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/270000
Commit-Queue: Johnni Winther <johnniwinther@google.com>
Reviewed-by: Chloe Stefantsova <cstefantsova@google.com>
2022-11-21 18:30:11 +00:00
Ahmed Ashour 6ab608ac8b [analyzer] DEPRECATED_MEMBER_USE message which ends with period.
Fixes #50518

Change-Id: I5c22eb73133b5591ca3b4ea4c63823fcab0935c3
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/271020
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com>
2022-11-21 18:07:32 +00:00
Danny Tuppeny 699b42c8e3 [analysis_server] Support adding multiple imports for @overrides completions
Related to https://github.com/Dart-Code/Dart-Code/issues/4116.

Change-Id: I81b9e7bfbe4bbd093770925f9dcb640b72487142
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/270181
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com>
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
2022-11-21 18:06:35 +00:00
Ben Konyi 3602351df0 [ VM Service ] Add support for '--[no-]serve-observatory'
To prepare for the eventual removal of Observatory, we plan on disabling
Observatory by default while providing an escape hatch to manually serve
the tool for some period of time before completely removing Observatory
from the SDK. This change adds flags that can be used to configure
whether or not Observatory is served.

Currently, '--serve-observatory' is the default behavior, but will be
changed to '--no-serve-observatory' once tooling is ready to support the
escape hatch behavior.

Part of https://github.com/dart-lang/sdk/issues/50233

TEST=run_test.dart

Change-Id: Ib6d1e1587d9fbd3c61d4a4c75d90635052835844
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/267720
Reviewed-by: Siva Annamalai <asiva@google.com>
Commit-Queue: Ben Konyi <bkonyi@google.com>
2022-11-21 17:47:31 +00:00
Paul Berry b8489128cb Test field promotion during top level inference.
Bug: https://github.com/dart-lang/language/issues/2020
Change-Id: I58d7f5691a4af614bcd481a109e340ca709fe4ec
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/270760
Reviewed-by: Johnni Winther <johnniwinther@google.com>
Commit-Queue: Paul Berry <paulberry@google.com>
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
2022-11-21 17:20:55 +00:00
Paul Berry 22c46e573a Field type promotion: fix CFE handling of abstract fields.
Bug: https://github.com/dart-lang/language/issues/2020
Change-Id: Ie35f7ff2d3de33c5f94bb7b703c13c9764a85c70
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/269981
Commit-Queue: Paul Berry <paulberry@google.com>
Reviewed-by: Johnni Winther <johnniwinther@google.com>
2022-11-21 15:25:03 +00:00
Paul Berry a975bf0737 Parser API changes in preparation for supporting patternVariableDeclaration.
Bug: https://github.com/dart-lang/sdk/issues/50035
Change-Id: I2661b7cbe60815b6232a165d56a478d8975aa6c2
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/270228
Reviewed-by: Jens Johansen <jensj@google.com>
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
Commit-Queue: Paul Berry <paulberry@google.com>
2022-11-21 14:30:16 +00:00
Paul Berry ac1ad9f393 Update shared analysis of object patterns to match spec.
In
ce01d330d7,
the patterns spec was changed so that if an object pattern's type
resolves to `dynamic` or `Never`, no getters are looked up during
static analysis, and the getter type is simply presumed to be
`dynamic` or `Never`, respectively.

Also, the parameter `requiredType` of `analyzeObjectPattern` is
removed (is was not needed, and the caller always passed `null`).

Finally, the test artifact `ObjectPatternRequiredType` is removed in
favor of just using a PrimaryType directly.  This makes the tests a
little bit more compact.

Change-Id: I6fcef8dab8250905e1d37308bbdc82a4fd65f52c
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/270982
Reviewed-by: Chloe Stefantsova <cstefantsova@google.com>
Commit-Queue: Paul Berry <paulberry@google.com>
2022-11-21 13:12:00 +00:00
Paul Berry 2d2a15af8f Mini-type testing framework: rename NonFunctionType.
The name was misleading because it only models types whose names take
the form `IDENTIFIER` or `IDENTIFIER<ARGS>`; it doesn't model record
types, promoted type variable types, "question"/"star" types, or the
"unknown" type, which aren't function types either.

"PrimaryType" seems like a good name because it's at the base of the
type grammar.

Change-Id: I6e1916931892f2ef670bc89cfebb198b596b0173
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/270981
Reviewed-by: Chloe Stefantsova <cstefantsova@google.com>
Commit-Queue: Paul Berry <paulberry@google.com>
2022-11-21 13:05:08 +00:00
Paul Berry cf4716149d Shared patterns analysis: adjust nomenclature to match spec
Rename `TypeAnalyzer.analyzeInitializedVariableDeclaration` to
`analyzePatternVariableDeclarationStatement`, since the corresponding
grammar construct is called `patternVariableDeclaration`.

Change-Id: I5819a4434349b85974252f8e4da35adeffbc3d7d
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/270980
Reviewed-by: Chloe Stefantsova <cstefantsova@google.com>
Commit-Queue: Paul Berry <paulberry@google.com>
2022-11-21 13:03:57 +00:00
Alexander Thomas ae1ed9e469 [infra] Remove bullseye-updates from dockerfile
This made the docker build work for me locally. The "updates" list was
probably needed on jessie but isn't needed on bullseye anymore.

Change-Id: I88f257b928f6ef690dac9e7d450eaa4c2ea12b2f
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/271102
Reviewed-by: William Hesse <whesse@google.com>
2022-11-21 12:43:36 +00:00
William Hesse 80a16a16cb [dart] Move LongStringCompare benchmark to correct directory
Bug: https://github.com/dart-lang/sdk/issues/50190
Change-Id: If9d350622217100a6882c10978e4434d51f4fba3
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/271081
Commit-Queue: Jonas Termansen <sortie@google.com>
Reviewed-by: Jonas Termansen <sortie@google.com>
Auto-Submit: William Hesse <whesse@google.com>
2022-11-21 12:03:33 +00:00
Alexander Thomas bc48c17c22 [infra] Upgrade Debian package builder to Bullseye
Change-Id: I21e1d01d3acb7d780294fd5cabf75da9dcebd32e
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/271080
Reviewed-by: William Hesse <whesse@google.com>
2022-11-21 10:49:32 +00:00
Aske Simon Christensen 2518307779 [dart2wasm] Generic function types
Extend the runtime representation of function types with a list of
type parameter bounds and take these into account when doing subtype
comparisons on function types.

The implementation has a number of limitations for now:

- When converting a function type to a string, the type does not know
  its nesting depth. Function types on all nesting levels thus follow
  the same naming scheme for their type parameters (`X0`, `X1`, ...),
  which can lead to name clashes between type parameters in the case
  of nested generic function types.

- When a generic function is instantiated, the type arguments are not
  substituted for the function type parameters in the type of the
  resulting function object, which therefore has an incorrect type.

- The default types of function type parameters are not explicitly
  represented in function types. When we implement automatic
  instantiation of missing type arguments in dynamic function calls,
  we need to either add the default types to the representation
  somehow or compute them from the bounds.

Change-Id: Ib756d9f8f2b6959efd7ef2e6bc79c7e4793ca3e8
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/269761
Commit-Queue: Aske Simon Christensen <askesc@google.com>
Reviewed-by: Joshua Litt <joshualitt@google.com>
2022-11-21 10:40:20 +00:00
Aske Simon Christensen 35100862c2 [dart2wasm] Shallow type normalization
Since we normalize types at every step of runtime type construction
(in `Types.makeType` and `ConstantCreator.visitTypeLiteralConstant`)
we don't need to normalize types recursively, except in the case of
`FutureOrType`.

This change avoids creating new type parameters for function types,
which would interfere with construction of generic function types.

Change-Id: I8f7c0ec4348e962ca6e67a9c1224107f73f75474
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/270001
Reviewed-by: Joshua Litt <joshualitt@google.com>
2022-11-21 10:40:20 +00:00
Sergey G. Grekhov e970e6c825 [co19] Roll co19 to 2a9309cd36effe3b083df6a2761fea6b7213c670
2022-11-16 sgrekhov22@gmail.com dart-lang/co19#1401 [Patterns] Variable pattern tests added (dart-lang/co19#1546)
2022-11-11 sgrekhov22@gmail.com Fixes dart-lang/co19#1541. Fix covariance_t07.dart. Use correct instance for testing (dart-lang/co19#1542)

Change-Id: I7a8c4d095bafde203498e304f85ee9cd94692419
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/270620
Reviewed-by: Alexander Thomas <athom@google.com>
2022-11-21 08:06:27 +00:00
Konstantin Shcheglov 92908bd8e7 Update analyzeListPattern() and analyzeListPatternSchema() to the new spec, support for rest.
Change-Id: Ia4c88e9307b4b37b163aa35c3ac2b906ed431120
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/270483
Reviewed-by: Paul Berry <paulberry@google.com>
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
2022-11-21 03:23:37 +00:00
Konstantin Shcheglov 1a59438051 Use single instance of _VariableBinder.
Change-Id: I9cd57705c505a13059afb0f84e5c8ab73c28f747
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/270841
Reviewed-by: Samuel Rawlins <srawlins@google.com>
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
2022-11-20 19:45:25 +00:00
Alexander Aprelev 9b5bc94343 [vm/double_hash] Avoid NaN in double hash code testing.
NaN bits are platform and toolchain specific, so hashode can't be pinned down to
a fixed value.

Fixes https://github.com/dart-lang/sdk/issues/50493
TEST=ci

Change-Id: I41a38d2e91e2dd851a3f00cb92b587414b71ddfd
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/270360
Commit-Queue: Alexander Aprelev <aam@google.com>
Reviewed-by: Martin Kustermann <kustermann@google.com>
2022-11-20 14:56:49 +00:00
Jason Simmons c100e1fa57 [dart2wasm] Remove unnecessary rebase_path when running list_sources.py
Change-Id: I5ebadb79f20f6380e74a61722c119ada864b2e56
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/270900
Commit-Queue: Jason Simmons <jsimmons@google.com>
Reviewed-by: Alexander Aprelev <aam@google.com>
2022-11-19 22:53:26 +00:00
Ömer Sinan Ağacan d46aa63099 [dart2wasm] Document DispatchTable and SelectorInfo
Some other changes:

- Variable `id` renamed to `classId` in a few places. In this code there
  are two types of IDs: class IDs and selector IDs, and they have the
  same type. So just "id" is ambiguous to the reader.

- `SelectorInfo.sortWeight` and `SelectorInfo.isAlive` getters moved to
  `DispatchTable.build` as local functions

- Most of the members are made private.

- List of selector IDs of a class is now a Set. These lists used to have
  duplicate selector IDs coming from superclasses.

- `DynamicDispatcher.maybeCalledDynamically` special case for
  `noSuchMethod` moved to `SelectorInfo.isAlive`, as the only reason why
  we had that special case is to keep selector for `noSuchMethod` alive.
  `maybeCalledDynamically` inlined in the use site.

Change-Id: Iff650862d57e376913bda67db74bc67466d45e87
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/269461
Reviewed-by: Aske Simon Christensen <askesc@google.com>
Reviewed-by: Joshua Litt <joshualitt@google.com>
Commit-Queue: Ömer Ağacan <omersa@google.com>
2022-11-19 09:51:19 +00:00
asiva bd8268ffd4 [Status File] Skip service weak_properties_test in AOT mode as it uses
dart:mirrors

TEST=ci
Change-Id: I24554c01ca6c9cc0b24c9c2bb3f6ad4c4e6a96f1
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/270820
Reviewed-by: Ryan Macnak <rmacnak@google.com>
Commit-Queue: Ryan Macnak <rmacnak@google.com>
Auto-Submit: Siva Annamalai <asiva@google.com>
2022-11-19 01:34:15 +00:00
Sam Rawlins 100f78daf6 Enforce new lint rules in pkg/analysis_server
Change-Id: I2fd938e5bc44f0798429b68524abc5718211c0ce
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/270482
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
Commit-Queue: Samuel Rawlins <srawlins@google.com>
2022-11-18 22:36:57 +00:00
Nicholas Shahan bdc13d89bb [ddc] Add public API and DartDoc comments
Followup for https://dart-review.git.corp.google.com/c/sdk/+/266540.

Create a public API to better document the interaction between 
`TypeRecipeGenerator` and `_TypeRecipeVisitor`.

Issue: https://github.com/dart-lang/sdk/issues/48585
Change-Id: Ideeea0e6fa313e77a40e8bc04987c5bf1ed380ce
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/269482
Commit-Queue: Nicholas Shahan <nshahan@google.com>
Reviewed-by: Anna Gringauze <annagrin@google.com>
2022-11-18 22:15:48 +00:00
Ryan Macnak 9a5dd4707f [vm] Remove "Impl" suffix from VM implementation classes.
This makes things nicer to read in places that display implementation names, such as stack traces, debuggers, profilers and inspectors.

TEST=ci
Change-Id: I959f70d9e51be59801c4455f8c5ccac3c214c21a
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/270502
Commit-Queue: Ryan Macnak <rmacnak@google.com>
Reviewed-by: Daco Harkes <dacoharkes@google.com>
2022-11-18 21:42:59 +00:00
Nate Biggs bdb782ba8f [dart2js] Add mmap-based read to dart2js for linux systems.
Based on Martin Kustermann and Slava Egorov's versions of memory mapped views.

This feature is disabled by default and even if the flag is enabled, it will fall back to the current strategy if the platform is not Linux or the new strategy fails.

Phase 1 stats from 50 runs:
---Before---
Max memory: 8786.766
Median memory: 8116.242
Average memory: 8327.404081632654
---After---=
Max memory: 7805.691
Median memory: 7137.203
Average memory: 7305.301122448978

Phase 2 stats from 50 runs:
---Before---
Max memory: 9273.359
Median memory: 8742.133
Average memory: 8868.929124999999
---After---
Max memory: 9409.672
Median memory: 7500.148
Average memory: 7650.154000000001

Phase 3b stats from 50 runs:
---Before---
Max memory: 8979.367
Median memory: 8705.215
Average memory: 8703.982755102037
---After---
Max memory: 7809.898
Median memory: 7455.609
Average memory: 7449.96102040816


Change-Id: I73d73cfb26218399367c72c886f247836b89925c
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/269640
Commit-Queue: Nate Biggs <natebiggs@google.com>
Reviewed-by: Sigmund Cherem <sigmund@google.com>
2022-11-18 21:40:38 +00:00
Stephen Adams b8d85b7ad3 [dart2js] loadLibrary priority annotation
Add annotations

    @pragma('dart2js:load-priority:normal')
    @pragma('dart2js:load-priority:high')

The test shows that these annotations are scoped.

This CL is just plumbing the annotation through as an argument to the runtime call to the code that implements `loadLibrary()`. Actual prioritization is not yet implemented.

Change-Id: Iff1404baf34192139dab95e2dbb01c2d4e8dae45
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/270283
Reviewed-by: Sigmund Cherem <sigmund@google.com>
Commit-Queue: Stephen Adams <sra@google.com>
2022-11-18 19:22:29 +00:00
Kallen Tu e7c0280487 [analyzer/cfe] Add support for sealed mixins and class type aliases.
Change-Id: I1b875f9569ed09db73bda5fe33e723c8e8ed3b79
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/270020
Commit-Queue: Kallen Tu <kallentu@google.com>
Reviewed-by: Johnni Winther <johnniwinther@google.com>
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
2022-11-18 19:09:40 +00:00
Konstantin Shcheglov 43a684ad60 Stop using logicalOrPattern(), use or() instead.
Change-Id: I63db2c1a24c41b6c0a639a69802d23ad07d44621
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/270600
Reviewed-by: Paul Berry <paulberry@google.com>
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
2022-11-18 19:01:18 +00:00
Konstantin Shcheglov e65f0f43ea Resolve if-case statement, make variables available to 'when' and 'ifTrue'.
Change-Id: I1f5074753792aba6ace28f1e2ec8e970fd22fddf
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/270561
Reviewed-by: Paul Berry <paulberry@google.com>
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
2022-11-18 19:00:57 +00:00
Nate Biggs 3d61bef06e [dart2js] Migrate serialization/task.dart to null safety.
Change-Id: Icbba0f1f1ba3d68d4374e15ade41d3a8876510e5
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/270344
Reviewed-by: Mayank Patke <fishythefish@google.com>
Commit-Queue: Nate Biggs <natebiggs@google.com>
2022-11-18 18:38:12 +00:00
Nate Biggs ec6184f7ef [dart2js] Clean up migration files for common/codegen.dart.
Change-Id: I7b236580cb0ecfa9aa71f4976bd954570b944284
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/270343
Reviewed-by: Mayank Patke <fishythefish@google.com>
2022-11-18 18:38:12 +00:00
Nate Biggs ca07c65770 [dart2js] Clean up migration files for js_emitter.
Change-Id: I113f4cb410d4e3372825d9af8c83dbf4af844716
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/270342
Reviewed-by: Mayank Patke <fishythefish@google.com>
2022-11-18 18:38:12 +00:00
Nate Biggs 7ef59cdf1f [dart2js] Migrate startup_emitter/emitter.dart and js_emitter/code_emitter_task.dart to null safety.
Change-Id: Iabad108c88a4e900fcb0c05dc23bb7318b04472b
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/270341
Reviewed-by: Mayank Patke <fishythefish@google.com>
2022-11-18 18:38:12 +00:00
Nate Biggs b91ad8cd39 [dart2js] Migrate common/codegen.dart to null safety.
Change-Id: I474f31946b9a9da59e7f51e78907691afc860782
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/270340
Reviewed-by: Mayank Patke <fishythefish@google.com>
2022-11-18 18:38:12 +00:00
Konstantin Shcheglov 84c452a826 Update SwitchExpression to th new state of the specification.
Change-Id: I6ae0950eff55febd438c92580c866f050c80bd1a
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/270580
Reviewed-by: Paul Berry <paulberry@google.com>
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
2022-11-18 17:12:02 +00:00