Commit graph

1225 commits

Author SHA1 Message Date
Nicholas Shahan d77e22a20b [dart2js] Update tests matrix entries
- Update options for existing configurations.
- Add one new configuration for running _2 test suites.
- Rename builders and update to run new configurations.

Tested: Tested with led runs.
Change-Id: I87de456b6b2e53d9e211cbd716fef18910aba69c
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/281348
Reviewed-by: Sigmund Cherem <sigmund@google.com>
Reviewed-by: Alexander Thomas <athom@google.com>
2023-03-08 08:40:57 +00:00
Ryan Macnak c7569492aa [infra] Add configurations to rename JIT NNBD.
Change-Id: I139200ddbec0da456c38d495141b0122ed034a08
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/286222
Commit-Queue: Ryan Macnak <rmacnak@google.com>
Reviewed-by: Alexander Thomas <athom@google.com>
2023-03-03 18:21:01 +00:00
Ryan Macnak befb2e2edf [infra] Remove old configurations for Linux ARM64.
Change-Id: I8b2941c43f142ccc02e316a5ecdac4ceb27e9b83
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/285381
Reviewed-by: Alexander Thomas <athom@google.com>
Commit-Queue: Ryan Macnak <rmacnak@google.com>
2023-03-01 19:02:53 +00:00
Nicholas Shahan f0fb9db6c8 [ddc] Remove unused configurations and builders
Cleanup unused `xcodebuild/ReleaseX64/` paths from file sets.

Change-Id: I6c109d693a1dc2bf7b7e095703fdeab7113d89df
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/282484
Reviewed-by: Alexander Thomas <athom@google.com>
Commit-Queue: Nicholas Shahan <nshahan@google.com>
2023-02-28 20:01:02 +00:00
Ryan Macnak 1d0146984c [infra] Add configurations to migrate Linux ARM64 to NNBD.
Change-Id: Iafe32528a4516817d6770e5e87686c97bd58da8e
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/285160
Reviewed-by: Alexander Thomas <athom@google.com>
Commit-Queue: Ryan Macnak <rmacnak@google.com>
2023-02-27 18:40:28 +00:00
Ryan Macnak 3583c63b18 [infra] Remove old configurations for the "compressed" group.
Change-Id: I7c49fa13f67eb0f2f662f1a393cdf5614644604a
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/284483
Reviewed-by: Alexander Thomas <athom@google.com>
Commit-Queue: Ryan Macnak <rmacnak@google.com>
2023-02-23 19:16:30 +00:00
stuartmorgan dd128e7634 Replace flutter/plugins analysis
Closes https://github.com/dart-lang/sdk/pull/51494

GitOrigin-RevId: 8e0394371fbe65e2c56096b081c22122bf36e2a0
Change-Id: Ib89119b1bcbcae558d8f1a5884c4baf22c99d672
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/284741
Reviewed-by: Devon Carew <devoncarew@google.com>
Commit-Queue: Devon Carew <devoncarew@google.com>
2023-02-22 20:52:10 +00:00
Ryan Macnak 3ff9699185 [infra] Add configurations to migrate the "compressed" group.
Change-Id: I15018b1c50b7c3a75b9b0c958ee7cb439b3cd350
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/284482
Reviewed-by: Alexander Thomas <athom@google.com>
Commit-Queue: Ryan Macnak <rmacnak@google.com>
2023-02-22 17:27:46 +00:00
Nicholas Shahan fc2c9269f0 [ddc] Add new test and builder configs
Change-Id: If337869b80cb440b6c15cc7834bda5a5cfdd80fd
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/279750
Commit-Queue: Nicholas Shahan <nshahan@google.com>
Reviewed-by: Alexander Thomas <athom@google.com>
Reviewed-by: Sigmund Cherem <sigmund@google.com>
2023-02-17 19:45:39 +00:00
Ryan Macnak 7e4357b63d [infra] Remove old configurations for the "product" group.
Change-Id: I8cd9dbaef903c1283bfdca481a6924e81fbfa869
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/282822
Reviewed-by: Alexander Thomas <athom@google.com>
Commit-Queue: Ryan Macnak <rmacnak@google.com>
2023-02-17 18:30:12 +00:00
Nate Biggs 75a4625871 [dart2js] Move test bots to use null safety.
Change-Id: I2f499f3a8dc18ede9d8caa182cb6f95cdeb3e7c5
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/282920
Commit-Queue: Nate Biggs <natebiggs@google.com>
Reviewed-by: Sigmund Cherem <sigmund@google.com>
2023-02-15 04:04:48 +00:00
Ryan Macnak bf1b0ee2ba [infra] Add configurations to migrate the "product" group.
Change-Id: Ic321ed35598b5427d741f206cd04aeacdc0607bb
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/282821
Reviewed-by: Alexander Thomas <athom@google.com>
Commit-Queue: Ryan Macnak <rmacnak@google.com>
2023-02-15 01:15:33 +00:00
Nicholas Shahan 906c0463db [dart2js] Add new test configurations
Change-Id: Ife14af87d44ba93902da2a0a75a240f0bf568346
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/281347
Reviewed-by: Sigmund Cherem <sigmund@google.com>
Commit-Queue: Nicholas Shahan <nshahan@google.com>
2023-02-13 19:10:24 +00:00
Nicholas Shahan f3073872db [dart2js] Remove all unused test configs
Reduce the test matrix configurations to only those used in actual
build bots.

Change-Id: I05dced8af8b6ab3b1d3534cfd455773abff87aa5
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/281346
Reviewed-by: Sigmund Cherem <sigmund@google.com>
2023-02-13 19:10:24 +00:00
Ryan Macnak 4e08418ee8 [infra] Remove old configurations for Android.
Change-Id: I055f51bb48ce2f05b7617ab391e7c9e7bba29905
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/281781
Reviewed-by: Alexander Thomas <athom@google.com>
Commit-Queue: Ryan Macnak <rmacnak@google.com>
2023-02-13 19:00:30 +00:00
Alexander Thomas b9d8103371 [testing] Use migrated suites by default on non-legacy configurations
Make test.py pick migrated suites by default when the `NnbdMode` is not `NnbdMode.legacy`.

* Remove non-existing benchmark_smoke suite.
* Remove broken analyzer_library suite from default suites.
* Deprecated observatory_ui is not added to the default migrated suites.
* Remove remaining references to samples-dev.
* Remove unnecessary suite specifications from the test_matrix.json.
* Remove broken references to observatory_ui from the test_matrix.json.
* Remove defunct observatory_ui hack from test.py.

Fixes: b/268474066
Change-Id: I6c3635bcb396021ca86498d60c9efc77ab39589e
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/281701
Reviewed-by: William Hesse <whesse@google.com>
Commit-Queue: Alexander Thomas <athom@google.com>
2023-02-10 08:43:27 +00:00
Ryan Macnak a984c05aa7 [infra] Add configurations to migrate Android.
Change-Id: I3bc987768b9f0a5682018fa6e1549a2b2ace32fc
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/281760
Reviewed-by: Alexander Thomas <athom@google.com>
Commit-Queue: Ryan Macnak <rmacnak@google.com>
2023-02-09 19:44:31 +00:00
Alexander Thomas 04b01af929 [infra] Run weak mode on fewer VM builders
Change-Id: Idde9540266d33d758fa832845e4900aa8daf63d3
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/281181
Commit-Queue: Alexander Thomas <athom@google.com>
Reviewed-by: Siva Annamalai <asiva@google.com>
2023-02-07 12:07:47 +00:00
Ryan Macnak a8220b8a7d [infra] Delete old configurations for AppJIT.
Change-Id: Ic8c17fed31456c2182bcf9ca3d939defe8c919fa
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/280280
Reviewed-by: Alexander Thomas <athom@google.com>
Commit-Queue: Ryan Macnak <rmacnak@google.com>
2023-02-06 19:39:45 +00:00
Nicholas Shahan 5717d08a2d [test_runner] Add ddc-options to compiler configuration
Use explicit ddc-options to pass `--canary` flag to the compiler instead
of sniffing for a builder tag.

This just feels more expected and makes more sense if you are trying
to understand how the canary configurations compile tests differently
from the stable configurations.

Change-Id: I59b1e62d3839f6f992eea917ecbae240640fcd76
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/280783
Commit-Queue: Nicholas Shahan <nshahan@google.com>
Reviewed-by: Alexander Thomas <athom@google.com>
2023-02-06 18:58:34 +00:00
Alexander Thomas 61e41ef4c3 [infra] Remove builders no longer existing on CI from the test matrix
Bug: b/201271877
Change-Id: If6dca2a142b20192af6e497661efdda6b408c20d
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/280381
Reviewed-by: William Hesse <whesse@google.com>
Commit-Queue: Alexander Thomas <athom@google.com>
2023-02-06 13:43:31 +00:00
Ryan Macnak 6e805b6620 [infra] Add configurations to migrate AppJIT.
Change-Id: I4589124154538ffb38a6d9de9e99961ecf2508f9
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/280059
Reviewed-by: Alexander Thomas <athom@google.com>
Commit-Queue: Ryan Macnak <rmacnak@google.com>
2023-02-03 18:46:28 +00:00
Ryan Macnak 3a95d23d82 [infra] Shard the sanitizer bots.
vm-msan-linux-release-x64 is hitting the 50 minute per-step timeout.
vm-asan-linux-release-x64 and vm-ubsan-linux-release-x64 are very close to the timeout.

Change-Id: I9320e0ee7962bb9a103f78fa53fe3ba66205d982
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/280522
Reviewed-by: Alexander Thomas <athom@google.com>
Commit-Queue: Ryan Macnak <rmacnak@google.com>
2023-02-03 18:00:29 +00:00
Ryan Macnak cb9ff115b4 [infra] Delete old configurations for the "misc" builders.
Change-Id: Iad4e1391933414a7823b74f310ec23020384eff3
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/275983
Reviewed-by: Alexander Thomas <athom@google.com>
2023-02-01 21:25:32 +00:00
Aske Simon Christensen e805b776bc [dart2wasm] Use status files for defining which tests to run
This makes it easier to run tests locally, just specifying the suites
`co19 corelib language lib web` to `test.py`.

It also make it easier to change which tests we run going forward.

Change-Id: I3a4765c18ee105055fdb9a6b59036da11b956e1a
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/279973
Commit-Queue: Aske Simon Christensen <askesc@google.com>
Reviewed-by: Alexander Thomas <athom@google.com>
Reviewed-by: Jackson Gardner <jacksongardner@google.com>
2023-01-30 10:42:22 +00:00
Alexander Thomas 71e17c37dd [infra] Rename null safe optcounter configs to eager-optimization
optcounter-threshold configs set the optimization-counter-threshold to 5
to make the VM optimize code eagerly. The "optcounter" name doesn't
inform users how the threshold was changed (a higher value would mean
"lazy" optimization).

Bug: b/201271877
Change-Id: Iaed0b9e601fc8d904c3847d9d26002c2bfa739dc
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/279967
Reviewed-by: Slava Egorov <vegorov@google.com>
Reviewed-by: Ryan Macnak <rmacnak@google.com>
Commit-Queue: Alexander Thomas <athom@google.com>
2023-01-30 07:47:02 +00:00
Nicholas Shahan 7c5445074b [ddc] Refactor modular test suites
- Move DDC modular pipeline to helper library.
- Add null safety flag to `SourceToSummaryDillStep`.
- Add null safety and canary mode flags to `DDCStep`.
- Add new suite that runs in canary mode without sound null safety.

Change-Id: I3b5450c2f07913a8bdc9a210e16d26fe162ff1c0
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/279478
Reviewed-by: Sigmund Cherem <sigmund@google.com>
Commit-Queue: Nicholas Shahan <nshahan@google.com>
2023-01-27 23:57:30 +00:00
Nicholas Shahan d56b9b3988 [ddc] Remove unsound .dill files from SDK
Dart 3 requires all code to be null safe.

Compiling with --no-sound-null safety requires manually passing
an unsound SDK outline. This is no longer provided by default
and is not packaged with the SDK at all.

Fixes: https://github.com/dart-lang/sdk/issues/50700
Change-Id: Ic4bd7dc5e96b42c7c10a29f273371c6a680936f1
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/278999
Reviewed-by: William Hesse <whesse@google.com>
Commit-Queue: Nicholas Shahan <nshahan@google.com>
2023-01-26 22:34:38 +00:00
Nicholas Shahan 5b1e6ca6c6 [ddc] Cleanup sourcemap and stacktrace tests
- Remove all refrences to "ddk" vs "ddc".
- Update throw_in_instance_method to reflect the current sourcemappings
  and start running the test again.

Change-Id: Iff82f971e676346b3495a327d2d86cabd73cea03
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/279473
Reviewed-by: Sigmund Cherem <sigmund@google.com>
Commit-Queue: Nicholas Shahan <nshahan@google.com>
2023-01-26 21:43:18 +00:00
Nicholas Shahan 41f57cd3f8 [ddc] Cleanup names of modular tests
Fix names in test matrix to match what is actually running on
each bot.

Updated file names:
- Runs with sound null safety
  modular_suite_nnbd.dart -> modular_suite.dart

- Runs without sound null safety
  modular_suite.dart -> modular_suite_unsound.dart

Updated configs to record status:
- Sound
  dartdevk-strong-linux-release-chrome
- Unsound
  dartdevk-checked-linux-release-chrome
  dartdevk-checked-mac-release-chrome
  dartdevk-checked-win-release-chrome
  dartdevc-canary-weak-linux-release-chrome-x64

Change-Id: I21d1df41a174824b26154584315cb300a37103f8
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/279471
Commit-Queue: Nicholas Shahan <nshahan@google.com>
Reviewed-by: Sigmund Cherem <sigmund@google.com>
2023-01-26 20:18:39 +00:00
Josh Soref ba15a61271 Spelling build
Closes https://github.com/dart-lang/sdk/pull/50859

GitOrigin-RevId: 7b056018c2925745701bdecdd7da325d9458204d
Change-Id: Iff037d773713bf73efde6951599becfd7297b921
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/277740
Reviewed-by: Alexander Thomas <athom@google.com>
2023-01-23 08:56:14 +00:00
Ryan Macnak 02284fa846 [infra] Create configurations to move the "misc" builders to NNBD.
Change-Id: I3321b45c4ed3b021e3be95bf730ee2844bb9902b
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/275981
Reviewed-by: Alexander Thomas <athom@google.com>
Commit-Queue: Alexander Thomas <athom@google.com>
2023-01-18 07:13:38 +00:00
Nicholas Shahan c140324e1e [ddc] Rename .dill files
- Makes the names consistent with dart2js and dart2wasm.
- Prepares for the upcoming removal of the weak null safety .dill file.

Change-Id: Idcf694b27cd4731db8f7ed6f0fdab7766ced08a6
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/277183
Reviewed-by: William Hesse <whesse@google.com>
Reviewed-by: Bob Nystrom <rnystrom@google.com>
Reviewed-by: Johnni Winther <johnniwinther@google.com>
Reviewed-by: Mayank Patke <fishythefish@google.com>
2023-01-18 01:34:57 +00:00
Ryan Macnak cfd0c25ac3 [test] Run the service suite with --nnbd=strong.
TEST=ci
Change-Id: I6753a0a5eb9d93e4c33af0dc8d21dffe3e6aee54
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/278944
Reviewed-by: Siva Annamalai <asiva@google.com>
Reviewed-by: Ben Konyi <bkonyi@google.com>
Commit-Queue: Ryan Macnak <rmacnak@google.com>
2023-01-13 18:32:27 +00:00
Daco Harkes 29a3e27e6f [tests/ffi] Switch over Android & QEMU to nnbd tests
This CL switches over the bots that are manually configured to
run the `ffi_2` test suite to the `ffi` test suite instead.
This changes these tests from legacy to nnbd mode.
The suites being converted are the Android and QEMU FFI tests.

This CL does _not_ switch over the bots that run the default suites.

This CL also skips all FFI tests that use the Dart API symbols on
Windows precompiled. These tests will never work in that mode and
should be skipped instead.

Analysis of FFI test bots: go/dart-ffi-legacy-test-turndown

Bug: https://github.com/dart-lang/sdk/issues/50633

Change-Id: I4e21ad5a036b83d8240fc662ed1c159305f2e297
Cq-Include-Trybots: luci.dart.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,vm-precomp-ffi-qemu-linux-release-arm-try,vm-precomp-ffi-qemu-linux-release-riscv64-try
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/277521
Commit-Queue: Daco Harkes <dacoharkes@google.com>
Reviewed-by: Jonas Termansen <sortie@google.com>
2022-12-27 15:18:59 +00:00
Nicholas Shahan b84aa5a7f9 [ddc] Cleanup uses of ignored cli args
The `-k`, `--kernel`, and `--dart-sdk` flags are ignored by DDC.

Change-Id: Ic2bf5c87a26cab7dcbcfeafa39dae1ea1b20c711
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/277180
Reviewed-by: Nate Bosch <nbosch@google.com>
Reviewed-by: Mark Zhou <markzipan@google.com>
Commit-Queue: Nicholas Shahan <nshahan@google.com>
2022-12-22 21:50:08 +00:00
Nicholas Shahan b9469f452a [ddc] Always explicitly pass null safety mode
Add explicit mode flags for DDC related compiles.

Change-Id: Icb9e21a4b8786a0de620bcc387cafbe8d27d0e86
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/277042
Reviewed-by: Nate Bosch <nbosch@google.com>
Commit-Queue: Nicholas Shahan <nshahan@google.com>
Reviewed-by: Mark Zhou <markzipan@google.com>
2022-12-21 23:35:45 +00:00
Josh Soref b48dc3af7a Spelling tools
Closes https://github.com/dart-lang/sdk/pull/50773

GitOrigin-RevId: 8f729bf80cce3c39b788a61591f14db234297186
Change-Id: I5a07bf96a2f8920560983fda504000c39e598e05
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/276560
Reviewed-by: Srujan Gaddam <srujzs@google.com>
Reviewed-by: Jonas Termansen <sortie@google.com>
Reviewed-by: Erik Ernst <eernst@google.com>
2022-12-21 17:26:48 +00:00
Aske Simon Christensen fd12e2e4ae [benchmark] Test dart2wasm benchmark invocations.
Bug: b/260206997
Change-Id: I49e225d8420fc5b5c0123736d0d8069d4cecd108
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/273842
Reviewed-by: Jonas Termansen <sortie@google.com>
Commit-Queue: Aske Simon Christensen <askesc@google.com>
2022-12-08 11:56:56 +00:00
Sigmund Cherem e8906e65e7 [3.0 alpha][dart2js] No longer infer the null-safety mode from sources.
This prepares dart2js to default to sound null safety in Dart 3.0.

The compiler no longer infers the default mode based on the input
program, instead uses sound null safety unless
'--no-sound-null-safety' is specified.

On a separate change, we expect to remove the option of disabling
null safety.

Note: this change should also be reflected in the CHANGELOG, but
we've currently not included it to redeuce merge conflicts, as we plan
to land multiple 3.0-alpha changes in a short window of time

Change-Id: Id87498cc5976548ec89d1f36c60674b72406950a
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/270860
Reviewed-by: Nate Biggs <natebiggs@google.com>
Commit-Queue: Siva Annamalai <asiva@google.com>
Reviewed-by: Mayank Patke <fishythefish@google.com>
2022-12-07 04:02:13 +00:00
asiva e70e2bc1b7 [Dart 3.0 alpha] Fix some test issues (legacy mode argument not passed in)
TEST=ci

Change-Id: Iebb31a509b99837e41cf3823ca366c1560777af6
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/273920
Reviewed-by: Ben Konyi <bkonyi@google.com>
Commit-Queue: Siva Annamalai <asiva@google.com>
Reviewed-by: Siva Annamalai <asiva@google.com>
2022-12-06 19:34:47 +00:00
asiva 606a64a743 [3.0 alpha][VM/Runtime] - Flip flag to make strong null safety the default.
- Flip flag to make strong null safety the default
- Remove code that auto detects null safety mode from source files,
  it is necessary to specify --no-strong-null-safety to opt out.
- Retains sniffing of AOT/JIT snapshots and kernel files to determine
  null safety mode, the opt out has to be done when generating these
  file.

TEST=ci

Change-Id: If2c9608eedb7c46d9c3cd85e261ee9640e0d28eb
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/261140
Reviewed-by: Alexander Thomas <athom@google.com>
Reviewed-by: Alexander Markov <alexmarkov@google.com>
Reviewed-by: Johnni Winther <johnniwinther@google.com>
Commit-Queue: Siva Annamalai <asiva@google.com>
Reviewed-by: Sigmund Cherem <sigmund@google.com>
2022-12-06 04:04:23 +00:00
Jonas Termansen d2d4ae0b61 [benchmark] Test --no-sound-null-safety on legacy web benchmarks.
Bug: b/241766173
Change-Id: I83b132fe1b7832d0520391a94d346d26db4f3766
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/271101
Reviewed-by: William Hesse <whesse@google.com>
2022-11-23 11:52:02 +00:00
Jonas Termansen 7edc7a63f1 [infra] Remove linux SDK builder test matrix entry.
Both the production and try builders for the Linux SDK have been
migrated to the new recipe that doesn't use the test matrix.

The tools/bots/dart_sdk.py script is is no longer use and is removed.

Bug: b/253079985
Change-Id: I85a122b6165858b3dd43e7a1baad1dcd23f32ecb
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/265341
Reviewed-by: Alexander Thomas <athom@google.com>
Commit-Queue: Jonas Termansen <sortie@google.com>
2022-10-28 11:11:47 +00:00
Srujan Gaddam c14c0fdda3 [pkg:js] Refactor export and mock tests to use Strings
Allows for tests to pass with dart2wasm. This CL also adds these
tests to the test_matrix.json.

Change-Id: I970ef26b0fb377095c3889e6f52bef256d618850
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/264604
Reviewed-by: Joshua Litt <joshualitt@google.com>
Reviewed-by: Kevin Moore <kevmoo@google.com>
2022-10-26 16:34:38 +00:00
Alexander Thomas 0b26f4816b [testing] Remove --compiler=none from test.py
* Use dartk as the default compiler for runtime=vm.
* Status file entries for checking for the `none` compiler now either
  use dartk or are deleted.

Tested: Standard CQ and local testing.
Fixes: https://github.com/dart-lang/sdk/issues/50241
Change-Id: I7a08d3e491ae1c82a0348fb66ea7b557398f97e5
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/264682
Reviewed-by: Siva Annamalai <asiva@google.com>
Reviewed-by: Lasse Nielsen <lrn@google.com>
Commit-Queue: Alexander Thomas <athom@google.com>
2022-10-19 08:09:58 +00:00
Ryan Macnak 3e7a1703bb [infra] Increase sharding for vm-kernel-precomp-nnbd-linux-debug-simriscv64.
Change-Id: I3eb11e4eb2d3f2db5329df7245fbca969e2956f5
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/263660
Reviewed-by: Alexander Thomas <athom@google.com>
Commit-Queue: Ryan Macnak <rmacnak@google.com>
2022-10-13 17:47:33 +00:00
Ömer Sinan Ağacan affc3392a0 [dart2wasm] Implement Wasm FfiNative support
This CL introduces a new kernel-to-kernel pass in Wasm backend to
compile `FfiNative`-annotated external functions to external functions
with `wasm:import` pragmas.

The new pass `WasmFfiNativeTransformer` extends `FfiNativeTransformer`.
Some `FfiNativeTransformer` methods made public to allow reuse in the
pass.

The conversion works like this: when we see a member like:

    @FfiNative<Int8 Function(Int8, Int8)>("ffi.addInt8")
    external int addInt8(int a, int b);

We generate a Wasm import using Wasm ABI types according to emscripten
calling conventions:

    @pragma('wasm:import', 'ffi.addInt8')
    external static WasmI32 addInt8_$import(WasmI32 a, WasmI32 b);

and convert the original member (`addInt8()`) to a wrapper function that
calls the Wasm import, converting the arguments and return values to
Dart types:

    static int addInt8(int a, int b) {
      return WasmI32.toIntSigned(
        addInt8_$import(
            WasmI32::int8FromInt(a),
            WasmI32::int8FromInt(b),
        ));
    }

Build, test, and CI changes:

- Test runner now uses `// SharedObjects=...` lines in dart2wasm tests
  to pass extra Wasm modules to d8 command used to run the tests.

  Support for `// SharedObjects=...` lines were already used in
  native/AOT FFI tests, not added in this CL. We just start to use those
  lines in dart2wasm tests.

- dart2wasm gn file updated with a target "test_wasm_modules" that
  builds FFI test Wasm modules to Wasm using emcc (emscripten C
  compiler).

- CI dart2wasm_hostasserts configuration updated to copy the Wasm files
  generated by the "test_wasm_modules" target to the shards.

TEST=tests/web/wasm/ffi_native_test

Change-Id: I6527fe4e2ca2b582e16d84fee244e9cbe6dee307
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/252822
Reviewed-by: Alexander Thomas <athom@google.com>
Commit-Queue: Ömer Ağacan <omersa@google.com>
Reviewed-by: Ryan Macnak <rmacnak@google.com>
Reviewed-by: Aske Simon Christensen <askesc@google.com>
2022-09-23 09:41:22 +00:00
Ryan Macnak 68951ae5a1 [infra] Define NNBD versions of the RISC-V builders.
Change-Id: I7cb158d2e30e999564c11454783082837c7e5984
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/259901
Reviewed-by: Alexander Thomas <athom@google.com>
Commit-Queue: Ryan Macnak <rmacnak@google.com>
2022-09-21 17:23:36 +00:00
Aske Simon Christensen d0d509d4fc [dart2wasm] Add relevant co19 and lib tests
A few co19 tests are marked as skipped for now, as they are hanging
due to https://github.com/dart-lang/sdk/issues/50026

Increase the number of shards to match the increased number of tests.

Change-Id: Ib91127986d13140164c357a22f2d1d9b7b2b7636
Cq-Include-Trybots: luci.dart.try:dart2wasm-linux-x64-d8-try
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/260361
Reviewed-by: Alexander Thomas <athom@google.com>
Commit-Queue: Aske Simon Christensen <askesc@google.com>
2022-09-21 16:11:22 +00:00