Commit Graph

7725 Commits

Author SHA1 Message Date
Ryan Macnak 3fbd3ab070 [infra] Clean-up debugging temp file quarantine issue.
Change-Id: I8004c07ce0a60ac5134ac9c871cca2a9300b3583
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/467381
Reviewed-by: Alexander Aprelev <aam@google.com>
Commit-Queue: Ryan Macnak <rmacnak@google.com>
2025-12-16 13:34:00 -08:00
Paul Berry fb19233ff8 [messages] Use lowerCaseName in verify_docs.
Change the `verify_docs` package's use of `DiagnosticCode.name` to
`DiagnosticCode.lowerCaseName`. There is no functional change since
all diagnostic codes generated by the analyzer are already in lower
case.

This helps pave the way for eventually deprecating and removing
`DiagnosticCode.name`, which will help ensure that analyzer clients
treat diagnostic codes in a case-insensitive fashion.

Change-Id: I6a6a69645300e89b1bed342804d5e89ae9cf556b
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/468141
Reviewed-by: Nate Bosch <nbosch@google.com>
Commit-Queue: Paul Berry <paulberry@google.com>
2025-12-15 17:45:52 -08:00
Erik Ernst 391212f3da Update the specification grammar
The augmentations feature has been modified over a period of time.
This CL introduces the associated grammar changes into the
specification grammars.

Change-Id: Iaa4cdd4c3ffea26ac327265468d68fae59efb2fd
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/467840
Reviewed-by: Johnni Winther <johnniwinther@google.com>
Commit-Queue: Erik Ernst <eernst@google.com>
2025-12-12 04:53:59 -08:00
Alexander Markov 07c7c4ea50 [vm] Generate Dart declarations for runtime offsets
TEST=dart tools/run_offsets_extractor.dart
Issue: https://github.com/dart-lang/sdk/issues/61635
Change-Id: Ic24111aa923214cfc332a8fb4677d8941a2999d9
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/446700
Reviewed-by: Slava Egorov <vegorov@google.com>
Commit-Queue: Alexander Markov <alexmarkov@google.com>
2025-12-11 08:23:57 -08:00
Kallen Tu 2110e90d68 Rename 'declaring-constructors' to 'primary-constructors' experiment flag.
Changed the flag to `primary-constructors` to align with the rest of
the feature's public naming.

Renamed tests and existing usages of the flag.

Bug: https://github.com/dart-lang/sdk/issues/61526
Change-Id: Id649447a50917ba5bcddb49661555889dc81ba14
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/464761
Reviewed-by: Johnni Winther <johnniwinther@google.com>
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Reviewed-by: Erik Ernst <eernst@google.com>
Reviewed-by: Michael Thomsen <mit@google.com>
2025-12-01 13:54:52 -08:00
Erik Ernst 2150f338db Add the flag anonymous-methods to experimental_features.yaml
Change-Id: I0c886b980e50e4a0350329eae2c835c42f9c8188
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/464160
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
Commit-Queue: Erik Ernst <eernst@google.com>
Reviewed-by: Ömer Ağacan <omersa@google.com>
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Reviewed-by: Johnni Winther <johnniwinther@google.com>
2025-11-26 02:48:25 -08:00
Ryan Macnak 2509b87755 [infra] Print more Windows temp directories.
Change-Id: I17aa42e5c99591ab026e7bcfda8ec6c91f269ea8
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/464280
Commit-Queue: Ryan Macnak <rmacnak@google.com>
Reviewed-by: Alexander Aprelev <aam@google.com>
2025-11-24 13:23:08 -08:00
Jake Macdonald 76dcc632ca add a tool for searching for dart and flutter releases containing a specific commit
Change-Id: I57c4c00d4d96796e2306e1506880ae2183cfc468
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/463780
Auto-Submit: Jake Macdonald <jakemac@google.com>
Reviewed-by: Nate Bosch <nbosch@google.com>
Commit-Queue: Jake Macdonald <jakemac@google.com>
2025-11-24 08:29:14 -08:00
Daco Harkes 0d052e3969 [deps] Roll dart-lang/native
This roll moves `package:record_use` to the dart-lang/native repo.

Change-Id: I31183dc8b72272d7e94ed3031ca0b8bfca583e0d
Cq-Include-Trybots: luci.dart.try:pkg-linux-debug-try,pkg-linux-release-arm64-try,pkg-linux-release-try,pkg-mac-release-arm64-try,pkg-mac-release-try,pkg-win-release-arm64-try,pkg-win-release-try
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/463662
Commit-Queue: Daco Harkes <dacoharkes@google.com>
Reviewed-by: Michael Goderbauer <goderbauer@google.com>
2025-11-24 05:04:03 -08:00
Ryan Macnak b8173a06ad [infra] Also kill Windows Explorer.
Change-Id: If5c574e075479a6cb187b646197871fc9ddb69df
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/463061
Commit-Queue: Ryan Macnak <rmacnak@google.com>
Reviewed-by: Alexander Aprelev <aam@google.com>
2025-11-19 11:16:43 -08:00
Jessy Yameogo 81a139584e [frontend_server_client] Migrate package to the SDK repository
This CL migrates the `frontend_server_client` package into the Dart SDK
repository.

Key Changes:
- Migration: Moved source code and tests into `pkg/frontend_server_client`.
- Monorepo Compliance: Updated the pubspec to align with the SDK pub workspace setup.
- Linting: Adopts `package:dart_flutter_team_lints` for analysis options and fixes associated linting errors.
- Path Resolution: Resolved package configuration and script path issues encountered in local and CI environments; see the [Workspace Tests Fixes](https://docs.google.com/document/d/1UdiRqP19qYgj-ItxDfqXSdUU6CGimiyK3BmdvjtTEyw/edit?pli=1&tab=t.0#heading=h.xfm1ezicaoik) in the design doc for implementation details.

Testing:
- All tests passing locally.
- CI try bots are green.

Design Doc: http://goto.google.com/migrating-webdev
Cq-Include-Trybots: luci.dart.try:pkg-win-release-try,pkg-win-release-arm64-try,pkg-mac-release-try,pkg-mac-release-arm64-try,pkg-linux-release-try,pkg-linux-release-arm64-try,pkg-linux-debug-try
Change-Id: Id44a701107d626df5fcd21d724980243981c7958
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/461200
Reviewed-by: Alexander Thomas <athom@google.com>
Commit-Queue: Jessy Yameogo <yjessy@google.com>
2025-11-18 07:34:31 -08:00
Paul Berry 935d5faf34 [messages] Switch verify_docs.dart to new analyzer diagnostic codes.
I'm currently going through a process of updating the analyzer and
related packages so that their diagnostic codes are generated into top
level constant declarations in `diagnostic.dart` files rather than
static constants inside of classes like `CompileTimeErrorCode`. This
will help pave the way for unifying the treatment of diagnostic codes
between the analyzer and the CFE (since the CFE doesn't segregate
diagnostic codes into subclasses the way the analyzer does). At the
moment, both the old and the new constants exist, to allow client code
to be transitioned from one to the other.

This change transitions the references in `verify_docs.dart` over to
refer to the new top level constant declarations.

Change-Id: I6a6a6964d9a806b9b45394f2c1826fb71fbff681
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/462163
Reviewed-by: Nate Bosch <nbosch@google.com>
Commit-Queue: Paul Berry <paulberry@google.com>
2025-11-14 13:51:39 -08:00
Alexander Markov c9e8aab56b [bots] Increase number of shards for vm-aot-android-* bots
Shards on vm-aot-android-debug-arm64c and vm-aot-android-debug-arm_x64
bots have been timing out recently, exceeding 1.5h testing time.
It seems like they are making progress, but number of tests is quite
large.

Increase number of shards from 10 to 16 in order to reduce running
time of each shard and avoid timeouts.

Change-Id: Id53d2cdf1eaa2606874118153c0f9c822c212daf
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/461840
Auto-Submit: Alexander Markov <alexmarkov@google.com>
Reviewed-by: Alexander Thomas <athom@google.com>
Commit-Queue: Alexander Markov <alexmarkov@google.com>
2025-11-14 09:45:16 -08:00
Erik Ernst d06e6956e8 Update spec parser rules about primary constructors
This CL changes Dart.g and Dart.g4 such that the spec parser will
parse primary constructors using a simpler and clearer set of rules.
In particular, the body part of a primary constructor has been given
its own signature (`primaryConstructorBodySignature`), which makes it
easier to denote the constructs which are used along with primary
constructors, and it also supports a more comprehensible AST structure.

Change-Id: I7c211ecd76596927a044bdedc5dec3a7eaf9a8b5
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/460420
Reviewed-by: Chloe Stefantsova <cstefantsova@google.com>
Commit-Queue: Erik Ernst <eernst@google.com>
2025-11-10 00:30:12 -08:00
Ivan Inozemtsev b1e465af9a Make sure bots can submit gerrit CLs
Change-Id: Ic9ebc8089defaffeaf1d9fa682846442a0230a3d
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/460380
Reviewed-by: Alexander Thomas <athom@google.com>
2025-11-07 07:02:57 -08:00
Ryan Macnak 5ba9507912 [infra] Also kill dartvm, gen_snapshot_product and run_vm_tests after builds and tests.
Change-Id: I970a97b55689216c0e150676400c59aed29e896b
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/458461
Commit-Queue: Ryan Macnak <rmacnak@google.com>
Reviewed-by: Alexander Aprelev <aam@google.com>
2025-11-04 10:40:51 -08:00
Erik Ernst 5656806517 Update the spec parser to support new();`
This CL changes the spec parser specification (Dart.g and Dart.g4) such
that the grammar allows for the new style of constructor declarations
(such as `new();` and `new name();`). It also adjusts the declaring body
constructor syntax to use the same style (`this();` and `this name();`).
Finally, it updates a few non-terminals to use a naming that avoids the
ambiguity of `classNamePart`. These changes introduce about 5 new
failures when parsing $SDK/tests/language.

Change-Id: I3e6ac9f0782e3bde863a13c93a54a089c93c7e13
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/456640
Reviewed-by: Chloe Stefantsova <cstefantsova@google.com>
Commit-Queue: Erik Ernst <eernst@google.com>
2025-11-03 01:35:25 -08:00
Ryan Macnak f8e61ad148 [vm] Fix TSAN symbolization for Mac.
TEST=tsan
Change-Id: I44456d685737c0fe59c25d0f2cc9f6fc8a4ded56
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/456106
Reviewed-by: Liam Appelbe <liama@google.com>
Commit-Queue: Ryan Macnak <rmacnak@google.com>
2025-10-20 15:58:20 -07:00
Ryan Macnak 0a1678c06c [vm] Record stack for JIT TSAN.
The main interesting thing is that deopt can expand one optimized frame to multiple unoptimized frames, so deopt needs to call  __tsan_func_entry enough times to rebalance the stack.

Also fixes stack balance for throw error slow paths for AOT.

TEST=tsan
Bug: https://github.com/dart-lang/sdk/issues/61352
Change-Id: I3fdc8481bc8db7a3aec0fa1938ac3e0e96ac13a5
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/452943
Commit-Queue: Ryan Macnak <rmacnak@google.com>
Reviewed-by: Alexander Markov <alexmarkov@google.com>
2025-10-20 10:49:20 -07:00
Erik Ernst 149af9d3ae Simplify primary constructor grammar rule
This CL simplifies the grammar rule for a primary constructor and the
place where it's used (`classNamePart`) - the proposal no longer uses
a version that cannot have the modifier `const`. Also, it de-inlines
`typeWithParameters` for consistency and brevity.

Change-Id: Idbd2182a6a29256d61c617c9eb2f631213cb3234
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/455400
Reviewed-by: Chloe Stefantsova <cstefantsova@google.com>
Commit-Queue: Erik Ernst <eernst@google.com>
2025-10-20 01:31:44 -07:00
Nate Biggs a8a2303fa7 [dart2wasm] Fix wasm unit test structure.
Previously these were being run with the standard "pkg" unit test suite.
All the other backends have their own unit test suite so this introduces
one for dart2wasm.

This ensures the tests run with the correct fileset (including d8).

Change-Id: I29cd0048a4d6731da3a20110f6e496fe7da0c3b6
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/454760
Commit-Queue: Nate Biggs <natebiggs@google.com>
Reviewed-by: Martin Kustermann <kustermann@google.com>
2025-10-15 09:44:09 -07:00
Erik Ernst ad5a1bb54f Simplify the grammar to use just memberDeclaration
The spec_parser grammars have previously made a distinction among the
different kinds of members that a class, mixin, extension type, etc
could have. This is not very useful, though, so this CL changes the
grammar such that they all just contain a sequence of general member
declarations `<memberDeclaration>`. It is then up to non-parser based
error checks to prevent whatever should not exist (e.g., until we add
constructors to extensions it is an error to declare a constructor in
an `extension`, but this will be an ad-hoc check rather than a syntax
error).

Change-Id: Ifca2713af86eb3f569732ebef844135b772a5465
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/454280
Reviewed-by: Chloe Stefantsova <cstefantsova@google.com>
Commit-Queue: Erik Ernst <eernst@google.com>
2025-10-09 04:11:18 -07:00
Robert Nystrom 557db62620 Add experiment flag for "Private Named Parameters".
Fix #61631.

Change-Id: If797277e0ff294f11515ccfec845381b07c34a11
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/453643
Commit-Queue: Paul Berry <paulberry@google.com>
Reviewed-by: Paul Berry <paulberry@google.com>
Reviewed-by: Kallen Tu <kallentu@google.com>
Auto-Submit: Bob Nystrom <rnystrom@google.com>
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Reviewed-by: Nate Bosch <nbosch@google.com>
2025-10-07 17:15:11 -07:00
Kallen Tu 5e7187d77f Update experimental_features with additional analyzer updates.
- Added running `dart pkg/analyzer/tool/api/generate.dart` to prevent
people from finding out they have to update the `api.txt` only when they
run try-jobs.
- We should also update
`pkg/analyzer_testing/lib/experiments/experiments.dart` at this point. I
always forget and spend time wondering why my tests aren't working. And
this is probably the most ideal step to do this at.

Change-Id: I68a33a39d7b5360e586f7aa17f223cf9d9014885
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/453644
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Auto-Submit: Kallen Tu <kallentu@google.com>
Commit-Queue: Kallen Tu <kallentu@google.com>
Reviewed-by: Nate Bosch <nbosch@google.com>
2025-10-07 11:17:59 -07:00
Kallen Tu 4cdf9740e9 Add 'declaring-constructors' experiment flag.
This CL adds the flag for the primary/declaring constructors feature.
We'll develop the feature under this flag.

Bug: https://github.com/dart-lang/sdk/issues/61526
Change-Id: I0318998cef7ee1a306af243f4dc15c65ae9f8d96
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/453640
Commit-Queue: Kallen Tu <kallentu@google.com>
Reviewed-by: Johnni Winther <johnniwinther@google.com>
Reviewed-by: Nate Bosch <nbosch@google.com>
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
2025-10-07 11:17:17 -07:00
Ivan Inozemtsev 1974c2360e [release] Increase version on main to 3.11
Change-Id: I54e1e60e05ce31b77b02745870c80a878918793a
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/449805
Reviewed-by: Johnni Winther <johnniwinther@google.com>
Commit-Queue: Ivan Inozemtsev <iinozemtsev@google.com>
2025-10-06 18:46:13 -07:00
Erik Ernst 37c3b5b443 Add support for declaring constructors to the spec parser
Also fixes a bug whereby the file name message came after the first
syntax error diagnostic for each file.

Change-Id: Ice2da1e337fa54787696989b387d057ab5674819
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/453280
Commit-Queue: Erik Ernst <eernst@google.com>
Reviewed-by: Johnni Winther <johnniwinther@google.com>
2025-10-03 05:29:00 -07:00
Alexander Aprelev a4016ebd7d [gardening] Fix generate_package_config script so it works on Windows.
Fixes https://ci.chromium.org/ui/p/dart/builders/ci.sandbox/pkg-win-release/34622/overview

Change-Id: Ia42a52adcf65b41ef6e7a45b5c59539308880600
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/452905
Reviewed-by: Ryan Macnak <rmacnak@google.com>
Commit-Queue: Alexander Aprelev <aam@google.com>
2025-10-01 15:14:15 -07:00
Martin Kustermann 8322e6af37 [dart2wasm] Add support for reading wasm files to package:wasm_builder
This adds a wasm binary reader that produces an `ir.Module`.

We also make a few changes to existing code

* Represent the import section with an `ir.Imports` object (similar to
  `ir.Exports`, `ir.Functions`, ...)

* We make a bunch of data structures allocatable in uninitialized state
  (the fields being usually uninitialized `late final` fields) where the
  deserializer can create those objects and then fill in details later.

  => This comes partly due to the way wasm binaries are structured
     themselves: The "data count" section comes first so a reader knows
     how many data sections there will be, then the "code section" can
     refer to those data sections. Then afterwards the actual "data
     segment" comes that fills in the data of the section.

* We make names consistently optional: Wasm objects don't have to have
  names, so the names should be optional, so we make them `String?`. We
  also make them non-final as that's consistent with other names.

* We make the `ir.Types`, `ir.Functions`, ... objects have `operator[]`
  and the index used is the same index used e.g. in wasm instructions.

* We make static constants for section ids and custom section names.

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

Change-Id: I5394d6b82cf4dc68d24cea1dee66c5b33eb2f60f
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/452144
Commit-Queue: Martin Kustermann <kustermann@google.com>
Reviewed-by: Ömer Ağacan <omersa@google.com>
2025-10-01 03:37:31 -07:00
Ryan Macnak fe967a1adf [infra] Split GCC and MSVC builder configurations.
Change-Id: I5f17ac79843eac883584f957b3b5d405894de721
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/452360
Commit-Queue: Ryan Macnak <rmacnak@google.com>
Reviewed-by: Alexander Aprelev <aam@google.com>
2025-09-30 11:14:14 -07:00
Ryan Macnak d65c6da10e [infra] Add more sanitizer configurations.
Change-Id: I58b170359fc76c31b408b05c77a7a1d5ae9bcf2a
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/451121
Reviewed-by: Alexander Aprelev <aam@google.com>
Commit-Queue: Ryan Macnak <rmacnak@google.com>
2025-09-23 16:31:24 -07:00
Moritz 7ab10ef0a4 [hooks] Add data-assets flag
Add an experimental data-assets flag to enable data assets in hooks.

Change-Id: I0df53c225638414db625a0433498ef2c10d31d96
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/450781
Commit-Queue: Moritz Sümmermann <mosum@google.com>
Reviewed-by: Johnni Winther <johnniwinther@google.com>
2025-09-23 01:02:15 -07:00
Ryan Macnak b50a115d15 [infra] Reduce Android shard count.
When the shard count is greater than the number of machines in the pool, shards are guarenteed to wait, increase latency relative to a lower shard count.

Change-Id: I1fd61a59837b767748c13120dec30ca6eb352f28
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/450946
Reviewed-by: Alexander Aprelev <aam@google.com>
Commit-Queue: Ryan Macnak <rmacnak@google.com>
2025-09-22 12:40:24 -07:00
Ryan Macnak 333587b206 [dartfuzz] Reduce duration so it finishes before the nightly builders start.
Change-Id: I70f93c97cc89c23c900df951920e21c7f15d6cba
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/450944
Commit-Queue: Ryan Macnak <rmacnak@google.com>
Reviewed-by: Alexander Aprelev <aam@google.com>
2025-09-22 11:19:44 -07:00
DEPS Autoroller 6152811eda Roll ninja from 2@1.11.1.chromium.6 to 3@1.13.1.chromium.4
If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/ninja-dart-sdk
Please CC dart-engprod@google.com,dart-vm-gardener@grotations.appspotmail.com,dart-vm-team@google.com on the revert to ensure that a human
is aware of the problem.

To file a bug in ninja: https://bugs.chromium.org/p/chromium/issues/list
To file a bug in Dart SDK: https://github.com/dart-lang/sdk/issues

To report a problem with the AutoRoller itself, please file a bug:
https://issues.skia.org/issues/new?component=1389291&template=1850622

Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md

Cq-Include-Trybots: luci.dart.try:dart-sdk-linux-try;luci.dart.try:dart-sdk-linux-arm64-try;luci.dart.try:dart-sdk-mac-try;luci.dart.try:dart-sdk-mac-arm64-try;luci.dart.try:dart-sdk-win-try
Change-Id: I94379b6282696480ce450e9fb013e1b5f04be103
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/450774
Reviewed-by: Ryan Macnak <rmacnak@google.com>
2025-09-22 10:15:35 -07:00
Chloe Stefantsova 62902d28e8 [language] Add experimental flag 'static-extensions'
Part of https://github.com/dart-lang/sdk/issues/61485
Part of https://github.com/dart-lang/sdk/issues/61484

Change-Id: I6b88a2df4fd4f01826c178138c21a4b300818e92
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/449300
Reviewed-by: Michael Thomsen <mit@google.com>
Reviewed-by: Johnni Winther <johnniwinther@google.com>
2025-09-22 04:21:01 -07:00
Ben Konyi be2d42a11f [ VM ] Remove dead fork of Observatory from runtime/
Observatory was moved to pkg/observatory in a previous CL.

TEST=N/A

Change-Id: Ie0e7cb71799408cefe30d2c72b4dfd7bd43747ce
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/450221
Auto-Submit: Ben Konyi <bkonyi@google.com>
Commit-Queue: Ben Konyi <bkonyi@google.com>
Commit-Queue: Ryan Macnak <rmacnak@google.com>
Reviewed-by: Ryan Macnak <rmacnak@google.com>
2025-09-17 15:15:26 -07:00
Alexander Aprelev 7cf3727191 [gardening] Ensure to fetch flutter repo tags before running flutter.
Lack of tags cause flutter get outdated version name, causing runtime errors like https://ci.chromium.org/ui/p/dart/builders/ci.sandbox/flutter-analyze/29634/infra

TEST=ci

Change-Id: Ibad39a5eb8f45aff9af22741b0c81c895e5ef4c0
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/450103
Reviewed-by: Devon Carew <devoncarew@google.com>
Commit-Queue: Alexander Aprelev <aam@google.com>
2025-09-17 11:03:04 -07:00
Daco Harkes 942989e76f [native_assets] Enable code assets for next stable release
Make it available on the stable branch.

Fix the version numbers for when it was enabled. (3.9 as experiment
enabled is not entirely correct, as the experiment was not available
on the stable channel in 3.9, only on betas of 3.9.)

And disable passing data assets under the same experiment flag.

Note: It seems that it was accidentally still marked as 3.9 and then
got swept up in https://dart-review.googlesource.com/c/sdk/+/443803.

TEST=dartdev native assets tests

Bug: https://github.com/dart-lang/sdk/issues/50565
Change-Id: I4c44ad22e32673d6a951017d0cf6d3374dd20429
Cq-Include-Trybots: luci.dart.try:pkg-linux-debug-try,pkg-linux-release-arm64-try,pkg-linux-release-try,pkg-mac-release-arm64-try,pkg-mac-release-try,pkg-win-release-arm64-try,pkg-win-release-try
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/449803
Reviewed-by: Ivan Inozemtsev <iinozemtsev@google.com>
Reviewed-by: Michael Goderbauer <goderbauer@google.com>
Reviewed-by: Johnni Winther <johnniwinther@google.com>
2025-09-17 06:58:29 -07:00
Ryan Macnak 496a2bdc9b Roll clang to 49f39b349db181ca516eb0253462105ff0e2c634.
TEST=ci
Change-Id: I38e9ad7b16ffb0a9d380c3ed23b17854dca5a32f
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/447440
Commit-Queue: Ryan Macnak <rmacnak@google.com>
Reviewed-by: Alexander Aprelev <aam@google.com>
2025-09-15 10:00:29 -07:00
Lasse R.H. Nielsen 83b2c5d3c3 Retire and remove 3.9 experiment flags.
Change-Id: I72262910b590f93ca5de7b3286c226d5ecaf3276
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/443803
Reviewed-by: Johnni Winther <johnniwinther@google.com>
Reviewed-by: Nate Bosch <nbosch@google.com>
Commit-Queue: Lasse Nielsen <lrn@google.com>
2025-09-09 04:50:35 -07:00
Jens Johansen a757154d93 [infra] Shard dart2js modular tests
* Shard dart2js modular tests (and decrease the shards of the
  unit tests)
* Remove folders we look for dart files in --- the remove folders
  doesn't contain any anyway and would have to be copied if keeping
  these lines.
* Fix sharding, previously trying to shard in 2 shards would only allow
  you to run ~50% of the tests:

```
$ out/ReleaseX64/dart-sdk/bin/dart pkg/compiler/tool/modular_test_suite.dart -nweb-unittest-asserts-linux --verbose --use-sdk --shards=2 --shard=0
Error: shard should be between 0 and 1, but got 0

$ out/ReleaseX64/dart-sdk/bin/dart pkg/compiler/tool/modular_test_suite.dart -nweb-unittest-asserts-linux --verbose --use-sdk --shards=2 --shard=2
Error: shard should be between 0 and 1, but got 2
```

  This has been corrected to allow from `1..n` for `n` shards to fit
  with what the testing system sends when specifying `shards` in
  `tools/bots/test_matrix.json`.

For previous try runs I extracted this:

Build 60615:
Shard #1: --- Total time: 04:27 ---
Shard #2: --- Total time: 05:19 ---
Shard #3: --- Total time: 04:23 ---
Shard #4: --- Total time: 10:29 ---
 => A total of 24:35 --- combined finish of 10:29
Modular tests: 32:19
Total bot runtime: 35:48

Build 60614:
Shard #1: --- Total time: 03:57 ---
Shard #2: --- Total time: 05:18 ---
Shard #3: --- Total time: 05:21 ---
Shard #4: --- Total time: 05:34 ---
 => A total of 20:10 --- combined finish of 5:34
Modular tests: 29:41 secs
Total bot runtime: 35:55

Build: 60613
Shard #1: --- Total time: 03:56 ---
Shard #2: --- Total time: 05:15 ---
Shard #3: --- Total time: 04:32 ---
Shard #4: --- Total time: 05:34 ---
 => A total of 19:17 --- combined finish of 5:34
Modular tests: 33:39
Total bot runtime: 38:51

With the new sharding I'd estimate that the unit tests and modular tests
would have finished in less than 13 minutes, making the bots finish in
~17 minutes, ~20 minutes and ~19 minutes instead.
The try-run with this ran in 17:06

Possibly a follow-up could do more stuff on the "main bot".

Change-Id: Ie5c96206deb9c0c6db3385bbca04ae6f4eab4c3a
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/448381
Reviewed-by: Nate Biggs <natebiggs@google.com>
Reviewed-by: Ivan Inozemtsev <iinozemtsev@google.com>
Commit-Queue: Jens Johansen <jensj@google.com>
2025-09-04 23:11:30 -07:00
Alexander Markov 9a3349ed41 [bots] Add vm-ffi-dyn-mac-{debug,release}-simarm64_arm64 bots to test dynamic modules on simarm64_arm64
Change-Id: I82d97b705c97d95b160f4faf96c01931b5ee58a5
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/447600
Reviewed-by: Alexander Aprelev <aam@google.com>
Commit-Queue: Alexander Markov <alexmarkov@google.com>
Reviewed-by: Ivan Inozemtsev <iinozemtsev@google.com>
2025-08-28 11:28:01 -07:00
Ryan Macnak e01d4b3cc6 [vm, compiler] Get the full Dart stack in TSAN reports.
Call __tsan_func_entry/__tsan_func_exit in functions that use __tsan_read/__tsan_write or call other functions. Call __tsan_func_exit once per frame when unwinding for exceptions. Do so only in AOT, since TSAN won't be able to symbolize JIT functions anyway.

TEST=ci
Bug: https://github.com/dart-lang/sdk/issues/61352
Cq-Include-Trybots: luci.dart.try:vm-tsan-linux-release-arm64-try,vm-tsan-linux-release-x64-try
Change-Id: Ie52c978c25664d78b834e9b72ecf7eb2a12cc2ba
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/444181
Reviewed-by: Alexander Aprelev <aam@google.com>
Commit-Queue: Ryan Macnak <rmacnak@google.com>
2025-08-26 11:50:13 -07:00
Ryan Macnak 3bc1985977 [infra] Add configuration for vm-tsan-mac-release-arm64.
Change-Id: I83e472910ed22394d9704afa48e24085fc65ebe4
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/447001
Reviewed-by: Alexander Aprelev <aam@google.com>
Commit-Queue: Ryan Macnak <rmacnak@google.com>
2025-08-26 11:46:56 -07:00
Alexander Markov d93cd6040f [test_matrix] Add vm-dyn-mac-debug-arm64 builder
Change-Id: I0f48f229f5517b5f5f0c9e160fe1d7c5cd445998
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/446003
Commit-Queue: Alexander Markov <alexmarkov@google.com>
Reviewed-by: Ryan Macnak <rmacnak@google.com>
2025-08-19 13:16:34 -07:00
Ryan Macnak 048f059ce9 [infra] Increase Linux ARM64 testing to match Linux X64.
Making use of new capacity.

Also remove dead configuration for vm-checked-mac-release-arm64.

Change-Id: I3347d9ddf87e660ed00f7d88a91d058e78a0a564
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/445800
Reviewed-by: Alexander Aprelev <aam@google.com>
Commit-Queue: Ryan Macnak <rmacnak@google.com>
2025-08-19 08:15:22 -07:00
Ryan Macnak fd091ab155 [infra] Remove old Debian package building scripts.
Change-Id: I46f00aa913e9dddb3f75b38ca384d126ffe9a265
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/445786
Commit-Queue: Ryan Macnak <rmacnak@google.com>
Reviewed-by: Alexander Thomas <athom@google.com>
2025-08-19 08:15:11 -07:00
Kallen Tu f93aea7c54 Enable 'dot-shorthands' feature flag for Dart 3.10
This CL enables the dot shorthand feature by default in Dart 3.10.

Dot shorthands allow you to omit the type name when accessing a static member in a context where that type is expected.

These are some examples of ways you can use dot shorthands:

```dart
Color color = .blue;
switch (color) {
  case .blue:
    print('blue');
  case .red:
    print('red');
  case .green:
    print('green');
}
```

```dart
Column(
  crossAxisAlignment: .start,
  mainAxisSize: .min,
  children: widgets,
)
```

To learn more about the feature, check out the feature specification located here: https://github.com/dart-lang/language/blob/main/working/3616%20-%20enum%20value%20shorthand/proposal-simple-lrhn.md

Tested: Feature tested with language tests and unit tests for the frontends, VM, web.
Bug: https://github.com/dart-lang/sdk/issues/57036
Fixes: https://github.com/dart-lang/sdk/issues/57037
Change-Id: I4e2cab29e33ed266603942eaebf3f9671ef60766
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/427802
Reviewed-by: Bob Nystrom <rnystrom@google.com>
Reviewed-by: Paul Berry <paulberry@google.com>
Reviewed-by: Michael Thomsen <mit@google.com>
Commit-Queue: Kallen Tu <kallentu@google.com>
Reviewed-by: Ben Konyi <bkonyi@google.com>
2025-08-18 12:38:35 -07:00
Paul Berry ae835a68d9 [tools] Switch error code references in verify_docs.dart to camelCase
This is a follow-up to
https://dart-review.googlesource.com/c/sdk/+/444921, which renamed
analyzer error codes from SCREAMING_CAPS conventions to camelCase
conventions. That CL left a few deprecated error codes in place
because they were referred to in
`tools/verify_docs/bin/verify_docs.dart`, and those references
couldn't be fixed in an automated fashion.

This CL cleans up the references in `verify_docs.dart` to use the new
camelCase constants, and removes the deprecated SCREAMING_CAPS
constants that are no longer needed.

Change-Id: I6a6a69644eb8cfe7841d7582fd520f081010544d
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/445106
Reviewed-by: Moritz Sümmermann <mosum@google.com>
Commit-Queue: Paul Berry <paulberry@google.com>
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
2025-08-14 09:27:53 -07:00