Commit Graph

113532 Commits

Author SHA1 Message Date
Alexander Markov b6015976c9 [modular_aot] Fix splitting of a live range which has a split tail already
Issue: https://github.com/dart-lang/sdk/issues/61635
Change-Id: I9d78195dcfd6f70f793c98710106fa5f1f8834c3
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/508280
Reviewed-by: Slava Egorov <vegorov@google.com>
Commit-Queue: Alexander Markov <alexmarkov@google.com>
2026-06-02 05:42:48 -07:00
Alexander Markov 7ff5e3654d [tfa] Fix handling of late local variables with static type Never
Initializers of late local variables are wrapped into closures.
The result type of a closure is a static type of the variable.
So initializer of a late variable with static type Never have a call
to a closure with static result type Never.

TFA summary collector handles calls with static result type Never
specially, treating all subsequent code as unreachable (by setting
control-dependent condition to empty). As a result, all subsequent
code after late variable with static type Never (and initializer) is
tree-shaken.

The fix is to avoid propagating control-dependent condition out of
the late variable initializers.

TEST=pkg/vm/testcases/transformations/type_flow/transformer/regress_63478.dart
Fixes https://github.com/dart-lang/sdk/issues/63478

Change-Id: If41221777c9d249dd21ce5827c586b0f531cbce8
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/508363
Reviewed-by: Slava Egorov <vegorov@google.com>
Commit-Queue: Alexander Markov <alexmarkov@google.com>
2026-06-02 05:42:19 -07:00
Tess Strickland 4b0a4e0a75 [vm,dyn_modules] Fix vm/cc/Profiler tests for dynamic modules.
The only actual change required to the profiler service is appropriately
retrieving the source position for interpreted frames during processing.

Otherwise, most of the tests just need small changes to account for the
slightly different stack trace generated by interpreted code when
walking the stack as code instead of functions:

* Interpreted code calls the runtime entry DRT_AllocateObject directly
  for slow-path allocation instead of via the AllocateObjectSlow stub.

* The current name for bytecode frames when walked as code starts with
  "[Bytecode]" instead of "[Unoptimized]".

The test vm/cc/Profiler_GetSourceReport is skipped since:

* It tests compiled code-specific features like classifying source
  positions.

* Inserting fake samples for interpreted functions is messier since
  many PC offsets may map to the same source position.

The other skipped tests are specific to inlining and/or optimized
compiled code, so there's no point in running them on interpreted code.

TEST=vm/cc/Profiler

Cq-Include-Trybots: luci.dart.try:vm-dyn-linux-debug-x64-try
Change-Id: I3e73f42b2562eb6e3e73fe8d5c3f14389039ee04
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/507082
Reviewed-by: Alexander Markov <alexmarkov@google.com>
Commit-Queue: Tess Strickland <sstrickl@google.com>
2026-06-02 04:50:53 -07:00
Tess Strickland 7558e63725 [vm,dyn_modules] Change handling of source positions for async returns.
The debugger assumes a null suspend state variable in an asynchronous
function means that the function is still in the prologue prior
to setting up the suspend state. However, the interpreter clears the
suspend state variable before returning, and the debugger needs to be
able to pause before returning when single stepping, so earlier a hack
was added to the debugger that detects being at the direct call of the
async return method and/or the return instruction with a null suspend
state variable.

However, there's a much simpler way of ensuring the debugger pauses
before returning: just emit the source position for the return prior to
clearing the suspend state variable. This also ensures that the debugger
still has access to the function's suspend state when pausing before
the return, instead of waiting until it has been cleared and thus is no
longer accessible.

TEST=ci (should not change the result of any current tests)

Cq-Include-Trybots: luci.dart.try:vm-dyn-linux-debug-x64-try
Change-Id: I401cceb169d8692ac379cdc5a531e07cafbe9a65
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/500740
Commit-Queue: Tess Strickland <sstrickl@google.com>
Reviewed-by: Alexander Markov <alexmarkov@google.com>
2026-06-02 04:28:41 -07:00
Ryan Macnak 1d5057e94d [build] Use ad-hoc code signing by default.
Change-Id: I00b483581a04bfb4a4ed0d6212c767d67c003f83
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/508164
Reviewed-by: Slava Egorov <vegorov@google.com>
Commit-Queue: Slava Egorov <vegorov@google.com>
2026-06-02 02:39:40 -07:00
Simon Binder 567bf3337b [dart2wasm] Document standalone platform and include it in SDK
Given that the standalone target for dart2wasm is feature-complete now,
it makes sense to include it in released SDKs.

This adds the platform and outline files to built SDKs and exposes the
`--standalone` flag in `dart compile wasm`.
It also documents the standalone target in `pkg/dart2wasm/doc`, which
should be helpful as a starting point to use these compiled modules.

Change-Id: I5bd86e9670f03f2955e31789095dd5c462bf149e
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/506920
Reviewed-by: Slava Egorov <vegorov@google.com>
Reviewed-by: Martin Kustermann <kustermann@google.com>
Commit-Queue: Martin Kustermann <kustermann@google.com>
2026-06-02 00:56:35 -07:00
Johnni Winther 7749454698 [cfe][PrimaryConstructors] Handle mixin class with primary constructor and fields
Because non-late field initializers in classes with primary constructors have access to the parameters of the primary constructor, field initializers are be moved to the initializer list of this constructor, so the generated AST will no access these parameters out of scope.

This CL add an exception to this rule for mixin classes:

In the non-erroneous cases, these can't have parameters, so the field initializers can stay in the field declaration. This is done to ensure that mixin transformation can
simply clone the mixin class fields, instead of having to fetch the initializer from the initializer list of the constructor.

For mixin classes with parameters in the primary constructor, which is an erroneous case, the initializers are moved to the constructor like for other
primary constructors to avoid generating an AST where the parameters are accessed out of scope.

Change-Id: Iff64992bce88368a524437c1856f50d779bf6a58
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/507423
Commit-Queue: Johnni Winther <johnniwinther@google.com>
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
2026-06-02 00:11:19 -07:00
Johnni Winther 4070db747a [cfe][PrimaryConstructors] Build initializers in const primary constructors
This updates the handling of initializers in primary constructor body declarations. The parser is updated to pass the `:` token, similar to what is done for the regular constructors. The CFE is updated to use a boolean, rather that the `:` token (or a synthetic token), to determine whether initializers should be processed as part of building the outline. The parsing of initializers is done using the `:` token, if any, now pass both from regular constructors and primary constructor body declarations.

Closes #63468

Change-Id: Ia266dea7946b30b02d56f9f3cedf40848c4ee440
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/507401
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
2026-06-02 00:11:19 -07:00
Paul Berry bd65b86ada [analyzer_cli] Migrate to new constructor decl syntax.
(Part of https://github.com/dart-lang/sdk/issues/63288)

This change migrates the analyzer_cli package to use the new
constructor declaration syntax, described in
https://github.com/dart-lang/language/blob/main/accepted/future-releases/primary-constructors/feature-specification.md#abbreviations-of-in-body-constructor-declarations.

This change was performed in an automated fashion, by (a) bumping the
package's SDK constraint to `3.13.0-0`, (b) enabling the lints
`unnecessary_type_name_in_constructor` and
`unnecessary_const_in_enum_constructor`, (c) fixing the resulting lint
failures using `dart fix`, and then (d) reformatting the affected
files.

To ease code review, I've reverted unrelated formatting changes.

Change-Id: I563e97f19c03ad0672dba271de303b786a6a6964
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/508367
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
2026-06-01 22:05:51 -07:00
Sam Rawlins f91c6ba493 DAS plugins: Do not report the "dependency_overrides" section as illegal
Change-Id: Ib7c3f88569172821c04bce96c1fcae4aa13e05c7
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/508372
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
2026-06-01 18:46:52 -07:00
Paul Berry 3186c708a2 [testing] Migrate to new constructor decl syntax.
(Part of https://github.com/dart-lang/sdk/issues/63288)

This change migrates the testing package to use the new constructor
declaration syntax, described in
https://github.com/dart-lang/language/blob/main/accepted/future-releases/primary-constructors/feature-specification.md#abbreviations-of-in-body-constructor-declarations.

This change was performed in an automated fashion, by (a) bumping the
package's SDK constraint to `3.13.0-0`, (b) enabling the lints
`unnecessary_type_name_in_constructor` and
`unnecessary_const_in_enum_constructor`, (c) fixing the resulting lint
failures using `dart fix`, and then (d) reformatting the affected
files.

To ease code review, I've reverted unrelated formatting changes.

Change-Id: I01dab822f08d804d5c7ce997dee6d7866a6a6964
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/508427
Commit-Queue: Paul Berry <paulberry@google.com>
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
2026-06-01 18:04:45 -07:00
Paul Berry d7f200b97d [kernel] Migrate to new constructor decl syntax.
(Part of https://github.com/dart-lang/sdk/issues/63288)

This change migrates the kernel package to use the new constructor
declaration syntax, described in
https://github.com/dart-lang/language/blob/main/accepted/future-releases/primary-constructors/feature-specification.md#abbreviations-of-in-body-constructor-declarations.

This change was performed in an automated fashion, by (a) bumping the
package's SDK constraint to `3.13.0-0`, (b) enabling the lints
`unnecessary_type_name_in_constructor` and
`unnecessary_const_in_enum_constructor`, (c) fixing the resulting lint
failures using `dart fix`, and then (d) reformatting the affected
files.

To ease code review, I've reverted unrelated formatting changes.

Change-Id: I8d32a0b26450a44dfa2ebd9fe2dff9df6a6a6964
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/508426
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
Commit-Queue: Paul Berry <paulberry@google.com>
2026-06-01 17:48:34 -07:00
Paul Berry 7a5c71ba05 [frontend_server] Migrate to new constructor decl syntax.
(Part of https://github.com/dart-lang/sdk/issues/63288)

This change migrates the frontend_server package to use the new
constructor declaration syntax, described in
https://github.com/dart-lang/language/blob/main/accepted/future-releases/primary-constructors/feature-specification.md#abbreviations-of-in-body-constructor-declarations.

This change was performed in an automated fashion, by (a) bumping the
package's SDK constraint to `3.13.0-0`, (b) enabling the lints
`unnecessary_type_name_in_constructor` and
`unnecessary_const_in_enum_constructor`, (c) fixing the resulting lint
failures using `dart fix`, and then (d) reformatting the affected
files.

To ease code review, I've reverted unrelated formatting changes.

Change-Id: Icbc924a1faae2f1c8fe0d5fa07bb9bd66a6a6964
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/508369
Commit-Queue: Paul Berry <paulberry@google.com>
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
2026-06-01 17:48:27 -07:00
Ryan Macnak e82bd2c8ed [infra] Shard QEMU builders.
Change-Id: I0f96cfb8a7305897116149e5453d0ee5eb3744e1
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/508361
Commit-Queue: Ryan Macnak <rmacnak@google.com>
Reviewed-by: Alexander Aprelev <aam@google.com>
2026-06-01 17:14:39 -07:00
Ryan Macnak 201abb5cd1 Reduce sanitizer build set.
Change-Id: Idd5df6ff7c5b4f6bc3ccb0a335df0d332556d6ba
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/508420
Reviewed-by: Alexander Aprelev <aam@google.com>
Commit-Queue: Ryan Macnak <rmacnak@google.com>
2026-06-01 16:57:43 -07:00
Sam Rawlins 5dc37341fb dartdev: deduplicate diagonstics received from DAS
Fixes https://github.com/dart-lang/sdk/issues/63497

Change-Id: I24849a526a821584930276459a8873da25570d68
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/508422
Commit-Queue: Samuel Rawlins <srawlins@google.com>
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
2026-06-01 16:12:03 -07:00
Sam Rawlins 02ecbc8cf2 Report and offer fix for wildcard stack trace variable
Fixes https://github.com/dart-lang/sdk/issues/55738

Turns out there are many unused StackTrace variables here and there in
our tests, so those are ignored in a few files.

Change-Id: Iff9d0db265b96aca608261cb4518b372255d19cb
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/501223
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
2026-06-01 15:55:44 -07:00
Ryan Macnak 108682198a Reduce dartfuzz's build set.
dartfuzz has been taking ~35 min to finish the build and upload steps even with 100% RBE cache hit rate, causing it to fail to finish before the first wave of nightly builders trigger.

Change-Id: I932facd77bc08f4d7236ae8c760013406a69fb0e
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/507267
Commit-Queue: Ryan Macnak <rmacnak@google.com>
Reviewed-by: Alexander Aprelev <aam@google.com>
2026-06-01 15:34:32 -07:00
Srujan Gaddam fc537d0b28 Rev package:web to latest to include various helpers
Change-Id: Ib139c65a0bec116a0ee9267598b43d835269adf4
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/508360
Auto-Submit: Srujan Gaddam <srujzs@google.com>
Commit-Queue: Kevin Moore <kevmoo@google.com>
Reviewed-by: Kevin Moore <kevmoo@google.com>
2026-06-01 15:27:41 -07:00
Ryan Macnak ce32f4e1a7 [build] Put less into gen dir to avoid copying to test shards.
obj is filtered from the testing shard file sets but gen is not, and some tests depend on things in gen.

TEST=ci
Change-Id: I19bc763935c1cfd5077b2aeaf83e37f992ab785c
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/508281
Commit-Queue: Ryan Macnak <rmacnak@google.com>
Reviewed-by: Alexander Aprelev <aam@google.com>
2026-06-01 15:25:58 -07:00
Sam Rawlins 7dab27015c DAS plugins: Respect analysis roots set in LSP
Fixes https://github.com/dart-lang/sdk/issues/62686

This is the remainder of the work from https://dart-review.googlesource.com/c/sdk/+/505041 for LSP. With this change, "workspace folders" from LSP are sent as analysis roots to new analyzer plugins.

Change-Id: Ic79503532fca1291097128ac0085c09bbeabbc4b
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/508168
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
2026-06-01 14:01:53 -07:00
Daco Harkes fa6bfb196b [dartdev] dart build cli root package
`dart:test` compiles a wrapper file that it places _outside_ all
packages defined in the `package_config.json`.

Technically, the `package_config.json` is only used to resolve the
imports that are _not_ the entry-points. So, it should be valid to
pass an entry-point outside the `package_config.json`.

However, we do need to specify what root-package to use for running
hooks. So, add a CLI option for this.

See discussion on https://github.com/dart-lang/test/pull/2660

Change-Id: I381a61490e69eb5757126b017f07779917837851
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-win-release-arm64-try,pkg-mac-release-try,pkg-win-release-try
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/508122
Reviewed-by: Ben Konyi <bkonyi@google.com>
Reviewed-by: Jake Macdonald <jakemac@google.com>
Commit-Queue: Daco Harkes <dacoharkes@google.com>
2026-06-01 13:31:35 -07:00
Ryan Macnak e59fa2e4a2 [vm] Remove dead read-only heap code.
This was part of the VM isolate.

TEST=ci
Change-Id: I831e984025c5d4d17607e8a36222bdef70bf66b8
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/508240
Commit-Queue: Ryan Macnak <rmacnak@google.com>
Reviewed-by: Alexander Aprelev <aam@google.com>
2026-06-01 13:19:29 -07:00
Danny Tuppeny 336ad52179 [analysis_server] Fix handling of default values in unanswered Interactive Forms
This fixes a bug where an interactive form where all fields have defaults would be considered complete immediately, so we'd never present the fields to the client.

It also includes some minor refactoring extracted from a future CL that implements command/resolve and supports Interactive Forms in refactors in an attempt to reduce the size of that change to aid reviewing.

Change-Id: I176fe25dbb0b610d69617fa04562b0d3ce571642
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/508220
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Reviewed-by: Samuel Rawlins <srawlins@google.com>
2026-06-01 12:43:19 -07:00
Ryan Macnak 5610ce7922 [build] Reduce dartdev bloat in the "runtime" target.
The dartdev JIT snapshot is not needed on not-IA32, where the AOT snapshot is used instead.

Change-Id: I8ee0f15dde1532e81c75013e4f2b1f56456ca146
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/508161
Commit-Queue: Ryan Macnak <rmacnak@google.com>
Reviewed-by: Ben Konyi <bkonyi@google.com>
2026-06-01 12:15:56 -07:00
Ryan Macnak a9335cfa23 [build] Inform GN of copy_tree's destination directory.
This will make GN notice conflicting copy_tree destinations.

It may also fix a race when two copy_tree's with a common parent directory create that parent directory.

Change-Id: I1783ea170f0390d4026123ed43c00cd15eb0b1c5
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/508241
Reviewed-by: Alexander Aprelev <aam@google.com>
Commit-Queue: Ryan Macnak <rmacnak@google.com>
Reviewed-by: Samuel Rawlins <srawlins@google.com>
2026-06-01 12:11:40 -07:00
Sam Rawlins 5c2007b086 DAS: refactor notification manager to not create local functions each time we check if a file is analyzed
Just a refactor to simplify code, and save local-function allocations
for each file.

Change-Id: Ic47212f493a44a2aec072ce999c4421e9960344e
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/508201
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Auto-Submit: Samuel Rawlins <srawlins@google.com>
2026-06-01 12:00:46 -07:00
dart-autoroll@skia-public.iam.gserviceaccount.com a651c3c539 Roll Fuchsia SDK from 32.20260522.6.1 to 32.20260526.7.1
If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/fuchsia-sdk-dart-sdk
Please CC fuchsia-3p-engprod@google.com on the revert to ensure that a human
is aware of the problem.

To file a bug in Fuchsia SDK: https://bugs.fuchsia.dev/p/fuchsia/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:vm-fuchsia-release-x64-try;luci.dart.try:vm-fuchsia-release-arm64-try
Change-Id: I2283a92deb945763abb8aa295f4e9e5de2dd6f37
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/506504
Reviewed-by: Ryan Macnak <rmacnak@google.com>
Commit-Queue: Ryan Macnak <rmacnak@google.com>
Reviewed-by: Alexander Aprelev <aam@google.com>
2026-06-01 11:58:38 -07:00
Konstantin Shcheglov 915898d89e CQ. Replace many resolveTestCode() with resolveTestCodeWithDiagnostics() invocations.
Change-Id: I9581a1d09e5a901c9250f1868490b2bd029d63ea
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/507800
Reviewed-by: Johnni Winther <johnniwinther@google.com>
2026-06-01 11:51:16 -07:00
Danny Tuppeny c0b424f28f [analysis_server] Update interactive forms for latest spec changes
This updates the interactive forms classes to reflect recent changes.

Previously, we would only send back the outstanding fields to the client, and it would only provide answers for the same.

Now, the server will always send all fields to the client, and the client will always provide all answers. Answers are looked up IDs (a new field on `FormField`, and `FormAnswer` which wraps the answer) rather than rely on indexes.

Fields can also now be required.

Change-Id: If4aa1f9a18fa873e83cb0ea1fd74c2e42cd2fa1f
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/508103
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Reviewed-by: Samuel Rawlins <srawlins@google.com>
2026-06-01 11:46:51 -07:00
dart-autoroll@skia-public.iam.gserviceaccount.com 3566b46888 Roll gn from e44942b445d9 to 3357c4f51b1a
If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/gn-dart-sdk
Please CC dart-engprod@google.com,dart-vm-gardener@rotations.google.com,dart-vm-team@google.com on the revert to ensure that a human
is aware of the problem.

To file a bug in gn: https://bugs.chromium.org/p/gn/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: I0c88f0ec1dbd1a6396615c9fe2d45272dcee54c3
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/506541
Reviewed-by: Alexander Aprelev <aam@google.com>
Commit-Queue: Ryan Macnak <rmacnak@google.com>
Reviewed-by: Ryan Macnak <rmacnak@google.com>
2026-06-01 11:02:01 -07:00
Brian Wilkerson ff974a38b5 Fix a bug in convertDefaultToPrimaryConstructor
The convertDefaultToPrimaryConstructor fix wasn't accounting for the
presence of type parameters when choosing where to insert the empty
parentheses. This fixes that.

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

Change-Id: Ibec4f5531840bf0c0aafa4436654201ef8a8a6ec
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/508202
Reviewed-by: Samuel Rawlins <srawlins@google.com>
Auto-Submit: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Samuel Rawlins <srawlins@google.com>
2026-06-01 11:00:32 -07:00
Ryan Macnak 2bf2ff5682 [infra] Reduce Fuchsia build set.
Change-Id: Iba59af7e031bafc375669e0ba3cc84081476e6e1
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/507720
Reviewed-by: Alexander Aprelev <aam@google.com>
Commit-Queue: Ryan Macnak <rmacnak@google.com>
2026-06-01 10:54:02 -07:00
Ryan Macnak 12a0b7994c Inform the Fuchsia GN SDK about the Fuchsia toolchain's version of readelf.
Avoids the use of the system's readelf, which emits warning about newer DWARF features it doesn't know about.

Change-Id: I6f6be5670bba591bfa1a5fa0bf9c53da28020b08
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/508165
Commit-Queue: Ryan Macnak <rmacnak@google.com>
Reviewed-by: Alexander Aprelev <aam@google.com>
2026-06-01 10:53:56 -07:00
Tess Strickland 7b5f8df929 [vm,dyn_modules] Fix the starting file offset for closure functions.
For closures generated from both FunctionDeclarations and
FunctionExpressions, the starting file offset of the generated closure
function should be the file offset of the node itself, not the file
offset of the FunctionNode.

(This matches the logic in KernelLoader::LoadClosureFunction.)

TEST=pkg/vm_service/test/coverage_extension_methods_test

Cq-Include-Trybots: luci.dart.try:vm-dyn-linux-debug-x64-try
Change-Id: I25a0cd0aa6505e122a215237ca6ef7e8edb031af
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/507424
Reviewed-by: Alexander Markov <alexmarkov@google.com>
Commit-Queue: Tess Strickland <sstrickl@google.com>
2026-06-01 10:35:58 -07:00
Tess Strickland 1276c57803 [vm,dyn_modules] Generate RecordCoverage for specialized bytecode.
Some instance calls involving numbers in bytecode are converted to
specialized bytecode instead of generating an InstanceCall instruction.
When emitting RecordCoverage instructions, add them prior to these
specialized bytecodes as well.

TEST=ci

Cq-Include-Trybots: luci.dart.try:vm-dyn-linux-debug-x64-try
Change-Id: Ic1ab6be4123766d7ce583966dfde393a5df77579
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/507421
Reviewed-by: Alexander Markov <alexmarkov@google.com>
2026-06-01 10:35:58 -07:00
Tess Strickland 92a8cf7347 [vm,dyn_modules] Record coverage for instantiated instance calls.
TEST=ci

Cq-Include-Trybots: luci.dart.try:vm-dyn-linux-debug-x64-try
Change-Id: Id8d84f131120b66984e9c9410b1f3aeeb4b41d83
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/507441
Reviewed-by: Alexander Markov <alexmarkov@google.com>
2026-06-01 10:35:58 -07:00
Tess Strickland 34c4e4799d [vm,dyn_modules] Ensure coverage arrays during source reporting.
The original iteration of adding coverage arrays originally eagerly
allocated coverage arrays for bytecode methods with recorded coverage.

Now that these coverage arrays are lazily allocated,
Function::GetCoverageArray() needs to ensure that the appropriate
coverage array has been allocated.  Otherwise, no misses within the
function are recorded in cases where no RecordCoverage instruction in
the method has yet been executed.

TEST=vm/cc/SourceReport_Coverage_UnusedClass_ForceCompile
     pkg/vm_service/test/branch_coverage_test
     pkg/vm_service/test/coverage_async_test
     pkg/vm_service/test/coverage_closure_call_after_optimization_test
     pkg/vm_service/test/coverage_closure_call_test
     pkg/vm_service/test/coverage_instance_call_after_optimization_test
     pkg/vm_service/test/coverage_static_call_after_optimization_test

Cq-Include-Trybots: luci.dart.try:vm-dyn-linux-debug-x64-try
Change-Id: Iff4ddaf583d0f9583bc415142bdee52c046a6712
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/507440
Reviewed-by: Alexander Markov <alexmarkov@google.com>
2026-06-01 10:35:58 -07:00
Paul Berry ca78143775 Merge OWNERS_FOUNDATION into OWNERS_LANGUAGE.
These two groups were the same (except for Kallen, who was
accidentally not included in OWNERS_FOUNDATION and should have been),
so we decided to merge them. Internally, the group is called the "Dart
Language and Core Libraries" team, so `OWNERS_LANGUAGE` seems like the
one to keep.

Change-Id: I606ba5828f482c04841c2e995a0066ad6a6a6964
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/508166
Commit-Queue: Paul Berry <paulberry@google.com>
Reviewed-by: Alexander Thomas <athom@google.com>
2026-06-01 09:59:56 -07:00
Konstantin Shcheglov 771a30f853 CQ. Extract _IndexTextBuilder.
Change-Id: I0119c2c312dd666fc42654e04c9dd445e8fb900e
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/507740
Reviewed-by: Johnni Winther <johnniwinther@google.com>
2026-06-01 09:56:51 -07:00
Konstantin Shcheglov bf02a527ce Augment. Update ConstructorBodyTest.
Change-Id: Ic1bed2f8ac28b480e28ffa0bb3dccc4f26857f1f
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/507721
Reviewed-by: Johnni Winther <johnniwinther@google.com>
2026-06-01 09:56:25 -07:00
Alexander Markov 5dd8edc9ff [modular_aot] Support enclosing function type arguments
Issue: https://github.com/dart-lang/sdk/issues/61635
Change-Id: I89fb302bc3f7b1e6e28ac80dddb756c6b2447c8f
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/505421
Reviewed-by: Slava Egorov <vegorov@google.com>
Commit-Queue: Alexander Markov <alexmarkov@google.com>
2026-06-01 09:56:02 -07:00
Konstantin Shcheglov 55b35f58b8 Augment. Remove 4 tests from SubtypeTest.
Type operations are based on the elements, augmentations do not matter
here.

Change-Id: I7f71afbf6aa9c77f43af4a82077dab474f8e7af9
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/507620
Reviewed-by: Johnni Winther <johnniwinther@google.com>
2026-06-01 09:55:25 -07:00
Konstantin Shcheglov f2b4ba88f6 Augment. Remove most TODO-skipped tests in resolution, migrate 3.
These tests were testing that elements declared in augmentations
can be target. But resolution is based on the element model, and we
already have tests that show how we aggregate declatations into th
element model.

Migrated 3 tests that show that `this` and `super` prefixes work
inside augmentations.

Change-Id: I36d7b1044a856e64ed92990f0e4a732f2b41a4b0
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/507281
Reviewed-by: Johnni Winther <johnniwinther@google.com>
2026-06-01 09:54:44 -07:00
Konstantin Shcheglov b9d3c903a0 Patterns. Report invalidConstantPatternBinary for 'case a.b + c.d'.
Bug: https://github.com/dart-lang/sdk/issues/63356
Change-Id: Id26a0cebf5aa0320e1d3fc62ca630fe8e7716241
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/507580
Reviewed-by: Johnni Winther <johnniwinther@google.com>
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
2026-06-01 09:53:09 -07:00
Ryan Macnak d62a57b4f8 [build] Remove deprecated copy_trees template.
Change-Id: Ic9c4233f022cfa0aa7708ff9cf777e8c6faf741b
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/508163
Reviewed-by: Alexander Aprelev <aam@google.com>
Commit-Queue: Ryan Macnak <rmacnak@google.com>
2026-06-01 09:48:16 -07:00
Ben Konyi 1e7b080ed7 fix(dds): mark server connection tests as slow in status file
Mark server_connection_api_test and server_connection_vm_service_test as Slow, Pass in pkg/pkg.status to prevent false-positive timeouts on slower/loaded builders.

TAG=agy
CONV=2fddba4d-da91-4fcd-923a-faee680c5b4e

Change-Id: Ic4fa73242c3c64d517294d9a8fb1fec5e0423380
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/507660
Reviewed-by: Alexander Aprelev <aam@google.com>
Commit-Queue: Alexander Aprelev <aam@google.com>
Auto-Submit: Ben Konyi <bkonyi@google.com>
2026-06-01 09:35:32 -07:00
Ryan Macnak 7d6c973ed9 [build] Remove the last absolute paths from RBE builds.
Extend --check-clean (enabled on bots) to verify build commands don't include absolute paths.

The non-RBE GCC and MSVC builds still have absolute paths. GCC doesn't have -ffile-compilation-dir so it uses -fdebug-prefix-map, which is not fixable. The MSVC build has absolute path in the toolchain wrappers, which might be fixable.

TEST=ci
Change-Id: I3b984aaab7aefa7ff527f0a039ca42281224a09d
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/506505
Reviewed-by: Alexander Aprelev <aam@google.com>
Commit-Queue: Ryan Macnak <rmacnak@google.com>
2026-06-01 08:46:47 -07:00
dart-autoroll@skia-public.iam.gserviceaccount.com bd304d04bc Roll BoringSSL from 5ee9407bc28d to f449f7206f62 (7 revisions)
https://boringssl.googlesource.com/boringssl.git/+log/5ee9407bc28d..f449f7206f62

2026-05-26 davidben@google.com Reject legacy_cookie in DTLS 1.3
2026-05-26 agl@chromium.org Switch away from being an entropy-injected FIPS module.
2026-05-26 rpolzer@google.com Tag new BoringSSL release for Bazel.
2026-05-26 rpolzer@google.com RC2: fix RC2 heap overflow with _huge_ key lengths.
2026-05-26 rpolzer@google.com DSA_check_signature: on failure, set *out_valid = 0.
2026-05-22 mattm@google.com add CBS_get_u48
2026-05-22 davidben@google.com Bump BORINGSSL_API_VERSION

If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/boringssl-dart-sdk
Please CC dart-engprod@google.com,dart-vm-gardener@rotations.google.com,dart-vm-team@google.com on the revert to ensure that a human
is aware of the problem.

To file a bug in BoringSSL: https://crbug.com/boringssl/new
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

Tbr: dart-vm-gardener@rotations.google.com
Change-Id: I801a9c0cbeb641edca4683ffa098ecf0852ab418
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/506540
Reviewed-by: Alexander Aprelev <aam@google.com>
Reviewed-by: Ryan Macnak <rmacnak@google.com>
Commit-Queue: Ryan Macnak <rmacnak@google.com>
2026-06-01 08:43:13 -07:00
Ryan Macnak 7e5b075680 Reland "[standalone] Remove the fallback root certificates."
Leave in hooks for the google3 build.

TEST=ci
Change-Id: Ib5768d27fcdbf3d4963da3d8dd142bea5fae10ef
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/506420
Reviewed-by: Slava Egorov <vegorov@google.com>
Commit-Queue: Ryan Macnak <rmacnak@google.com>
2026-06-01 08:32:26 -07:00