Commit graph

99712 commits

Author SHA1 Message Date
Konstantin Shcheglov 3125174cb1 Macro. Add 'correctionMessage' to MacroDiagnostic.
Note, that currently `correctionMessage` is a property of `ErrorCode`,
so we cannot forward from macro diagnostic. Something to discuss.

Change-Id: I6de86f4c16356bbf7bd61c483bad4d039ca67638
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/351620
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
Reviewed-by: Phil Quitslund <pquitslund@google.com>
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
2024-02-09 23:12:10 +00:00
Ben Konyi 670b9ba9cf [ CLI ] Make dart {compile,build} error exit codes consistent on Windows
Setting an error code of -1 on macOS and Linux results in an error code
of 255 being set since negative error codes are subtracted from 256.
However, an error code of -1 on Windows is not converted in the same
way, resulting in a difference of behavior between OSes.

This change updates -1 error codes to be 255 so they're the same on all
OSes.

Fixes https://github.com/dart-lang/sdk/issues/54857

Change-Id: Idcfbfab30d3cc31a9e4ca630b8d94caa03ef07b4
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/351500
Reviewed-by: Daco Harkes <dacoharkes@google.com>
Commit-Queue: Ben Konyi <bkonyi@google.com>
2024-02-09 22:47:39 +00:00
Konstantin Shcheglov adee0a2399 Extension type. Implement isIncompatibleWithAwait() predicate, report AWAIT_OF_INCOMPATIBLE_TYPE.
Change-Id: I8f562db3fb3399704369725fdfba49c52bb14ab8
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/350986
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Reviewed-by: Keerti Parthasarathy <keertip@google.com>
2024-02-09 22:11:21 +00:00
Konstantin Shcheglov e7f79cad7c Macro. Report INVALID_MACRO_APPLICATION_TARGET.
Change-Id: I7597d81cb2c9db9488533d6d372b244b74ff97ba
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/350691
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
2024-02-09 21:54:16 +00:00
Daco Harkes 6547ab18b1 [cfe/ffi] Reformat code
Reformats the code to use more newlines and less long lines.
Landing as a separate CL before refactoring to ease reviewing.

TEST=ffi suite

Change-Id: I018be8f27f19c312d36b112118291016b6be0ff4
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/351145
Commit-Queue: Daco Harkes <dacoharkes@google.com>
Reviewed-by: Martin Kustermann <kustermann@google.com>
2024-02-09 21:27:29 +00:00
Daco Harkes ddfc00e773 [vm/ffi] Unify TypedDataBase wrappers
For getting the address of `Struct` fields and `Array` elements
it would be useful to access the `_typedDataBase` field in these
'wrappers' in a unified way.

This CL makes `Array` extend `_Compound`.
Since `Array` is not a `SizedNativeType`, the implements clauses
for `Struct` and `Union` are moved to these classes.

Moreover, any references to 'compound' which only apply to struct or
union are updated.

TEST=test/ffi

Bug: https://github.com/dart-lang/sdk/issues/44589
Bug: https://github.com/dart-lang/sdk/issues/54739
Bug: https://github.com/dart-lang/sdk/issues/41237

CoreLibraryReviewExempt: No API change, only refactoring.
Change-Id: Ib9d8bccd4872df04bcc67731e4052f826ab70af4
Cq-Include-Trybots: luci.dart.try:vm-aot-android-release-arm64c-try,vm-aot-android-release-arm_x64-try,vm-aot-linux-debug-x64-try,vm-aot-linux-debug-x64c-try,vm-aot-mac-release-arm64-try,vm-aot-mac-release-x64-try,vm-aot-obfuscate-linux-release-x64-try,vm-aot-optimization-level-linux-release-x64-try,vm-aot-win-debug-arm64-try,vm-aot-win-debug-x64-try,vm-appjit-linux-debug-x64-try,vm-asan-linux-release-x64-try,vm-checked-mac-release-arm64-try,vm-eager-optimization-linux-release-ia32-try,vm-eager-optimization-linux-release-x64-try,vm-ffi-android-debug-arm-try,vm-ffi-android-debug-arm64c-try,vm-ffi-qemu-linux-release-arm-try,vm-ffi-qemu-linux-release-riscv64-try,vm-fuchsia-release-x64-try,vm-kernel-linux-debug-x64-try,vm-kernel-precomp-linux-release-x64-try,vm-linux-debug-ia32-try,vm-linux-debug-x64-try,vm-linux-debug-x64c-try,vm-mac-debug-arm64-try,vm-mac-debug-x64-try,vm-msan-linux-release-x64-try,vm-reload-linux-debug-x64-try,vm-reload-rollback-linux-debug-x64-try,vm-ubsan-linux-release-x64-try,vm-win-debug-arm64-try,vm-win-debug-x64-try,vm-win-release-ia32-try
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/350960
Reviewed-by: Martin Kustermann <kustermann@google.com>
Reviewed-by: Liam Appelbe <liama@google.com>
2024-02-09 21:27:29 +00:00
Daco Harkes fbee607329 [vm/ffi] Cleanup tests
Address all warnings and errors in positive tests.

Move all static checks tests to tests/ffi/static_checks/ so it's
easier to ignore them in the analyzer.

Change-Id: I16ac2c00432a4e1b6750bffd9b03ac8a2e988fe6
Cq-Include-Trybots: luci.dart.try:vm-fuchsia-release-arm64-try,vm-fuchsia-release-x64-try
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/351123
Reviewed-by: Liam Appelbe <liama@google.com>
2024-02-09 21:27:29 +00:00
Keerti Parthasarathy dc339962c3 Fix test on windows
Change-Id: Ie2cdd561636e24bc77a5126a159e6e031db5bed6
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/351561
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Keerti Parthasarathy <keertip@google.com>
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
2024-02-09 19:33:32 +00:00
Dan Chevalier 29d709bf24 Roll Devtools version forwards to 1f208c84965e9edddea11485fb73b170dba1cd96
Change-Id: I72f4fad0cccfc61e4c7995ee2f81411d49c84807
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/351440
Commit-Queue: Dan Chevalier <danchevalier@google.com>
Reviewed-by: Ben Konyi <bkonyi@google.com>
Reviewed-by: Kenzie Davisson <kenzieschmoll@google.com>
2024-02-09 18:42:18 +00:00
Mayank Patke c556766395 [dart2js] Expose JS_TRUE and JS_FALSE via dart2js_runtime_metrics.
dart2js already had an external function in foreign_helper called
JS_FALSE. This function is completely opaque until it is lowered to the
constant value `false` in SSA, so one can write `if (JS_FALSE())` in
order to ensure that the guarded code is treated as live and compiled,
but eventually tree-shaken and omitted from SSA and codegen.

This CL adds a JS_TRUE counterpart for completeness, and exposes both
JS_TRUE and JS_FALSE through package:dart2js_runtime_metrics.

Change-Id: I9b375fa37ada1b65fb9183902bb295e05fa6b8c5
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/349704
Reviewed-by: Sigmund Cherem <sigmund@google.com>
Commit-Queue: Mayank Patke <fishythefish@google.com>
2024-02-09 18:38:55 +00:00
Mayank Patke 85037bf96d [dart2js, ddc] Clean up conditional imports in dart2js_runtime_metrics
This CL:
* adds empty dart:_dart2js_only and dart:_ddc_only libraries for use in
  conditional imports,
* updates pkg/dart2js_runtime_metrics to use the new libraries rather
  than dart:_dart2js_runtime_metrics and dart:js,
* and removes some unnecessary libraries, including VM-specific
  implementations in pkg/dart2js_runtime_metrics and the DDC
  implementation of dart:_dart2js_runtime_metrics.

Change-Id: I9500aa303fa5ad8aba0e1d413f69957c268f3f11
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/350681
Reviewed-by: Sigmund Cherem <sigmund@google.com>
2024-02-09 18:38:55 +00:00
Nicholas Shahan 08f0ffeb60 Revert "[ddc] Fix running d8 with test.py"
This reverts commit 244f8cee87.

Reason for revert: Breaks windows builds.

Original change's description:
> [ddc] Fix running d8 with test.py
>
> - Add build targets to compile .dill outlines for common test 
>   dependencies using kernel_worker.dart.
> - Build ddc modules for common test dependencies and move amd versions
>   to a separate subdirectory.
>
> Change-Id: I126b5821f6aea00b753d83560c76f00c6c5edc61
> Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/350081
> Reviewed-by: Sigmund Cherem <sigmund@google.com>
> Commit-Queue: Nicholas Shahan <nshahan@google.com>

Change-Id: Ic5a17edc323b298eb8d60c82c755c6929e2cacc3
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/351520
Commit-Queue: Nicholas Shahan <nshahan@google.com>
Reviewed-by: Sigmund Cherem <sigmund@google.com>
Auto-Submit: Nicholas Shahan <nshahan@google.com>
Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com>
Commit-Queue: Sigmund Cherem <sigmund@google.com>
2024-02-09 18:25:56 +00:00
Nate Biggs 69e2b2473d [dart2js] Add closed world proto shaking to Dart2js.
Reachability of proto fields is based on the VM's TFA protobuf_handler:
https://github.com/dart-lang/sdk/blob/main/pkg/vm/lib/transformations/type_flow/protobuf_handler.dart

In summary:
Usages of messages' field accessors are detected and registered. If no accessors for a specific field are used then the field is considered unreachable. In this case the metadata initializer for the field is replaced with a placeholder. Any protobuf messages only reachable from erased metadata initializers are also considered unreachable and are erased.

Note: The protobuf library exposes some reflective accessors which this algorithm does not detect usages of. If a field is only accessed reflectively this algorithm will still erase it and therefore users of these reflective accessors should not enable this protobuf shaking.

Protobuf shaking is disabled by default so this change will have no immediate effect on compilations.

Change-Id: I5ddf749bac4ebdcaf364de1cc9a16395a0ad8050
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/349760
Reviewed-by: Mayank Patke <fishythefish@google.com>
Reviewed-by: Sigmund Cherem <sigmund@google.com>
Commit-Queue: Nate Biggs <natebiggs@google.com>
2024-02-09 17:43:09 +00:00
Paul Berry 6bd1df749c Remove contextType parameters from methods that don't use them.
All of these methods used to need a `contextType` parameter to pass to
the null safety migration tool. Now that the migration tool no longer
exists, they can be simplified.

Change-Id: Id6b15d88d8b0174022705c00fd524d17007a11e5
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/351460
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Paul Berry <paulberry@google.com>
2024-02-09 17:39:38 +00:00
Martin Kustermann 96f361f0fa Roll jsshell/jsc to newer versions
(The automated infra to create new D8 versions has some issues atm)

Change-Id: I5a43566f763eb3d9efeba0f0cab0357a802b33b3
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/351061
Reviewed-by: Slava Egorov <vegorov@google.com>
Commit-Queue: Martin Kustermann <kustermann@google.com>
Reviewed-by: William Hesse <whesse@google.com>
2024-02-09 16:40:53 +00:00
Martin Kustermann 045cb8a087 [gardening] Attempt to fix riscv64 sdk build after binaryen roll
The riscv64 sdk builders build with --no-clang, thereby issuing
different set of warnings from clang.

Change-Id: I8c9a222bd9ea03fb78b5779fc5c652c22afb0543
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/351085
Commit-Queue: Martin Kustermann <kustermann@google.com>
Reviewed-by: William Hesse <whesse@google.com>
2024-02-09 16:18:54 +00:00
Sigmund Cherem 1be46a8ec5 [dart2js] only suggest to use the preamble in server-mode
This removes the logic that checks whether `dart:html` was
loaded in order to decide whether or not to show the message
suggesting to load the preamble file.

As described in https://github.com/dart-lang/sdk/issues/54596
this criteria is now obsolete, since we are shifting to use
package:web instead of dart:html in flutter web.

Going forward, the message is shown only when running the
compiler with the `--server-mode` flag.

We still track whether the preamble may be needed, but it may
not be worth doing all that effort in the future.
The alternative would be to show the message always
when using `--server-mode` or never (and rely instead
on documentation).

Fixes https://github.com/dart-lang/sdk/issues/54596

Change-Id: I177184590b4118be333ab93ddf5951e5b01afe7e
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/351320
Reviewed-by: Stephen Adams <sra@google.com>
Commit-Queue: Sigmund Cherem <sigmund@google.com>
2024-02-09 16:08:38 +00:00
Alexander Markov 97164b3a01 [vm/jit] Disable field guards for late fields
Late field inialization stubs don't update field guard state which
causes incorrect optimizations when they rely on that state.
This change disables field guards for late fields in order to fix this
bug.

As an alternative, we could have added the code to update field guard
state from late field initialization stubs. However, it would require
duplicating and generalizing a lot of code used to implement
GuardFieldClass, GuardFieldLength and GuardFieldType instructions.
At the moment it is not clear if field guards provide sufficient
performance improvements to justify this.

Another possible approach would be to outline initializing field
stores from the stubs back to the application code
but that would cause either substantial increase in AOT code size
or an undesired discrenacy between JIT and AOT.

TEST=runtime/tests/vm/dart/regress_flutter142532_test.dart
Fixes https://github.com/flutter/flutter/issues/142532

Change-Id: I15e737aa5d1b73e71e0cb935580a3b9a2dcbb77a
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/350985
Commit-Queue: Alexander Markov <alexmarkov@google.com>
Reviewed-by: Slava Egorov <vegorov@google.com>
Reviewed-by: Martin Kustermann <kustermann@google.com>
2024-02-09 14:59:40 +00:00
Martin Kustermann e7e681264a [dart2wasm] Roll to binaryen to same version as g3 (which is much newer)
Change-Id: I7517463aa311335932e0d8b304df852326798ce0
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/350582
Reviewed-by: Slava Egorov <vegorov@google.com>
Commit-Queue: Martin Kustermann <kustermann@google.com>
2024-02-09 14:23:37 +00:00
Paul Berry 9d39c79471 Change packages analyzer and _fe_analyzer_shared to use language version 3.2.
This will allow these packages to take advantage of private field
promotion.

Change-Id: I35dc57ecd7a0c3afde4713cd60aca86b479393a3
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/351162
Commit-Queue: Paul Berry <paulberry@google.com>
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
2024-02-09 14:19:30 +00:00
Vyacheslav Egorov 14f7622ef4 [vm] Remove bin/*_android{.cc,.h} and use Linux implementations.
Android is based on Linux, so most of the files were identical
sans some subtle discrepancies caused by drift over time.

This discrepancies were making code base harder to maintain and in fact
were hiding bugs. For example, on Android eventhandler's implementation
of timers which relied on passing timeout to `epoll_wait` contained
a bug which was not present on Linux which used `timerfd` instead.

TEST=ci and manual testing of Flutter app on Android device

Fixes https://github.com/dart-lang/sdk/issues/54868

Cq-Include-Trybots: luci.dart.try:vm-aot-android-release-arm64c-try,vm-aot-android-release-arm_x64-try,vm-ffi-android-debug-arm-try,vm-ffi-android-debug-arm64c-try,vm-ffi-android-product-arm-try,vm-ffi-android-product-arm64c-try,vm-ffi-android-release-arm-try,vm-ffi-android-release-arm64c-try
Bug: b/311165013
Change-Id: Ia166f69c14177ec34160805a0983eafee8ea65f6
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/350923
Reviewed-by: Martin Kustermann <kustermann@google.com>
Commit-Queue: Slava Egorov <vegorov@google.com>
2024-02-09 14:10:49 +00:00
Chloe Stefantsova 2564dc0b89 [cfe] Add CloneProcedureWithoutBody.cloneProcedureWithParameters
Change-Id: I13b0aeede9221d9fdb03b6dc05d068a906c6851a
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/350864
Commit-Queue: Chloe Stefantsova <cstefantsova@google.com>
Reviewed-by: Daco Harkes <dacoharkes@google.com>
2024-02-09 13:51:33 +00:00
Jonas Termansen 6dcd8f78df [infra] Document how to self service update javascript engines.
Bug: b/324389547
Change-Id: I2da77aa390d780b151f5b6fbbc8ef8b24fc34bad
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/351142
Reviewed-by: William Hesse <whesse@google.com>
Commit-Queue: Jonas Termansen <sortie@google.com>
2024-02-09 13:06:47 +00:00
Sergey G. Grekhov 36e4a5e69a [co19] Roll co19 to 80711f456b9a9ccaf345892098aa75d978cf6dc3
2024-02-08 sgrekhov22@gmail.com dart-lang/co19#2529. Remove tests with compile-time errors from core and html folders (dart-lang/co19#2530)
2024-02-08 sgrekhov22@gmail.com dart-lang/co19#2522. Move flow-analysis weak tests to TypeSystem dir (dart-lang/co19#2527)
2024-02-08 sgrekhov22@gmail.com Fix dart-lang/co19#2515. Remove strong-mode tests checking interaction with legacy (dart-lang/co19#2528)
2024-02-07 sgrekhov22@gmail.com dart-lang/co19#2522. Move type-normalization weak tests to TypeSystem dir (dart-lang/co19#2526)
2024-02-07 sgrekhov22@gmail.com dart-lang/co19#2522. Move subtyping tests to TypeSystem dir (dart-lang/co19#2525)
2024-02-07 sgrekhov22@gmail.com dart-lang/co19#2522. Move type-normalization tests to TypeSystem dir (dart-lang/co19#2524)
2024-02-06 sgrekhov22@gmail.com dart-lang/co19#2522. Move flow-analysis tests to TypeSystem dir (dart-lang/co19#2523)
2024-02-05 sgrekhov22@gmail.com Fix dart-lang/co19#2403. Add test for the new UP algorithm (dart-lang/co19#2520)
2024-02-05 sgrekhov22@gmail.com dart-lang/co19#2515. Fix const_evaluation_A10_t01.dart failure (dart-lang/co19#2519)

Change-Id: Ib6c00729b4a6aed3cb7ba2816eb46012ddef73a2
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/350922
Reviewed-by: Erik Ernst <eernst@google.com>
Reviewed-by: William Hesse <whesse@google.com>
Commit-Queue: Erik Ernst <eernst@google.com>
2024-02-09 10:43:49 +00:00
Daco Harkes aa1a9c8cc2 Add OWNERS to pkg/front_end/testcases/
Changes to `dart:ffi` often lead to expect-file updates. VM engineers
should be able to review and approve these changes.

So, this CL adds the VM engineers as owners of the test cases.

Change-Id: I84609b1bc74e1c15964f00b473a2bd3eed1fdf50
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/351122
Auto-Submit: Daco Harkes <dacoharkes@google.com>
Reviewed-by: Jens Johansen <jensj@google.com>
Commit-Queue: Daco Harkes <dacoharkes@google.com>
2024-02-09 08:36:00 +00:00
Jake Macdonald 22264a24c8 add TypeParameter interface, for function type parameters which are not Declarations
Bug: https://github.com/dart-lang/language/issues/3559
Change-Id: I98d20e9f3b84d89c985fddb10ed1dc5e7c651b7e
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/346640
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
Reviewed-by: Johnni Winther <johnniwinther@google.com>
Commit-Queue: Johnni Winther <johnniwinther@google.com>
Auto-Submit: Jake Macdonald <jakemac@google.com>
2024-02-09 08:35:28 +00:00
Sigmund Cherem d82be109a2 [jsinterop] fix lowering of callMethod unchecked calls.
The lowering for external calls works in multiple steps:
- we first expand it into a `js_util.callMethod` call (which uses .apply
  internally)
- which we later refine in to a `js_util._callMethodUncheckedN` call, if
  possible (which calls the member directly)

The second step only happens if we can statically verify the arity of
the method being called and that every argument passed doesn't need a
allow-interop check. The latter is bypassed if we know from the types
that it cannot be a Dart Function.

The new JS interop always satisfies the check, but the second step above
failed to regonize it because it didn't account for extension types. This
CL does the incremental fix to recognize it. Long term, we should
instead change the lowering to use directly the js_interop_unsafe
methods, and tailor the lowering to the new interop.

Fixes https://github.com/dart-lang/sdk/issues/54862

Change-Id: Ieee560e5cd6bd9b6921368477bf8212cae5a1faa
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/351221
Commit-Queue: Sigmund Cherem <sigmund@google.com>
Reviewed-by: Srujan Gaddam <srujzs@google.com>
2024-02-09 01:59:46 +00:00
Nicholas Shahan 244f8cee87 [ddc] Fix running d8 with test.py
- Add build targets to compile .dill outlines for common test 
  dependencies using kernel_worker.dart.
- Build ddc modules for common test dependencies and move amd versions
  to a separate subdirectory.

Change-Id: I126b5821f6aea00b753d83560c76f00c6c5edc61
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/350081
Reviewed-by: Sigmund Cherem <sigmund@google.com>
Commit-Queue: Nicholas Shahan <nshahan@google.com>
2024-02-09 00:47:02 +00:00
Keerti Parthasarathy 987a3e18c2 Add navigation tests for augmentations
Change-Id: Ia5232beb1c1a4f7f730d0601962d38d24905e813
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/351300
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Keerti Parthasarathy <keertip@google.com>
2024-02-09 00:43:49 +00:00
Sigmund Cherem 5941ee7560 [dart:html] minor fix to clearWatch.
This is a fix to not include a null assert when it's
possible the value was null.

Fixes https://github.com/dart-lang/sdk/issues/49972

CoreLibraryReviewExempt: bug fix only affecting html library implementation
Change-Id: I26e6ebf3dc2d1ea3f9f458a32f519c5235e6d273
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/350982
Commit-Queue: Sigmund Cherem <sigmund@google.com>
Reviewed-by: Srujan Gaddam <srujzs@google.com>
2024-02-08 23:23:20 +00:00
DEPS Autoroller 502d230c06 Roll gn from 5d76868385b8 to a2e2717ea670
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-ecosystem-gardener@grotations.appspotmail.com,dart-engprod@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-mac-try;luci.dart.try:dart-sdk-mac-arm64-try;luci.dart.try:dart-sdk-win-try
Change-Id: Ie6a28343a1844249a71604c9e707eaf075a0194f
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/349923
Reviewed-by: Alexander Aprelev <aam@google.com>
Commit-Queue: Alexander Aprelev <aam@google.com>
Reviewed-by: Ryan Macnak <rmacnak@google.com>
2024-02-08 22:18:09 +00:00
Nicholas Shahan 0dbeb2135e [test_runner] Rename host-checked to host-asserts
Cleanup this old naming scheme before adding new configs for DDC
that run with assertions enabled in the host compiler.

Change-Id: Icbdee694fac46b3a1d5bab7ee7411c8e9be8c4a1
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/335385
Reviewed-by: Sigmund Cherem <sigmund@google.com>
Commit-Queue: Nicholas Shahan <nshahan@google.com>
Reviewed-by: Bob Nystrom <rnystrom@google.com>
2024-02-08 22:01:09 +00:00
Brian Wilkerson 070485c19d Address some feedback on a previous CL
Change-Id: I2e0f59fb2d22677efa58720d0bd6e73ac65daa22
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/350980
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com>
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
2024-02-08 20:47:26 +00:00
Ben Konyi ff23e8074f [ dart2native ] Remove unused constant
Change-Id: Ica7a9543822ec65ef4b5aacafee97ad1fa684d94
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/351180
Reviewed-by: Alexander Markov <alexmarkov@google.com>
Commit-Queue: Ben Konyi <bkonyi@google.com>
Auto-Submit: Ben Konyi <bkonyi@google.com>
2024-02-08 19:51:11 +00:00
Konstantin Shcheglov ee2754bac2 Extension type. Explicit unit test for isAlwaysExhaustive().
Change-Id: Ia589e9c81ab1d73fe0c31d8ec526405b854cf352
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/351161
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
2024-02-08 19:47:19 +00:00
Parker Lougheed 4fb4bdd24a [analysis_server] Don't suggest dev dependencies in app entry points
Fixes https://github.com/dart-lang/sdk/issues/54684

Change-Id: I51028464088a615f15144d28fa2687e38c250d94
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/349764
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com>
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
2024-02-08 19:36:27 +00:00
Paul Berry 5a70848899 Simplify inference logic in TypedLiteralResolver.resolveListLiteral.
It doesn't make sense to build a list type that's not going to be
used. Just track the list's element type instead.

Change-Id: I121b55047a47c13ff8bdedb5d91b9ce6a74e75d3
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/350984
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
Commit-Queue: Paul Berry <paulberry@google.com>
2024-02-08 18:00:29 +00:00
Abitofevrything 7ad5a57bf2 Preserve non-synthetic function types when resolving invocations of functions with type parameters
Update existing tests to require existing parameter elements


Add tests for staticParameterElement in generic functions

R=leafp@google.com

Bug: https://dartbug.com/54669
Change-Id: Ie899f58df56ad1a6b49426ca4d7f4e611975b284
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/350920
Auto-Submit: Mylo Fawcett <mylo.fawcett@gmail.com>
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com>
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
2024-02-08 17:05:49 +00:00
Sigmund Cherem 655b7572e1 [expect] remove top-level dart2jsProductionMode and webNumbers.
These have been replaced with references to static properties on `Variations`.

Change-Id: I3eb725bc68f22e44d73342269a299b7ce84d8495
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/347385
Reviewed-by: Mayank Patke <fishythefish@google.com>
Reviewed-by: Sigmund Cherem <sigmund@google.com>
Commit-Queue: Sigmund Cherem <sigmund@google.com>
2024-02-08 17:00:59 +00:00
Sigmund Cherem cd83e0ccc0 [tests] update to use variations.dart#jsNumbers
Replaces uses of `webNumbers` with `jsNumbers`.
CoreLibraryReviewExempt: no semantic changes - only updates to use new pkg/expect variations properties
Change-Id: I8072b0b1f92d37e756c211b5d0de106a59d0960b
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/346911
Reviewed-by: Mayank Patke <fishythefish@google.com>
2024-02-08 17:00:59 +00:00
Sigmund Cherem ff4c387079 [tests] update tests to use variations
This updates tests to start using `checkedParamters` and
`checkedImplicitDowncasts` instead of `dart2jsProductionMode`

CoreLibraryReviewExempt: no semantic changes - only updates to use new pkg/expect variations properties
Change-Id: Ie717b4fd44590ff1f977142cf5802c4aace34dea
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/346910
Reviewed-by: Mayank Patke <fishythefish@google.com>
2024-02-08 17:00:59 +00:00
Martin Kustermann a46d59fe3b [dart2wasm] Allow --minify/--no-minify to override defaults from -O<level>
* Allow --minify/--no-minify to override defaults from -O<level>

* Remove the unused(!) --name-section option from pkg/dart2wasm/*
  => Stripping it only makes sense at the binaryen step

* Make pkg/dart2wasm/tool/compile_benchmark support -g/--no-minify
  => Only useful for dart2wasm developers

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

Change-Id: I695e985897b212fc345dcfd776553a009723d3b6
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/351121
Reviewed-by: Slava Egorov <vegorov@google.com>
Commit-Queue: Martin Kustermann <kustermann@google.com>
2024-02-08 16:46:19 +00:00
Parker Lougheed ac212a05b6 [pkg/dart2native] Migrate to dart_flutter_team_lints
Also uses some newer language features to cleanup nearby code.

Change-Id: I542911cd21ac0d77692edd7734b694c92d341ded
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/346202
Reviewed-by: Tess Strickland <sstrickl@google.com>
Commit-Queue: Ben Konyi <bkonyi@google.com>
Reviewed-by: Ben Konyi <bkonyi@google.com>
2024-02-08 16:44:33 +00:00
Ben Konyi 294d35f0cf [ Presubmit ] Add rule to prevent new tests from being added under runtime/observatory/tests/service
New service tests should be added to pkg/vm_service/test/ instead.

Change-Id: I22460753478c21956f56b5c7c29cb3dfbc500c21
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/350420
Reviewed-by: Jonas Termansen <sortie@google.com>
Commit-Queue: Ben Konyi <bkonyi@google.com>
2024-02-08 16:23:16 +00:00
Alexander Aprelev 6ab194a95b [build] Update Windows SDK to 10.0.22621.0.
Sync setup_toolchain.py, vs_toolchain.py, find_depot_tools.py with chromium tot 2a6e67243533df4913d06814019b99a8b3ea385b

BUG=https://github.com/dart-lang/sdk/issues/54630

Change-Id: I42f79900951f228d8c9711fee3cab7db22f96e19
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/350655
Commit-Queue: Alexander Aprelev <aam@google.com>
Reviewed-by: Ryan Macnak <rmacnak@google.com>
2024-02-08 16:06:50 +00:00
Martin Kustermann 26aa50fdbf [dart2wasm] Fix off-by-one error in List.insert()
Closes https://github.com/dart-lang/sdk/issues/54845

TEST=lib/collection/regress_54845_test

Change-Id: I1af7f59a57c70ef5ec724b089555ebbcbd88a484
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/351120
Commit-Queue: Martin Kustermann <kustermann@google.com>
Reviewed-by: Slava Egorov <vegorov@google.com>
2024-02-08 14:05:44 +00:00
Martin Kustermann 0ab9f53744 [vm] Remove unused external Abi.current() in VMs ffi transformations
This member cannot be used, as this external doesn't receive
a body.

TEST=ci

Change-Id: I2ed859c5f59b41c061a0dfd24b928696ef57b5bc
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/351041
Reviewed-by: Daco Harkes <dacoharkes@google.com>
Commit-Queue: Martin Kustermann <kustermann@google.com>
2024-02-08 11:18:20 +00:00
Sigmund Cherem 5bf858c360 [expect] introduce package:expect/requirement.dart
This introduces a new library to write fine-grain requirements in individual language tests.

Each requirement is based on potential variations in behavior from existing Dart implementations and testing configurations.

This list will eventually be aligned with the list of requirements exposed in as features in the '// Requirements=' comment.

Change-Id: I320fc5037e2466724441b38a5b951999b58dafce
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/346909
Reviewed-by: Kallen Tu <kallentu@google.com>
Commit-Queue: Sigmund Cherem <sigmund@google.com>
2024-02-08 01:48:24 +00:00
pq 0cb088754a ensure enabled experiments propagate to mapped options
Fixes: https://github.com/dart-lang/sdk/issues/54849

Change-Id: Iad335e23dfb0b6d68a368421fc2cbfd9651f4532
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/350693
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Phil Quitslund <pquitslund@google.com>
2024-02-08 00:40:05 +00:00
Ryan Macnak 8baa99a697 [vm] Fix some left shifts of negative values.
TEST=ubsan
Change-Id: I606a3c1ee0a4bf5da8e03b458ad6031dcd65ca05
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/350941
Reviewed-by: Alexander Aprelev <aam@google.com>
Commit-Queue: Ryan Macnak <rmacnak@google.com>
2024-02-07 21:52:22 +00:00