The operator predence wasn't what I thought it was and reclient gets
downloaded on windows-arm64 where no package is available.
Change-Id: I89b474f1107f2445d5e76a2912cee8bcacf4a667
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/345520
Reviewed-by: Martin Kustermann <kustermann@google.com>
Remove older version tags in vm_service and clean up old experiments.
Bug: b/318347018
Change-Id: I6bf87e46878d57d05d7f9d64674ce0c573364d4a
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/345302
Reviewed-by: Ben Konyi <bkonyi@google.com>
Commit-Queue: Jonas Termansen <sortie@google.com>
The method is introduced as a preliminary step in sharing constraint
gathering and solving engine between the Analyzer and the CFE.
Change-Id: I321a931908054bc08dff0626adcd23deb046230f
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/343781
Reviewed-by: Paul Berry <paulberry@google.com>
Commit-Queue: Chloe Stefantsova <cstefantsova@google.com>
Reviewed-by: Johnni Winther <johnniwinther@google.com>
Bug: b/296994239
Change-Id: Ie8630bcece5c2f62c5693afe654fb9d6367b33e4
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/345286
Commit-Queue: Jonas Termansen <sortie@google.com>
Reviewed-by: Alexander Thomas <athom@google.com>
Now that we no longer expect to compile unmigrated code, we can clean up
tests that use old language versions. This will enable code cleanup in
backends.
Change-Id: If5711b3bf7c97546168b7fbe6949452e84d4bd40
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/345368
Reviewed-by: Johnni Winther <johnniwinther@google.com>
Commit-Queue: Mayank Patke <fishythefish@google.com>
This allows using the new scope finder and facilitates expression
compilation with and in extension types.
For now the script uri is optional (and only passable in the new json
input via package:frontend_server), and only if the script uri is passed
we'll use the new scope finder.
Flutter etc should be updated to pass the new data.
Change-Id: I36eed1ea76a825e63e4c5b9ea60daf18aee39f3d
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/342400
Reviewed-by: Johnni Winther <johnniwinther@google.com>
Commit-Queue: Jens Johansen <jensj@google.com>
Reviewed-by: Anna Gringauze <annagrin@google.com>
This CL standardizes some comment formats, adds a few missing doc comments, and updates a few others.
It also adds text to a few annotations indicating they are likely to be deprecated in a future release and what the migration path is.
Contributes to https://github.com/dart-lang/sdk/issues/54389
Change-Id: I4fc6d9767378b855a1ab2a1978747fbe18850605
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/342281
Reviewed-by: Samuel Rawlins <srawlins@google.com>
Auto-Submit: Parker Lougheed <parlough@gmail.com>
Commit-Queue: Samuel Rawlins <srawlins@google.com>
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
The old website no longer works for the current format and is archived, so stop directing users there. Same for the package which is no longer hosted on pub.
Change-Id: I9bc6782680859771964587c0af7679f829fa8f95
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/345481
Auto-Submit: Parker Lougheed <parlough@gmail.com>
Reviewed-by: Sigmund Cherem <sigmund@google.com>
Commit-Queue: Mayank Patke <fishythefish@google.com>
Reviewed-by: Mayank Patke <fishythefish@google.com>
We still need to maintain W^X on iOS and Mac OS X.
TEST=ci
Change-Id: I78f005055d090d54f5da478164a73f18e11a32ac
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/345303
Reviewed-by: Ryan Macnak <rmacnak@google.com>
Commit-Queue: Slava Egorov <vegorov@google.com>
E.g. weekly bot run
176 failed with "getIsolate: (112) Service has disappeared" among other things this.
173 failed with "getIsolate: (112) Service has disappeared".
172 failed with "getIsolate: (112) Service has disappeared".
168 failed with "[Sentinel kind: Collected, valueAsString: <collected>] from getIsolate()".
This will probably fix such issues, although I haven't been able to
reproduce them so I can't be certain.
Change-Id: I3fae76c6031d1a9dbf495e12412f4f95e567c6fd
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/345304
Reviewed-by: Johnni Winther <johnniwinther@google.com>
Commit-Queue: Jens Johansen <jensj@google.com>
We are no longer using Dart VM in a setting where this
matters as a security measure and it just complicates
portability for no benefit.
There is an indication that it is causing problems when
running Linux build of Dart VM under Docker on Mac OS X.
Fixes https://github.com/dart-lang/sdk/issues/54446
TEST=ci
Cq-Include-Trybots: luci.dart.try:vm-fuchsia-release-arm64-try,vm-fuchsia-release-x64-try
Change-Id: I11bdaa8faebaca1df6fd59097049bdaea9cb8e12
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/344581
Reviewed-by: Ryan Macnak <rmacnak@google.com>
Commit-Queue: Slava Egorov <vegorov@google.com>
Developers that are not ready to migrate can use --use-goma to enable it
themselves if RBE is not meeting their needs. I omitted advertising that
long-existing option in the message since it literally takes five
minutes to migrate to RBE and so far it has had feature parity on Linux.
Bug: b/296994239
Change-Id: I026cd38e644f15da2a0cc641d461a5476de5786e
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/342360
Commit-Queue: Jonas Termansen <sortie@google.com>
Reviewed-by: Alexander Thomas <athom@google.com>
The stable channel now has builds for all the platforms as there are no
longer any unstable platforms. Let's see if it works since there's no
reason to bump to a 3.3 dev since nobody has needed it yet.
Change-Id: If32e18aa3d26b12b8b7c24d0d36158a922174354
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/345284
Commit-Queue: Jonas Termansen <sortie@google.com>
Commit-Queue: Alexander Thomas <athom@google.com>
Reviewed-by: Alexander Thomas <athom@google.com>
Auto-Submit: Jonas Termansen <sortie@google.com>
Bug:#54423
Change-Id: I483d51861390cd4c5def02295a976db4363b84bb
CoreLibraryReviewExempt: Documentation-only change
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/342762
Reviewed-by: Lasse Nielsen <lrn@google.com>
Reviewed-by: Alexander Thomas <athom@google.com>
Commit-Queue: Alexander Thomas <athom@google.com>
Prevents auto-linking to incorrect issue when the tool's output is committed. Do this by removing the hash from `#number` in the commit message, and replacing the PR link at the of the message with a fully qualified reference that resolves to the correct repository on GitHub.
An example of the new output:
```
yaml (98a3aab..509fd72):
509fd72 Mon Dec 11 16:37:13 2023 -0800 Kevin Moore update lints, require Dart 3.0 (dart-lang/yaml#156)
yaml_edit (9b9d33c..47eb20e):
47eb20e Mon Jan 1 13:13:22 2024 +0000 dependabot[bot] Bump actions/stale from 8.0.0 to 9.0.0 (dart-lang/yaml_edit#63)
a39ec39 Wed Dec 20 11:51:28 2023 -0800 Kevin Moore blast_repo fixes (dart-lang/yaml_edit#62)
```
Closes https://github.com/dart-lang/sdk/issues/53857
Change-Id: I23e9d556c69445189a916ce33091a9c77ae15941
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/344361
Commit-Queue: Nate Bosch <nbosch@google.com>
Reviewed-by: Nate Bosch <nbosch@google.com>
Auto-Submit: Parker Lougheed <parlough@gmail.com>
Reviewed-by: Devon Carew <devoncarew@google.com>
Previously `VariableDeclaration.initializer` was sometimes not null even
when a function parameter is required.
[1] fixes this, which breaks dart2wasm. This CL prepares `initializer`
usage in prep for [1].
[1]: https://dart-review.googlesource.com/c/sdk/+/345240/1
Change-Id: Ie16156d01eb3659719f004996adce7acc3511b12
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/345300
Commit-Queue: Martin Kustermann <kustermann@google.com>
Reviewed-by: Martin Kustermann <kustermann@google.com>
They existed for 7+ years, but now its time to remove them :-)
The remaining tests were covering not AnalysisDriver specific cases,
mostly constants, type inference, and resolution. These are already
covered by specific test classes.
Change-Id: Ie203c5358ee63e59b6aea3381c58a25e2a5ebcb8
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/345342
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
Reviewed-by: Phil Quitslund <pquitslund@google.com>
This is a reland of commit 717ce7a69c with a slight modification to `AnalysisDriver` to allow Google3 clients to pass an analysisOptions object in.
The logic to accommodate this is only temporary and will go away as soon as I can update clients to use an options map instead.
Original change's description:
> options map support scaffolding in driver
>
> Konstantin and I chatted a bit about this so at least some of it shouldn't be too surprising to him but please do feel free to grab me to chat.
>
> That said a few pointers would be handy. Notably, this change:
>
> * introduces a new `SharedOptionsOptionsMap` for use in SDK drivers (and preserve current semantics)
> * this is currently public but will be private once driver is more evolved to accommodate multiple options files
> * removes the shared `_analysisOptions` from the analysis driver with a baby step to using the one shared in SharedOptionsOptionsMap
> * removes context_builder and collection v2 experiments (and tests)
> * I'll harvest some more functionality from these in future changes but for now they're distracting and hard to maintain
>
> This work is all to setup moving analysis options awareness into file state objects which will allow us to remove `sdkVersionConstraint` info from options (finally) and a host of other good stuff (see https://github.com/dart-lang/sdk/issues/54124).
>
>
>
> Change-Id: Ic4278184016d1018b4b5b1c6ac5ba9e2546927a5
> Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/344860
> Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
> Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
> Commit-Queue: Phil Quitslund <pquitslund@google.com>
Change-Id: Iac9c4eb1aa448f2ca44e32dfb6cdf7cf765b6027
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/344944
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Phil Quitslund <pquitslund@google.com>
It is used only internally by the scheduler, and we observe its effect
by seeing results and/or transitions to analyzing/idle.
Change-Id: If79f2e3e36b48f66c1f1fb5e94db46bad3bb815b
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/345340
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
This should make these tests to pass.
co19/LanguageFeatures/Extension-types/exhaustiveness_relational_A01_t01
co19/LanguageFeatures/Extension-types/exhaustiveness_relational_A01_t03
Change-Id: Ic7550131a69636b8d58613f96be06e8b87fc473f
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/345082
Reviewed-by: Johnni Winther <johnniwinther@google.com>
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
This change includes the following:
- A new `tooling-daemon` CLI command to launch DTD
- Minor refactoring of package:dtd_impl to better match expected
Dart package structure
- Updated build rules to create dart_tooling_daemon.dart.snapshot
Change-Id: Idd91bc4ce64ce790db5bad323a50d9cf65523dc2
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/344800
Reviewed-by: Dan Chevalier <danchevalier@google.com>
Commit-Queue: Ben Konyi <bkonyi@google.com>
Previously, CanBeImmediateIndex calculated the scaling factor for the
index using Instance::ElementSizeFor. However, the LoadIndexed and
StoreIndexed instructions which use this function have an index_scale_
field that is not necessarily the same as the element size for the
class id. This means the displacement calculated within
CanBeImmediateIndex can differ from the actual displacement calculated
within ElementAddressForIntIndex, causing the bug seen by the fuzzer.
This CL moves the check in CanBeImmediateIndex to a new static
method Assembler::AddressCanHoldConstantIndex. In addition to the
original arguments to CanBeImmediateIndex, the new static method takes
an index_scale argument, so the field value can be passed appropriately.
It also adds an is_external argument on X64 and IA32 to match the other
architectures, since assuming a non-external typed data object could
cause a register to be used in cases where it isn't necessary.
TEST=vm/dart/regress_54486
Fixes: https://github.com/dart-lang/sdk/issues/54486
Change-Id: Ia553fb7da0500113b35f8d9af91a52df55437a3c
Cq-Include-Trybots: luci.dart.try:vm-aot-linux-debug-x64-try,vm-linux-debug-ia32-try,vm-aot-linux-debug-simarm_x64-try,vm-aot-linux-debug-simriscv64-try,vm-aot-mac-release-arm64-try
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/345002
Reviewed-by: Daco Harkes <dacoharkes@google.com>
Previously, the default type arguments for closure functions were
instantiated in the same way as other types of functions, where the
instantiator and function type arguments of the call were used. However,
the defaults for closure functions should be instantiated with the
instantiator and parent function type arguments stored within the
closure itself.
Since the instantiation of the default type arguments only depends on
the instantiator and parent function type arguments, which are shared
between partial instantiations of the same generic closure, the VM
performs this instantiation once at closure creation and caches it in
the closure object, so it can be retrieved when the default type
arguments are needed and copied to new partial instantiations of the
same closure without need for recalculation.
As a side effect, this should speed up dynamic invocation of generic
closures, since the invoke field dispatcher that implements them
previously performed this instantiation when needed on every invocation,
but now it just retrieves the cached version instead.
TEST=language/closure/type_arguments vm/dart/regress_54426
Fixes: https://github.com/dart-lang/sdk/issues/54426
Change-Id: I9baad807befa0323f3c5b66196b9664e4d78af0a
Cq-Include-Trybots: luci.dart.try:vm-aot-linux-release-x64-try,vm-reload-linux-release-x64-try,vm-reload-rollback-linux-release-x64-try,vm-tsan-linux-release-x64-try,vm-aot-tsan-linux-release-x64-try,vm-aot-msan-linux-release-x64-try,vm-msan-linux-release-x64-try,vm-aot-linux-release-arm64-try,vm-aot-dwarf-linux-product-x64-try,vm-aot-mac-product-arm64-try,vm-aot-obfuscate-linux-release-x64-try
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/344700
Reviewed-by: Daco Harkes <dacoharkes@google.com>