Commit graph

6448 commits

Author SHA1 Message Date
Robert Nystrom 2471ee5133 Add a little script to run migrated (and unmigrated) tests.
Change-Id: I1c64b96e79084d2b45d97ae7fcb6c0f0eddb6f3d
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/142561
Reviewed-by: Nicholas Shahan <nshahan@google.com>
Commit-Queue: Nicholas Shahan <nshahan@google.com>
Auto-Submit: Bob Nystrom <rnystrom@google.com>
2020-04-07 19:11:26 +00:00
Srujan Gaddam b96cd6d755 [dart:html] Add nullability to item type for lists
Needed to type nullability for List parameters correctly.

Change-Id: I55732a34f9e221324a15312985cb83b49a6811a6
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/142211
Reviewed-by: Stephen Adams <sra@google.com>
Commit-Queue: Srujan Gaddam <srujzs@google.com>
2020-04-06 21:37:44 +00:00
Jonas Termansen fd97153cdb [benchmark] Remove dart-ast, dart-aot-ast, and dart-bytecode targets.
Change-Id: I71fd758d5bca134d6cea36d40d4564bd7d6ad1c1
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/142027
Reviewed-by: Martin Kustermann <kustermann@google.com>
Reviewed-by: Alexander Markov <alexmarkov@google.com>
2020-04-03 19:44:18 +00:00
Alexander Thomas 12f09896db [homebrew] Modify the version string when updating the version
This is a follow-up to a96b4f6 which changed the script but introduced
the bug that it no longer updated the version string in the formula.

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

Change-Id: I272d21d2c4a44161f697ba52da6bb74b1cc7c5f9
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/142147
Reviewed-by: William Hesse <whesse@google.com>
2020-04-03 10:32:34 +00:00
Robert Nystrom 3e79a47fa8 Add a "fork" command to the migration tool.
It combines the "branch" and "copy" steps (which are still supported if
you want to do things manually) and also automatically commits the
change.

Just trying to make things a little less manual.

Change-Id: Ibf48759c486998251710244ade3355e59451cb7c
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/142206
Auto-Submit: Bob Nystrom <rnystrom@google.com>
Commit-Queue: Nicholas Shahan <nshahan@google.com>
Reviewed-by: Nicholas Shahan <nshahan@google.com>
2020-04-02 21:08:29 +00:00
Srujan Gaddam 544fc4627f [dart:html] Add insertAll to ChildrenElementList
Bug: https://github.com/dart-lang/sdk/issues/41275

insertAll should be unimplemented. It was previously relying
on a call to ChildrenElementList.length in the List mixin to
throw an UnsupportedError.

Change-Id: Ie8e5b126ea75a538e9db8b939bff0be012814efb
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/142201
Reviewed-by: Stephen Adams <sra@google.com>
Commit-Queue: Srujan Gaddam <srujzs@google.com>
2020-04-02 20:16:39 +00:00
Srujan Gaddam 0764c70cd9 [dart:html] Remove nullability from CssClassSet funcs
Pre-nnbd, add and toggle were allowed to return null, but with the
change in the Set interface, they must return a non-nullable bool.

Change-Id: I1dfcb43d8c816f46f847d22d6f62507c6a77e4a4
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/141500
Commit-Queue: Srujan Gaddam <srujzs@google.com>
Reviewed-by: Stephen Adams <sra@google.com>
2020-04-02 19:29:09 +00:00
Srujan Gaddam bc65eafd3b [dart:html] Fix nullability for vars with null checks
There are several instances where there are non-nullable
variables with null checks associated with them that should
be converted back to nullable. Attribute functions in Element
are clarified as well.

Change-Id: I23cf020f02f3d4b512e041f0339daafb46fdd7f2
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/140909
Reviewed-by: Stephen Adams <sra@google.com>
Commit-Queue: Srujan Gaddam <srujzs@google.com>
2020-04-02 19:28:59 +00:00
Ryan Macnak 65e608d115 [infra] Create bot configurations for AOT + sanitizers.
Bug: https://github.com/dart-lang/sdk/issues/39611
Change-Id: I1f242515e00b8de934986b1b430cc99e1466b1b7
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/141660
Reviewed-by: Alexander Thomas <athom@google.com>
Commit-Queue: Ryan Macnak <rmacnak@google.com>
2020-04-01 19:34:38 +00:00
Sigmund Cherem e26a8109ea [dart2js] Use platform file to enable null safety.
Derive whether legacy and nullable types are emitted based on the
provided sdk libraries and only enable the non-nullable experiment
when building the platform files.

The test matrix continues to enable the experiment temporarily
because test_runner currently doesn't support running with the
ReleaseX64NNBD configuration if it is not enabled in test.py

Change-Id: I7322906e928c68acab77087bcba76f06ef4bf983
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/141850
Reviewed-by: Stephen Adams <sra@google.com>
Commit-Queue: Sigmund Cherem <sigmund@google.com>
2020-04-01 18:19:37 +00:00
Jonas Termansen eea9717938 [infra] Instruct people to contact dart-engprod.
Change-Id: Ie1f5a6e887ad527bfaf2f69bc210e05b4686f621
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/141883
Reviewed-by: William Hesse <whesse@google.com>
Reviewed-by: Alexander Thomas <athom@google.com>
Commit-Queue: Jonas Termansen <sortie@google.com>
2020-04-01 08:55:31 +00:00
Martin Kustermann 2f3748934c [infra] Update tools/test.py and test matrix for running tests with arm64-qemu
Change-Id: I0dc2cdd98f2c2211f14509655e79798b89085837
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/141888
Reviewed-by: Daco Harkes <dacoharkes@google.com>
Commit-Queue: Martin Kustermann <kustermann@google.com>
2020-03-31 11:06:20 +00:00
Karl Klose 5cd1cc0274 [infra] Remove unused bot script
Change-Id: Ic143e9d107d5e990c08a8db3a6d5d99b4a6d92c8
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/141881
Reviewed-by: William Hesse <whesse@google.com>
Commit-Queue: Karl Klose <karlklose@google.com>
2020-03-31 09:11:29 +00:00
Karl Klose 5507e3bd32 [infra] Remove creation of unused file
Change-Id: Ie13367008cbd64dcacd06ca7e8f5c76fea9aa795
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/141601
Commit-Queue: Karl Klose <karlklose@google.com>
Reviewed-by: William Hesse <whesse@google.com>
2020-03-31 05:11:29 +00:00
Srujan Gaddam 61adacd71d [dart:html] Add bool type to supportsTypedData
Allows it to be used as a boolean expression.

Change-Id: Id638eba4d1b0f745bfabc038f92fe930b5f454f0
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/141641
Reviewed-by: Stephen Adams <sra@google.com>
Commit-Queue: Srujan Gaddam <srujzs@google.com>
2020-03-30 23:33:54 +00:00
Srujan Gaddam b213b4ff58 [dart:html] Nullability fixes based on JS call
Changes types of return values depending on if the
call allows a Null type.

Change-Id: Id9b3d69eee1008d46a6b3b16f217a6b9c892fc6c
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/141260
Commit-Queue: Srujan Gaddam <srujzs@google.com>
Reviewed-by: Stephen Adams <sra@google.com>
2020-03-30 22:06:01 +00:00
Sigmund Cherem 889a0318b2 [dart2js] Update test-matrix to specify the libraries.json to dart2js batch runner
When multiple experiments are specified, we need to compile the sdk from sources
and the default libraries.json points to the legacy sdk.

Change-Id: I92904e422eb5225372e109ccb4f06b4a54030496
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/141161
Reviewed-by: Mayank Patke <fishythefish@google.com>
Commit-Queue: Sigmund Cherem <sigmund@google.com>
2020-03-27 17:33:30 +00:00
Alexander Thomas a96b4f6dfe [homebrew] Add support for the beta channel formula
This changes to the homebrew tooling to modify instead of replace the
formulas. The formulas can now be changed by editing them in the
dart-lang/homebrew-dart repo, rather than in the release tooling.

Also adds a dry-run mode for local testing.

https://github.com/dart-lang/sdk/issues/40990

Change-Id: Ibed90894800e4d84fac3c4558e6f08d629baed62
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/141244
Reviewed-by: William Hesse <whesse@google.com>
2020-03-27 14:17:40 +00:00
Karl Klose 7387682bec [infra] Handle test steps with no tested configuration
Change-Id: I95543f88a64884bf2334165baa986d381bbf7872
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/141241
Commit-Queue: Karl Klose <karlklose@google.com>
Reviewed-by: Karl Klose <karlklose@google.com>
2020-03-27 07:09:37 +00:00
Daco Harkes 445d279ff3 [vm] Add Reachability Fence Instruction
The reachability fence keeps a value alive and reachable.

Required for finalizers: https://github.com/dart-lang/sdk/issues/35770

Design: go/dart-ffi-finalizers (See "Premature Cleanup (Single Object)".)

Change-Id: I9742889f0f8d8b15bbcb5dca47f2a4231899dd59
Cq-Include-Trybots: luci.dart.try:vm-ffi-android-debug-arm-try,vm-ffi-android-debug-arm64-try,app-kernel-linux-debug-x64-try,vm-kernel-linux-debug-ia32-try,vm-kernel-win-debug-x64-try,vm-kernel-win-debug-ia32-try,vm-kernel-precomp-linux-debug-x64-try,vm-dartkb-linux-release-x64-abi-try,vm-kernel-precomp-android-release-arm64-try,vm-kernel-asan-linux-release-x64-try,vm-kernel-linux-release-simarm-try,vm-kernel-linux-release-simarm64-try,vm-kernel-precomp-android-release-arm_x64-try,vm-kernel-precomp-obfuscate-linux-release-x64-try,dart-sdk-linux-try,analyzer-analysis-server-linux-try,analyzer-linux-release-try,front-end-linux-release-x64-try,vm-kernel-precomp-win-release-x64-try,vm-kernel-mac-debug-x64-try,vm-kernel-nnbd-linux-debug-x64-try
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/136188
Reviewed-by: Vyacheslav Egorov <vegorov@google.com>
Reviewed-by: Martin Kustermann <kustermann@google.com>
Commit-Queue: Daco Harkes <dacoharkes@google.com>
2020-03-26 18:30:44 +00:00
Srujan Gaddam fcc43457b3 [dart:html] Add nullability to EventTarget conversion
initMouseEvent uses this conversion to call the native function,
and it is allowed for the EventTarget to be null in the native
call.

Change-Id: I345e82fa00f4cca72e15f713cd7a271d306b7d37
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/141040
Commit-Queue: Srujan Gaddam <srujzs@google.com>
Reviewed-by: Sigmund Cherem <sigmund@google.com>
2020-03-26 16:36:14 +00:00
Karl Klose f6acefa078 [infra] Ensure configuration names for custom test-runner steps are valid
Change-Id: I1bf57a3258aeb37f5fee485bde9a74a2ff3af8ba
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/139803
Commit-Queue: Karl Klose <karlklose@google.com>
Reviewed-by: William Hesse <whesse@google.com>
2020-03-26 07:01:27 +00:00
Jonas Termansen 188ab04445 [infra] Delete approve_results.
Change-Id: I43346ff69e6b82f700a06b52bdff891122d38572
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/128551
Reviewed-by: Alexander Thomas <athom@google.com>
2020-03-25 10:27:40 +00:00
Leaf Petersen 72086df689 Bump ABI version for runZoneGuarded.
New API (runZonedGuarded) was added to the core libraries.

Bug: https://github.com/dart-lang/sdk/issues/41192
Change-Id: Iae56be055bf1e23051fdc93b07ac2db2902c9bd7
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/140880
Auto-Submit: Leaf Petersen <leafp@google.com>
Reviewed-by: Siva Annamalai <asiva@google.com>
Commit-Queue: Siva Annamalai <asiva@google.com>
2020-03-25 03:43:19 +00:00
Ryan Macnak b5d657c3f0 [vm] Fix memory leaks during ELF generation.
Change-Id: I8c7d5506a91a4e2190951e083438fee652b736ed
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/140371
Reviewed-by: Teagan Strickland <sstrickl@google.com>
Commit-Queue: Ryan Macnak <rmacnak@google.com>
2020-03-24 01:09:35 +00:00
Srujan Gaddam ed41036d2f [dart:html] Migrate NodeValidator fix to NNBD
Addresses failure in api_dynamic_test, and copies the
vulnerability fix from src to nnbd_src.

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

Change-Id: Ic1c6766c066174f4d0504e429ed70f1ce0a487e8
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/140645
Reviewed-by: Sigmund Cherem <sigmund@google.com>
Commit-Queue: Srujan Gaddam <srujzs@google.com>
2020-03-24 00:46:55 +00:00
Kevin Moore 6a5d73dfe7 Address a vulnerability in node validator
Related to DOM clobbering of previousSibling

Change-Id: Ib4ed1cdba4217c351804b0689a999b73713f79ed
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/140622
Auto-Submit: Kevin Moore <kevmoo@google.com>
Reviewed-by: Vijay Menon <vsm@google.com>
Reviewed-by: Sigmund Cherem <sigmund@google.com>
2020-03-23 20:01:58 +00:00
Liam Appelbe b3c89f4b92 [tools] Fix addlatexhash.dart in NNBD mode
The List() constructor isn't allowed anymore, so switched to [].

This fixes addlatexhash_test.dart in weak NNBD mode.

Change-Id: I8070c6d1ea74b58e75db02aead8905f42f555156
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/140662
Reviewed-by: Régis Crelier <regis@google.com>
Commit-Queue: Liam Appelbe <liama@google.com>
2020-03-23 19:47:52 +00:00
Alexander Thomas 8350f423ee [vm] Add the channel name to the VM/dart:io version string
Dev and beta version strings will look very look very similar, so adding
the channel name will make it easy for users to see if they are on be,
dev, beta, or stable. This will change both the output of
`dart --version` as well as the value of `Platform.version`.

This also removes the Flutter stable release version hack.

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

Change-Id: Iceb8e84a9cf4d0bfb7659669878e42d0a59febc4
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/140287
Reviewed-by: Siva Annamalai <asiva@google.com>
Commit-Queue: Alexander Thomas <athom@google.com>
2020-03-23 10:00:03 +00:00
asiva 1a8d6ad16e [VM] Bump ABI version to 30
Change-Id: Icb60b5ea76a6cbb053d0841be65616b416aaa122
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/140260
Reviewed-by: Siva Annamalai <asiva@google.com>
Commit-Queue: Siva Annamalai <asiva@google.com>
Auto-Submit: Siva Annamalai <asiva@google.com>
2020-03-20 04:59:50 +00:00
Ben Konyi a74e877104 [ package:dds ] Initial commit of the Dart Development Service, package:dds
- Defined initial interface
- Currently can spawn an HTTP server and forward websocket and HTTP
requests to the VM service
- Simple smoke tests
- Initial documentation in dds_protocol.md and other book keeping
- Enabled analysis on bots

Change-Id: Ia11e9e33fd10b0b4700b704a29e2977341441cec
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/139542
Commit-Queue: Ben Konyi <bkonyi@google.com>
Reviewed-by: Ryan Macnak <rmacnak@google.com>
2020-03-19 23:36:45 +00:00
asiva a980fb1849 [Tests/NNBD] - Migrate initial set of isolate tests for NNBD.
Fix all warnings/errors when running with --enable-experiment=non-nullable flag

Change-Id: I7673aa34466273d623f7a429d96b0ccd6b612dae
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/139980
Commit-Queue: Siva Annamalai <asiva@google.com>
Reviewed-by: Ben Konyi <bkonyi@google.com>
2020-03-19 20:07:58 +00:00
Alexander Thomas 97afe8410a [beta] Support the beta channel in SDK scripts
Fixes https://github.com/dart-lang/sdk/issues/40992

Change-Id: Icc6888c94517667a184931d3e690db2fe67cc0ca
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/139814
Reviewed-by: William Hesse <whesse@google.com>
Commit-Queue: Alexander Thomas <athom@google.com>
2020-03-19 07:49:38 +00:00
Joshua Litt 44669206b3 [dart2js] Fix html_dart2js to handle null argument.
Change-Id: I711261840fd733ecf640586b82da54d6f61c6bb5
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/139746
Reviewed-by: Sigmund Cherem <sigmund@google.com>
Reviewed-by: Srujan Gaddam <srujzs@google.com>
Commit-Queue: Joshua Litt <joshualitt@google.com>
2020-03-17 17:11:36 +00:00
Alexander Thomas c816525c29 [infra] Add support for the beta channel to promote.py
Closes https://github.com/dart-lang/sdk/issues/40984

Change-Id: I0459b3709cc008890d4d66c3b0f98cc5b4fd6b36
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/139281
Reviewed-by: William Hesse <whesse@google.com>
2020-03-13 10:53:26 +00:00
asiva c3673bdca4 [VM/Testing] - Turn on testing in strong NNBD mode.
Change-Id: I272de0ca65afb4327d9ec6457c7e514fb1c73449
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/139030
Reviewed-by: Ben Konyi <bkonyi@google.com>
Commit-Queue: Siva Annamalai <asiva@google.com>
2020-03-11 04:04:49 +00:00
Sigmund Cherem bff20985ce [cfe] remove whitelist of opt-out packages
Closes https://github.com/dart-lang/sdk/issues/40775

Change-Id: Ib713494edf34046bbf7de43811659863fbc5884e
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/138901
Reviewed-by: Bob Nystrom <rnystrom@google.com>
Commit-Queue: Sigmund Cherem <sigmund@google.com>
2020-03-11 03:19:59 +00:00
asiva 7617e327a1 [VM/Testing] - Turn on co19_2 legacy testing in NNBD bots.
Change-Id: I5592a5a8d6dfd068e45ecf9b4ec2d12fbe67b4a2
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/138621
Commit-Queue: Siva Annamalai <asiva@google.com>
Reviewed-by: Liam Appelbe <liama@google.com>
Reviewed-by: Alexander Thomas <athom@google.com>
2020-03-09 16:24:07 +00:00
William Hesse a4f6479998 [infra] Print details of unapproved (new or previous) failures in build failure message
Change-Id: Ic9f9151f5884b636b902b5ba6b7d2c35cec6417b
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/138287
Reviewed-by: Karl Klose <karlklose@google.com>
2020-03-09 15:11:40 +00:00
Karl Klose 7bdc910670 [infra] Remove unused bot script
Change-Id: Id65295b28642c0faf3db89aa383696bd8c8e8ccd
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/138292
Reviewed-by: William Hesse <whesse@google.com>
Commit-Queue: Karl Klose <karlklose@google.com>
2020-03-09 07:29:00 +00:00
Sigmund Cherem a410f5bde1 [dart2js] rename null-safety flag and plumb through CFE
The new flag name follows the changes in https://github.com/dart-lang/language/pull/779, the change also is converging on not having each tool infer a default on the input, but rely on build systems to provide the appropriate flag instead.

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

Change-Id: I39c143b7985dbfe6dab5dfd9a7347a7a4420479b
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/138569
Commit-Queue: Sigmund Cherem <sigmund@google.com>
Reviewed-by: Mayank Patke <fishythefish@google.com>
2020-03-06 02:22:41 +00:00
Sigmund Cherem 800f4b10d4 run co19 and lib2 on dart2js nnbd bots
Change-Id: I7e458f0d2351a31a4c5cb1afc2fcb4d7ffce0378
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/138420
Reviewed-by: Mayank Patke <fishythefish@google.com>
Commit-Queue: Sigmund Cherem <sigmund@google.com>
2020-03-05 01:41:33 +00:00
Ryan Macnak df5036eb6e [vm] Require only an isolate group, not an isolate, in Dart_Delete[Weak]PersistentHandle.
Remove the now-misleading isolate parameter of Dart_DeleteWeakPersistentHandle.

Bug: https://github.com/dart-lang/sdk/issues/40836
Change-Id: I784f1ecf564484b59f60ebef53ddb975aff1bd23
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/138015
Commit-Queue: Ryan Macnak <rmacnak@google.com>
Reviewed-by: Alexander Aprelev <aam@google.com>
Reviewed-by: Martin Kustermann <kustermann@google.com>
2020-03-04 18:56:16 +00:00
Alexander Thomas 800008ba64 [infra] Run more migrated tests on the analyzer-nnbd builder
Change-Id: I03a070bc09c9e90cf1f27bacdfe8489a1bcf7846
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/138090
Reviewed-by: Paul Berry <paulberry@google.com>
2020-03-04 09:36:00 +00:00
Alexander Thomas 38cc00cd2c [infra] Balance the number shards on the AOT builder with co19_2 tests
The regular test shards run in about half the time. Therefore, we can
use less shards for overall efficiency without sacrificing cycle time.

TBR=asiva@google.com
Change-Id: Ib8b58a03f9c40d0e8f288cde6e148a54fc1ed1e5
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/138300
Reviewed-by: Alexander Thomas <athom@google.com>
2020-03-04 09:07:55 +00:00
asiva 23106da62e [VM/Testing] - Added co19_2 tests to vm-precompiled-linux-release-x64 builds
Change-Id: I93b799c0c3db12a3e4755ee8c55006ec77855301
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/138052
Reviewed-by: Alexander Thomas <athom@google.com>
2020-03-04 09:07:55 +00:00
Régis Crelier 5701c4fd3b [VM/nnbd] Remove propagation of library mode to runtime after spec change.
On 1/27/20, the nnbd specification changed weak and strong mode instance checks
to make them behave uniformly across legacy and opted-in libraries.
Therefore, it is not necessary anymore to propagate the library mode in
generated code to the runtime.

Change-Id: I42d3ddc6e9a921899aeac21be6374c7893a6d27c
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/138111
Reviewed-by: Alexander Markov <alexmarkov@google.com>
Commit-Queue: Régis Crelier <regis@google.com>
2020-03-03 20:30:32 +00:00
Paul Berry d0826bdbd5 Add current-version field to tools/experimental_features.yaml.
Previously, each top level key/value pair in the file represented a
feature, so in order to make room for the new field, these were all
moved under a "features:" header.

Code generators have been updated to produce the same result as they
did before; in future CLs I'll update them to generate code based on
the new field.

Change-Id: Ia2266dd0d92796f15460127742eb2b56f64438e6
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/138101
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
2020-03-03 19:25:44 +00:00
Alexander Thomas 817d0650b9 [infra] Add ffi-qemu builder to the test matrix
Change-Id: Ic6d2547fc144bf0452d6b32ffa754d858ebacec7
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/137967
Reviewed-by: Daco Harkes <dacoharkes@google.com>
2020-03-03 13:33:29 +00:00
Srujan Gaddam 5b23373f7e Modify fields in some abstract and native classes
Since we transitioned to natives for dart:html, manually written native
fields should be rewritten. Similarly, if there are fields in abstract
classes that represent interfaces, they should be converted. Fields in
abstract classes that are used in that class are left alone.

Change-Id: I924363639a4430b88b810b7348815bbc3f040e7c
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/137642
Commit-Queue: Srujan Gaddam <srujzs@google.com>
Reviewed-by: Stephen Adams <sra@google.com>
2020-02-29 01:29:35 +00:00
Srujan Gaddam 9f79dfc37d Address analyzer errors in golden files in dart:html
New analyzer errors are reported for dart:html around nullability.
Non-nullable fields are translated to native getters and setters if part
of a concrete class and normal getters and setters if abstract.

Change-Id: I2fd87803a08872b2a7eae4de0af704f184997c7e
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/137481
Reviewed-by: Stephen Adams <sra@google.com>
2020-02-29 01:29:35 +00:00
Srujan Gaddam 80f84e1942 Change all fields to native getters/setters
Bug: https://github.com/dart-lang/sdk/issues/40772

Attributes are translated to native getters and setters regardless of
NNBD. Some logic was removed for fields that no longer apply due to this
change.

Change-Id: Ia1a05778ff8c6f082506a1c95a3057a7c5f7f896
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/136880
Reviewed-by: Stephen Adams <sra@google.com>
2020-02-29 01:29:35 +00:00
Srujan Gaddam 3ec6ec2a2d Change getters/setters to native for nnbd
NNBD fields that were non-nullable or final were transformed to getters
so that they were compilable. They need to be transformed to natives now
for performance.

Change-Id: Ice0082f9468c542098a6d12083a826438d15eba4
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/135860
Reviewed-by: Stephen Adams <sra@google.com>
2020-02-29 01:29:35 +00:00
Robert Nystrom 4f01e01d1f Sort the tests needing migration work.
Got tired of hopping around the lists of tests randomly.

Change-Id: If8e5f915b7871d8ae916e565d9d4e787a44c6a50
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/137724
Auto-Submit: Bob Nystrom <rnystrom@google.com>
Commit-Queue: Nicholas Shahan <nshahan@google.com>
Reviewed-by: Nicholas Shahan <nshahan@google.com>
2020-02-28 01:00:34 +00:00
Ryan Macnak 60c86a4009 [vm, gc] Fix races related to Scavenger::AddAbandonedInBytes and UsedInWords.
[infra] Run fewer tests under TSAN. TSAN has a significantly higher overhead than the other sanitizers.

Change-Id: I92b69923e93fa4634168352bdbe30d6ee7e7f72d
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/137402
Reviewed-by: Alexander Thomas <athom@google.com>
Reviewed-by: Martin Kustermann <kustermann@google.com>
Commit-Queue: Ryan Macnak <rmacnak@google.com>
2020-02-27 18:01:13 +00:00
Robert Nystrom 4b7ba5a72f Add a script to generate a package_config.json for the SDK.
Also include the generated output.

Change-Id: Ic2818f544972c737f69913122e366ea48375e950
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/135795
Commit-Queue: Bob Nystrom <rnystrom@google.com>
Reviewed-by: Jens Johansen <jensj@google.com>
Reviewed-by: Lasse R.H. Nielsen <lrn@google.com>
Auto-Submit: Bob Nystrom <rnystrom@google.com>
2020-02-27 17:52:23 +00:00
Sigmund Cherem 5055c98bee [dart2js] switch bot to use hostaserts once again
This changes how we used String.fromEnvironment to enable tracing.
With null-safety http://dartbug.com/40678 means that these constants are
never null, so we were accidentally enabling tracing by default.

I was only able to see this when running dart2js from source
(which affects the hostasserts configuration), but I wasn't seeing this
when running from snapshot. We need to investigate that separately.

Change-Id: Ic362967d2f0daf5f9c0e1659c6a024ca9a44358f
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/137286
Reviewed-by: Stephen Adams <sra@google.com>
Reviewed-by: Alexander Thomas <athom@google.com>
2020-02-26 21:41:47 +00:00
William Hesse fb9efd4b68 [infra] Send a tryjob's base commit hash when publishing results to pubsub
Change-Id: I2813a6a180d8be8e55c1c49f2686e53e533c6bc4
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/137105
Reviewed-by: Alexander Thomas <athom@google.com>
2020-02-26 09:55:59 +00:00
Alexander Thomas f304dac144 [infra] Add strong mode testing to the CFE builder
Change-Id: I0add8fdb5aeb768c52f6140f838ee2987ac4d132
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/137060
Reviewed-by: Johnni Winther <johnniwinther@google.com>
2020-02-26 01:48:57 +00:00
Alexander Markov 55cc495451 [vm/nnbd] Rename --strong-non-nullable-type-checks to --null-safety and pass it to CFE
Issue: https://github.com/dart-lang/sdk/issues/38845
Change-Id: I9baeb4a384a6b2de79df9f97e82c127ae4f611c0
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/137120
Commit-Queue: Alexander Markov <alexmarkov@google.com>
Reviewed-by: Régis Crelier <regis@google.com>
Reviewed-by: Liam Appelbe <liama@google.com>
2020-02-25 20:05:39 +00:00
Alexander Markov aa2c1a4950 [vm/nnbd] Add --null-safety option to VM's kernel compilers
This change adds --null-safety option to the front-end server and
gen_kernel tools. This option is forwarded to CFE via
CompilerOptions.nnbdMode.

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

Change-Id: I410b1d5466d93d9514cb7571bf37b32c848f136c
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/137106
Reviewed-by: Régis Crelier <regis@google.com>
Commit-Queue: Alexander Markov <alexmarkov@google.com>
2020-02-25 19:04:43 +00:00
Martin Kustermann 767943850f [vm] Enable check_initialization_order for ASAN, ensure tools/test.py always passes ASAN options, make Random be initialized during VM startup
Running tools/test.py locally behaves differently than on the bots
because the bots will have special environment variables set.

=> We want also local runs of tools/test.py to report ASAN errors, so
   this CL moves the setting of environment variables to tools/test.py

Furthermore we enable "additional check_initialization_order=true" asan
option to detect ordering issues when initializing global state.

Make the IsolateGroup::isolate_group_random_ heap allocated on VM
startup to avoid initialization ordering issue (turns out our `Random`
can depend on embedder entropy source callback being available)

Also add locking around assigning of isolate group ids -- without it we
could have two threads racing and possibly getting the same id.

See b/149978682

Change-Id: I41b9a34c66934dcc0d3804233f5acf09004ba3bd
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/136630
Commit-Queue: Martin Kustermann <kustermann@google.com>
Reviewed-by: Ryan Macnak <rmacnak@google.com>
Reviewed-by: Alexander Thomas <athom@google.com>
Reviewed-by: Alexander Aprelev <aam@google.com>
2020-02-25 10:32:01 +00:00
Clement Skau 6a90bf5d54 [Cleanup] Removes deprecated --(no-)enable-malloc-hooks from test_matrix.json.
Change-Id: I5d7d9b3e75b878d78e905934afed8b9327863766
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/136200
Reviewed-by: Alexander Thomas <athom@google.com>
Commit-Queue: Clement Skau <cskau@google.com>
2020-02-25 09:34:40 +00:00
Nicholas Shahan 330711ab69 [tests] Add dart2js nnbd SDK analysis test to analyzer bot
Run this test on the dart2js patched SDK too until the CFE
starts reporting all errors.

Change-Id: Ib943d6516382a3edc5dfe9906d4d0d6fb97fe076
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/136808
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
2020-02-24 22:47:58 +00:00
Ryan Macnak 73f6d15665 [build] Update clang and gn to match Fuchsia.
This new version has functional TSAN.

Bug: https://github.com/dart-lang/sdk/issues/39611
Change-Id: Ia9835fb6ad6de73f43faea695f893ed0c62fffa7
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/136380
Reviewed-by: Alexander Markov <alexmarkov@google.com>
Reviewed-by: Alexander Thomas <athom@google.com>
Commit-Queue: Ryan Macnak <rmacnak@google.com>
2020-02-24 21:04:18 +00:00
Alexander Markov 070f67a05b [gardening] Remove obsolete Flutter HHH patch
This change was submitted into Flutter/flutter already
(6f9ed76faf),
so removing this patch as it cannot be applied anymore and causes
Flutter HHH to fail.

Change-Id: Ic1b44f0ec0c85b9d343079f8a067cd59ebf37170
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/137040
Commit-Queue: Alexander Markov <alexmarkov@google.com>
Reviewed-by: Alexander Markov <alexmarkov@google.com>
2020-02-24 20:34:46 +00:00
Samir Jindel 17ec4a8433 [vm] Fix 3xH bot.
The corresponding Flutter change is made in https://github.com/flutter/flutter/pull/51330.

Change-Id: Ib3f233cd4153c04b22ba10e30eb532186fc9fb97
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/136961
Reviewed-by: Clement Skau <cskau@google.com>
Commit-Queue: Samir Jindel <sjindel@google.com>
2020-02-24 11:37:37 +00:00
Srujan Gaddam 55f4b1294e Change setProperty to take in nullable |value|
IDL allows |value| to be nullable.

Change-Id: I1db4a7929f0a83c4772e1a11384afb70ead53501
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/136722
Reviewed-by: Sigmund Cherem <sigmund@google.com>
Commit-Queue: Srujan Gaddam <srujzs@google.com>
2020-02-22 02:22:21 +00:00
Srujan Gaddam 6d051311b6 Add back in null assertions for legacy weak mode
These assertions need to be added back into the nnbd sdk in order to be
compatible with weak mode.

Change-Id: Ie774fffda1fb0e79dbc7fe13cb75b9d28e4268fd
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/136720
Commit-Queue: Srujan Gaddam <srujzs@google.com>
Reviewed-by: Sigmund Cherem <sigmund@google.com>
Reviewed-by: Stephen Adams <sra@google.com>
2020-02-21 19:13:31 +00:00
Joshua Litt 5aeb1a3f11 [dart2js] Update libraries.yaml with migrated dart2js.
Change-Id: Ibd70ce90d3b965d438a153654efb5e5bff94a201
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/135798
Reviewed-by: Sigmund Cherem <sigmund@google.com>
Commit-Queue: Joshua Litt <joshualitt@google.com>
2020-02-21 18:37:40 +00:00
Alexander Markov 0ce382363d [nnbd/test] Add test configurations for NNBD strong mode for the VM/AOT on x64
Change-Id: If285e4a43b57fa3ef27dcc46be31e7982fc11f2e
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/136713
Commit-Queue: Alexander Markov <alexmarkov@google.com>
Reviewed-by: Alexander Thomas <athom@google.com>
2020-02-21 18:26:00 +00:00
Alexander Thomas 24fb5350c7 [infra] Add VM AOT NNBD builders to the test matrix
* Fix formatting and sharding for the VM JIT NNBD builders.

Change-Id: Iaf11da2e4acf906cdf0908e1bff771366dc3a083
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/136640
Reviewed-by: Régis Crelier <regis@google.com>
2020-02-21 17:19:56 +00:00
Jonas Termansen a739002cfa Analyze both nnbd and non-nnbd concurrently when migrating tests.
Only write out the tests if the source files changed, so editors
don't reload files that didn't actually change.

Change-Id: Ifd8621e36aab88b6f0740881a6289bc392a0f52f
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/134841
Reviewed-by: Bob Nystrom <rnystrom@google.com>
2020-02-21 13:55:58 +00:00
Johnni Winther 5829fc7829 [analyzer,cfe,dart2js] Add marker.options files to automate running id tests on all configurations
Change-Id: Ib5eb7f3967634721047f8dcc57b9e6c350b91a41
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/136226
Reviewed-by: Dmitry Stefantsov <dmitryas@google.com>
Reviewed-by: Paul Berry <paulberry@google.com>
Commit-Queue: Johnni Winther <johnniwinther@google.com>
2020-02-21 08:34:26 +00:00
Srujan Gaddam a42c072017 Remove unnecessary null check in getPropertyValue
CSSStyleDeclaration.getPropertyValue returns a non-nullable string.
It will also return an empty string if the property is not found. Since
getPropertyValue returns the value of the native getPropertyValue, the
null check should be removed.

Change-Id: I9846553d3f9fcd68cbd15b9c39d2104cab594b7a
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/136413
Reviewed-by: Sigmund Cherem <sigmund@google.com>
Commit-Queue: Srujan Gaddam <srujzs@google.com>
2020-02-20 20:49:26 +00:00
Alexander Markov dc1e57c2df [nnbd/test tool] Add test configurations for NNBD strong mode for the VM
Change-Id: I893d47262947492d743a2079d82d59c0e9e4e1f1
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/136707
Reviewed-by: Alexander Thomas <athom@google.com>
Commit-Queue: Alexander Markov <alexmarkov@google.com>
2020-02-20 20:43:55 +00:00
Srujan Gaddam 2109617eb2 Fix multi-line error handling in analyze.dart
Preexisting comments on multi-line errors modify the length of the error
reported from the analyzer since it includes the comments in between. So
the error length increases every time you run this script, making the
error comments unwieldly.

Change-Id: Iaeab9118710738f3ebf534d85b7fd08be0bf302f
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/136526
Commit-Queue: Srujan Gaddam <srujzs@google.com>
Auto-Submit: Srujan Gaddam <srujzs@google.com>
Reviewed-by: Bob Nystrom <rnystrom@google.com>
2020-02-20 19:12:11 +00:00
Kevin Moore b801e603d3 update_homebrew: fix single audit error
Found via `brew audit --strict --online dart`

Change-Id: Ib38873f51b169526bf10253422ddf79804930984
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/136703
Auto-Submit: Kevin Moore <kevmoo@google.com>
Reviewed-by: Alexander Thomas <athom@google.com>
2020-02-20 18:33:19 +00:00
Kevin Moore 7784ed1b9e update_homebrew: fix Dart homepage url
Follow-up to https://github.com/dart-lang/homebrew-dart/pull/72

Change-Id: I79fb0e7cea714974fd63e7516f11e2c55e3af1ba
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/136702
Auto-Submit: Kevin Moore <kevmoo@google.com>
Reviewed-by: Alexander Thomas <athom@google.com>
2020-02-20 18:24:18 +00:00
Robert Nystrom 156c503620 Change indexOf() and lastIndexOf() back to Object.
In the legacy SDK these two methods in ListMixin take Object, not E.
When I migrated them to NNBD, I changed them to E to match the
declaration of the methods in List. This was an unintended breaking
change.

Fix that by changing them to "Object?", which is the NNBD equivalent of
the declarations in the legacy SDK.

Change-Id: I2a75e9f26a8198e4f51cb32a55055d5e64a69ed1
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/136412
Reviewed-by: Srujan Gaddam <srujzs@google.com>
Reviewed-by: Lasse R.H. Nielsen <lrn@google.com>
Commit-Queue: Lasse R.H. Nielsen <lrn@google.com>
Auto-Submit: Bob Nystrom <rnystrom@google.com>
2020-02-20 09:00:17 +00:00
Srujan Gaddam 59370f29c5 Fix html methods without returns
Several method bodies did not return a value conditionally or at all.

Change-Id: I01ca87e2e0501597bacb49bcddd10668b59026b0
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/135626
Commit-Queue: Srujan Gaddam <srujzs@google.com>
Reviewed-by: Sigmund Cherem <sigmund@google.com>
2020-02-19 20:43:34 +00:00
Clement Skau 84644e20d6 [SDK] Adds IndirectGoto implementation of sync-yield.
Sets a threshold of five continuations determining if the old
if-else or the new igoto-based implementation will be used.
Informal benchmarking on x64 and arm_x64 point towards the overhead
of the igoto-based impl. dropping off around this point.

Benchmarks of this CL (threshold=5) show drastic improvement in
Calls.IterableManualIterablePolymorphicManyYields of about ~35-65%
across {dart,dart-aot}-{ia32,x64,armv7hf,armv8}.

Note: This is a second revision of a CL landed and reverted from:
https://dart-review.googlesource.com/c/sdk/+/133586
The fix for the previous revert was swapping the parameters to
BuildIndirectEntry(int, int) in kernel_binary_flowgraph.cc.

Bug: https://github.com/dart-lang/sdk/issues/37754
Change-Id: If035235ce8aa660af2ea7f8cfbc8066cde6329b7
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/136126
Commit-Queue: Clement Skau <cskau@google.com>
Reviewed-by: Martin Kustermann <kustermann@google.com>
2020-02-18 13:24:09 +00:00
Jens Johansen 8652404193 [flutter-frontend-test] Run flutter-frontend compile tests in custom test runner
Change-Id: Iecf2f40dd1bc8c0fffd877911e81ccd6055d9dc0
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/136121
Reviewed-by: Karl Klose <karlklose@google.com>
Commit-Queue: Jens Johansen <jensj@google.com>
2020-02-18 10:58:59 +00:00
Lasse R.H. Nielsen 3f28a3496c Change SDK to use package_config v1.9 (unreleased).
Change-Id: I405ac5e59d0b330c6fc6c63fab48d2d303734e59
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/136123
Commit-Queue: Lasse R.H. Nielsen <lrn@google.com>
Reviewed-by: Jens Johansen <jensj@google.com>
2020-02-18 10:56:59 +00:00
Clement Skau 82f3f81fc8 Revert "[SDK] Adds IndirectGoto implementation of sync-yield."
This reverts commit 7ed1690b4e.

Reason for revert: Crashes precomp.

Original change's description:
> [SDK] Adds IndirectGoto implementation of sync-yield.
> 
> Sets a threshold of five continuations determining if the old
> if-else or the new igoto-based implementation will be used.
> Informal benchmarking on x64 and arm_x64 point towards the overhead
> of the igoto-based impl. dropping off around this point.
> 
> Benchmarks of this CL (threshold=5) show drastic improvement in
> Calls.IterableManualIterablePolymorphicManyYields of about ~35-65%
> across {dart,dart-aot}-{ia32,x64,armv7hf,armv8}.
> 
> Bug: https://github.com/dart-lang/sdk/issues/37754
> Change-Id: I6e113f1f98e9ab0f994cf93004227d616e9e4d07
> Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/133586
> Commit-Queue: Clement Skau <cskau@google.com>
> Reviewed-by: Martin Kustermann <kustermann@google.com>

TBR=kustermann@google.com,cskau@google.com

Change-Id: Ie212fae88bc1977e34e4d791c644b77783a8deb1
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: https://github.com/dart-lang/sdk/issues/37754
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/136125
Reviewed-by: Clement Skau <cskau@google.com>
Commit-Queue: Clement Skau <cskau@google.com>
2020-02-17 12:17:25 +00:00
Samir Jindel 1fbc71da0f Re-land "[vm] AOT blobs snapshots are obsolete. Remove dead code."
Original change is in Patchset 1. I erroneously assumed DART_PRECOMPILER
was only used AOT compilation (it is also used for JIT snapshots).

Change-Id: I77f6c463db7f2b482c9b098f353dc28f0676ea0d
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/135900
Reviewed-by: Martin Kustermann <kustermann@google.com>
Commit-Queue: Samir Jindel <sjindel@google.com>
2020-02-17 11:12:15 +00:00
Clement Skau 7ed1690b4e [SDK] Adds IndirectGoto implementation of sync-yield.
Sets a threshold of five continuations determining if the old
if-else or the new igoto-based implementation will be used.
Informal benchmarking on x64 and arm_x64 point towards the overhead
of the igoto-based impl. dropping off around this point.

Benchmarks of this CL (threshold=5) show drastic improvement in
Calls.IterableManualIterablePolymorphicManyYields of about ~35-65%
across {dart,dart-aot}-{ia32,x64,armv7hf,armv8}.

Bug: https://github.com/dart-lang/sdk/issues/37754
Change-Id: I6e113f1f98e9ab0f994cf93004227d616e9e4d07
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/133586
Commit-Queue: Clement Skau <cskau@google.com>
Reviewed-by: Martin Kustermann <kustermann@google.com>
2020-02-17 09:59:25 +00:00
Ryan Macnak 29c50c6ebe Fix list_files.py so it is python3-compatible.
Cf. 86fe7ca75c

Change-Id: I17bb00b6e39fe27c725a2026a4ced824ad360a4c
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/135624
Reviewed-by: Ryan Macnak <rmacnak@google.com>
Commit-Queue: Ryan Macnak <rmacnak@google.com>
2020-02-15 00:12:50 +00:00
William Hesse af7270cb23 [infra] Construct 'not run' records in results.json when tests disappear
Cloud functions and test results app need to handle these new results
before the CL can be landed.

Bug: https://github.com/dart-lang/dart_ci/issues/72
Change-Id: I64d9238767f0a5aea41e4b7524120bd58a5bf625
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/134324
Commit-Queue: William Hesse <whesse@google.com>
Reviewed-by: Alexander Thomas <athom@google.com>
2020-02-14 13:25:25 +00:00
Siva Annamalai edd64e6d5c Revert "[vm] AOT blobs snapshots are obsolete. Remove dead code."
This reverts commit bcc0900e6a.

Reason for revert: This CL is breaking the Fuchsia Flutter build see https://github.com/flutter/engine/pull/16604/checks?check_run_id=445155807 

Original change's description:
> [vm] AOT blobs snapshots are obsolete. Remove dead code.
> 
> Change-Id: I35cf4befbe66b92197dcd659172f90be3de30f8e
> Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/134840
> Commit-Queue: Samir Jindel <sjindel@google.com>
> Reviewed-by: Ryan Macnak <rmacnak@google.com>

TBR=rmacnak@google.com,sjindel@google.com

Change-Id: I9dd32a71bf43907f59ed766b98bf453bab99ea3c
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/135881
Reviewed-by: Siva Annamalai <asiva@google.com>
Commit-Queue: Siva Annamalai <asiva@google.com>
2020-02-14 06:40:31 +00:00
Robert Nystrom 40d544bc26 Always count non-core libs when tracking migration progress.
Now that they're farther along, there's little need to keep them
separate.

Change-Id: I3dedcf34b97cf5f0645fe429b357a459850d65d5
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/135740
Auto-Submit: Bob Nystrom <rnystrom@google.com>
Commit-Queue: Nicholas Shahan <nshahan@google.com>
Reviewed-by: Nicholas Shahan <nshahan@google.com>
2020-02-13 23:05:29 +00:00
Paul Berry 4ca3d267ee Run legacy co19 tests in analyzer-asserts-weak configuration.
This will allow us to see whether any legacy co19 tests are expected
to fail when we unfork the SDK.

Change-Id: If3c1b86a86094e4754e0cff44238edd6d0c5f752
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/135623
Reviewed-by: Bob Nystrom <rnystrom@google.com>
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
Commit-Queue: Paul Berry <paulberry@google.com>
2020-02-13 19:08:58 +00:00
asiva 0838c9ebc2 Enable co19_2 legacy tests in the NNBD bots.
Change-Id: I9ddcf7314e9f1f1b59e29320b53addd594733297
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/135501
Reviewed-by: Alexander Thomas <athom@google.com>
Commit-Queue: Siva Annamalai <asiva@google.com>
2020-02-13 16:45:08 +00:00
Samir Jindel bcc0900e6a [vm] AOT blobs snapshots are obsolete. Remove dead code.
Change-Id: I35cf4befbe66b92197dcd659172f90be3de30f8e
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/134840
Commit-Queue: Samir Jindel <sjindel@google.com>
Reviewed-by: Ryan Macnak <rmacnak@google.com>
2020-02-13 14:16:49 +00:00
Karl Klose c90fca7188 [infra] Inline content of cloud epiloque file into approval script
Change-Id: Ifdbe1297e30dc6ed4e44d3fc9ba62c3faf0d8bde
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/133986
Reviewed-by: William Hesse <whesse@google.com>
Commit-Queue: Karl Klose <karlklose@google.com>
2020-02-13 12:02:21 +00:00
Vyacheslav Egorov c096f9d6e5 [gardening] Fix 3H patching logic with respect to newly added dependencies.
Dependency might reside in path with one name but come from a repository
with completely different name.

Change-Id: Ic96ba2d5e32a8a5eeb3fdc44cae732ae35eac22d
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/135643
Reviewed-by: Jens Johansen <jensj@google.com>
2020-02-13 09:05:36 +00:00
Jens Johansen 0a8484ca20 [CFE/VM] Add patch after 'Use package config v2'
After 81d4ac07d4 ([CFE] Use package config v2)
landed the HHH bot hasn't been able to compile.
Hopefully this CL fixes that issue.

Change-Id: Ia3bb983f5a2ccf2539e59452b58058970bb6af1e
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/135641
Reviewed-by: Jens Johansen <jensj@google.com>
2020-02-13 08:19:57 +00:00
Paul Berry f57f1eb56b Add an analyzer test step to test legacy code using the unforked SDK
Change-Id: I7a06dbeacbf389ecfb343528652c9ec2ba545745
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/134340
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
Reviewed-by: Alexander Thomas <athom@google.com>
2020-02-12 21:32:49 +00:00
Robert Nystrom 86f8e3438a Migrate language_2/async_nested to NNBD.
Change-Id: I16f1be4e17fa87aa94b294f281dfe14ea0129eb3
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/134904
Auto-Submit: Bob Nystrom <rnystrom@google.com>
Reviewed-by: Erik Ernst <eernst@google.com>
Commit-Queue: Bob Nystrom <rnystrom@google.com>
2020-02-12 20:46:37 +00:00
William Hesse 31de73f074 [infra] Publish results messages to pub/sub at a slower rate
We have seen scaling issues when processing many pub/sub messages
in cloud functions simultaneously, so we will limit the results messages
from a builder to 1 every 2 seconds.

Change-Id: I31fd9da24d2d5c3bc0afe30b3b165ee65494f29d
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/135312
Reviewed-by: Alexander Thomas <athom@google.com>
2020-02-12 15:25:25 +00:00
asiva a6001fae29 Turn on first set of legacy testing for the VM NNBD bots.
This turns on lib_2, corelib_2m language_2 and ffi_2

Change-Id: I0bf018cde6bfd8fafcf3df5bd40f5560be3cb93e
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/135361
Reviewed-by: Alexander Thomas <athom@google.com>
2020-02-11 23:57:50 +00:00
Sigmund Cherem 74f523a186 Add separate libraries.json file to help migrate dart2js libraries.
This temporarily:
* sets back to opt-out all libraries in the sdk_nnbd folder until
the migration is further along
* changes the bot to use the check_nnbd_sdk script with a different libraries
file that tracks the migration progress.

Change-Id: I096df232d23e2fb41265b6a51c486fb44f9b228c
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/135221
Commit-Queue: Sigmund Cherem <sigmund@google.com>
Reviewed-by: Bob Nystrom <rnystrom@google.com>
Reviewed-by: Joshua Litt <joshualitt@google.com>
2020-02-11 22:49:15 +00:00
Srujan Gaddam e2ff83724b Fix nullability for some templates
Addresses discrepancies between IDL and template files for some
operations. There's probably more I'm missing since this was
from a cursory check through all the templates.

Change-Id: Id79710b343f4a5fe0b5529f64c341d4f63d69b9d
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/135222
Reviewed-by: Sigmund Cherem <sigmund@google.com>
Commit-Queue: Srujan Gaddam <srujzs@google.com>
2020-02-11 20:28:54 +00:00
Srujan Gaddam e7ee11a95b Fix input and output for conversions
Fixes tests lib_2/html/event_customerevent_test
            co19_2/LibtTest/html/Document/window_A01_t01

JS inline incorrectly uses the converted html name for attributes for
getters. Similarly, dynamics do not need to be marked as nullable as
they are already nullable. This also fixes some of the nullability logic
for conversion input and output.

Change-Id: I77efde95a4e5d52461b3412f8650578e967ca5cd
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/135201
Reviewed-by: Sigmund Cherem <sigmund@google.com>
Commit-Queue: Srujan Gaddam <srujzs@google.com>
2020-02-11 00:27:05 +00:00
Srujan Gaddam 5e74472449 Handle optionals in DOM scripts for NNBD
Optionals were being ignored for some methods and for optionals that
have a default of Undefined or None, they should be marked nullable in
Dart syntax regardless of whether they are in the IDL.

Change-Id: Icc71300dc7d8e06fef640a5ca8d502b093c0580c
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/134765
Commit-Queue: Srujan Gaddam <srujzs@google.com>
Reviewed-by: Sigmund Cherem <sigmund@google.com>
2020-02-10 22:26:35 +00:00
Srujan Gaddam cd53f4ffe1 Add null-safety to html_common
Bug: https://github.com/dart-lang/sdk/issues/37931

Change-Id: I454ffd0cbd090d5f4ff0aa4f2a778710eea7c5b6
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/133860
Commit-Queue: Srujan Gaddam <srujzs@google.com>
Reviewed-by: Sigmund Cherem <sigmund@google.com>
2020-02-10 19:14:34 +00:00
Srujan Gaddam 9af1ffc558 Don't generate getters/setters for read only promises
Bug: https://github.com/dart-lang/sdk/issues/40530

For attributes that return promises and are read only, we
use promiseToFuture casts that should be maintained.

Change-Id: I02e23fc9c47321ced64a152c245cbdccd7337033
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/134902
Reviewed-by: Sigmund Cherem <sigmund@google.com>
Commit-Queue: Srujan Gaddam <srujzs@google.com>
2020-02-10 18:55:35 +00:00
Robert Nystrom 21758fe93c Create a package_config.json file for the generated multitests.
Change-Id: Ic603d2827184aa88c0b3d78032966591516094e0
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/134873
Commit-Queue: Paul Berry <paulberry@google.com>
Auto-Submit: Bob Nystrom <rnystrom@google.com>
Reviewed-by: Paul Berry <paulberry@google.com>
2020-02-10 15:46:54 +00:00
Sigmund Cherem 4310f50edc Switch dart2js nnbd bot: use a sdk-built configuration with no assertions
This is a temporary measure to help run the bots faster (the hostasserts
configuration seems to be timing out periodically)

See also https://github.com/dart-lang/sdk/issues/40521

Change-Id: Iba06626388124c146fbde8e78f3edc0a62f089f0
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/134885
Reviewed-by: Mayank Patke <fishythefish@google.com>
2020-02-08 00:32:00 +00:00
Srujan Gaddam 8c0d72db1d Fix how composedPath is called
Bug: b/149075352

Event.path should call composedPath if the result of the inline is
True. As it is, it only calls it if the result is null, which is
erroneous.

Change-Id: Idacc9ccddafc4374aca10de84265bf82cfbd0ab9
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/134887
Reviewed-by: Sigmund Cherem <sigmund@google.com>
2020-02-07 23:25:22 +00:00
Jonas Termansen 3433d8cfc3 [nnbd] Migrate standalone/io to NNBD.
The tests are also now dartfmt.

Bug: https://github.com/dart-lang/sdk/issues/40040
Change-Id: I8dece8097b37b70d47a5374dae2f3fadb0fc4b90
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/134338
Commit-Queue: Jonas Termansen <sortie@google.com>
Reviewed-by: Bob Nystrom <rnystrom@google.com>
2020-02-07 14:41:36 +00:00
Clement Skau d765d23746 [Tools] Makes build.py --arch more case-tolerant.
This allows us to do both:
  tools/build.py -a ia32
and
  tools/build.py -a IA32,ARMx64,x64

Also fixes missing arch option in utils.py.

Change-Id: I6f911397dbf52437f5347d41d71cdd3254a29476
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/134700
Reviewed-by: Teagan Strickland <sstrickl@google.com>
Commit-Queue: Clement Skau <cskau@google.com>
Auto-Submit: Clement Skau <cskau@google.com>
2020-02-07 08:26:35 +00:00
Srujan Gaddam dae60008ab DOM script changes to handle nnbd
-Adds field for type nullability for IDL operations
-Adds field for conversions to reflect input and output type nullability
--based on implementation
-Corrects generic object types to include nullability
-Changes 'any' types to dynamics
-Adds nullability to types in various operations
-Converts finals and non-initialized non-nullable fields to getters and
setters
--TODO: convert these to native instead of JS inline
-Modifies nullability for annotations and removes annotations from
setters

Change-Id: Iab19830fd1d7f37b170a4da8672f922c3f9b0863
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/132967
Commit-Queue: Srujan Gaddam <srujzs@google.com>
Reviewed-by: Sigmund Cherem <sigmund@google.com>
2020-02-07 01:05:14 +00:00
Srujan Gaddam 3776313e65 Change dart:html templates to generate null-safe code
Introduces NULLASSERT token and NNBD condition to allow code to
conditionally compile with NNBD.

Change-Id: Ib71e439f32c793e69b66c328cd7c9900358d886e
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/134045
Commit-Queue: Srujan Gaddam <srujzs@google.com>
Reviewed-by: Sigmund Cherem <sigmund@google.com>
2020-02-06 23:18:24 +00:00
Alexander Thomas c66b15139a [infra] Bump number of test results per pubsub message to 100
99th percentile execution time is at 20s, so with twice as many results
we should still be well below the 60s timeout.

This should reduce the likelihood of lock contention on updating the
chunk count resulting in fewer builds failing to get test results.

Change-Id: I4eff0c854ca1fa091431d47017ce995110178e77
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/134331
Commit-Queue: Alexander Thomas <athom@google.com>
Commit-Queue: Jonas Termansen <sortie@google.com>
Auto-Submit: Alexander Thomas <athom@google.com>
Reviewed-by: Jonas Termansen <sortie@google.com>
2020-02-05 13:18:39 +00:00
Martin Kustermann a5bb8b666a [infa] Respect --sanitizer flag in tools/test.py when running GN
Change-Id: I0c9fdc26983381111021bf1265ef58f31deb8ae2
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/134296
Reviewed-by: Ryan Macnak <rmacnak@google.com>
Commit-Queue: Martin Kustermann <kustermann@google.com>
2020-02-04 18:45:26 +00:00
Srujan Gaddam 851912cc1d Change nnbd_src files to be null-safe
Translates the forked nnbd_src files to address analyzer issues.

Change-Id: Ida21988bff63a6c5a037b548d0c8b11208317b3e
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/130131
Commit-Queue: Srujan Gaddam <srujzs@google.com>
Reviewed-by: Sigmund Cherem <sigmund@google.com>
2020-02-04 01:57:39 +00:00
Sigmund Cherem 07675de0c0 Fix type error within _EventStream.onData
The constructor was wrapping the onData handler to hide the type-mismatch. This
copies the same logic to the onData handler.

In non-nnbd code this code was not exercised. The migration of dart:async
made this code reachable on our tests. That's because Stream.first used to
do:

  var subscription;
  this.listen(() => ... cancel subscription here, ...)

it now avoids making subscription nullable by registering the onData handler
later:

  var subscrition = stream.listen(null, ...);
  subscription.onData(() => ... cancel subscription here);

This change fixes the following 6 html tests under nnbd:
html/history_test/history/history
html/transferables_test
html/transition_event_test
html/websocket_test
html/worker_test/functional/functional
html/xhr_test


Change-Id: I095ea8d545e65b047504af0367586884bba84d72
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/134120
Commit-Queue: Sigmund Cherem <sigmund@google.com>
Reviewed-by: Srujan Gaddam <srujzs@google.com>
2020-02-02 05:58:24 +00:00
Vijay Menon 7a85c7c895 [dartdevc/nnbd] enable co19_2 tests for legacy mode
Change-Id: Iaf1cd9f6833554a622ea8c97a7fefb7e09a9cd51
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/134089
Reviewed-by: Sigmund Cherem <sigmund@google.com>
2020-01-31 21:42:13 +00:00
William Hesse 4e38df4255 [infra] Print correct configuration groups in failures link
We were printing groups of builder names, not configurations

Change-Id: Ia9a6791fbd25939f71a1aa227bc288197c838bd6
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/133991
Reviewed-by: Martin Kustermann <kustermann@google.com>
2020-01-31 14:19:00 +00:00
Karl Klose 77d50308dd [infra] Use pkg/smith's test matrix support in test.dart
Change-Id: I193651bc471191b9d45345dead9af1b428ceb3a1
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/133239
Reviewed-by: Jonas Termansen <sortie@google.com>
Commit-Queue: Karl Klose <karlklose@google.com>
2020-01-31 11:47:31 +00:00
asiva f24c0f0837 [VM/tests] Second step of porting dart:cli tests for NNBD
Turn on the dart:cli tests in the nnbd bot.

Change-Id: I2c521b217300839deb7ad47a820768172b8f0e26
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/133866
Commit-Queue: Siva Annamalai <asiva@google.com>
Reviewed-by: Ryan Macnak <rmacnak@google.com>
2020-01-30 02:42:11 +00:00
Srujan Gaddam 28917d8b1d Handle invalid overrides in template and src dart files
Several functions did not override their parents' function signatures
correctly for nnbd.

Change-Id: Ibd935ffa39b3175db65bb43d15396134700d2f78
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/129143
Commit-Queue: Srujan Gaddam <srujzs@google.com>
Reviewed-by: Sigmund Cherem <sigmund@google.com>
2020-01-29 22:22:50 +00:00
Srujan Gaddam 0863218e02 Move changes to src .dart files to nnbd_src
https://dart-review.googlesource.com/c/sdk/+/128376 renamed some dart
files to darttemplates to handle nnbd in src. Instead of modifying
those files, those changes are reflected here.

Change-Id: Ib87dcb357f38e9fb5c56f543b6208931d0fdb63a
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/130130
Reviewed-by: Sigmund Cherem <sigmund@google.com>
2020-01-29 22:22:50 +00:00
Srujan Gaddam f4cdc98ede Fork dom src files to nnbd version
Copies over the files from tools/dom/src to tools/dom/nnbd_src and
excludes _chrome.

Change-Id: I18c58c0adcbaddc97e72fef6b5e75442c9f5550e
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/130129
Reviewed-by: Sigmund Cherem <sigmund@google.com>
2020-01-29 22:22:50 +00:00
Srujan Gaddam 151dc015c0 Add $#NAME syntax to emitter to allow subtemplates
NNBD will require explicit casts in various locations in the dart:html
libraries. To avoid taking on this overhead in the pre-nnbd dart:html
library, syntax is introduced in the emitter to allow tokens with
arguments.

Test: emitter_test.py

Change-Id: Ie6de714f491e0cda654f33ee389a91b765cacc9b
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/133333
Reviewed-by: Stephen Adams <sra@google.com>
2020-01-29 22:22:50 +00:00
Daco Harkes 41db525fc9 [test] Remove redundant gen_snapshot passing in crossword builder
The gen_snapshot path passing was introduced in https://dart-review.googlesource.com/c/sdk/+/107644.
However, it was made redundant in https://dart-review.googlesource.com/c/sdk/+/114850 which selects gen_snapshot based on --builder_tag crossword.

See discussion at https://dart-review.googlesource.com/c/sdk/+/133521/1/pkg/test_runner/lib/src/compiler_configuration.dart#694.

Change-Id: Ib7cf40dc474a681ac177ecbb93f2fbfc3d80e50d

Cq-Include-Trybots: luci.dart.try:vm-kernel-precomp-android-release-arm_x64-try,vm-kernel-precomp-linux-debug-simarm_x64-try,vm-kernel-precomp-linux-release-simarm_x64-try
Change-Id: Ib7cf40dc474a681ac177ecbb93f2fbfc3d80e50d
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/133560
Reviewed-by: Martin Kustermann <kustermann@google.com>
Reviewed-by: Alexander Thomas <athom@google.com>
Commit-Queue: Daco Harkes <dacoharkes@google.com>
2020-01-29 16:40:33 +00:00
Daco Harkes 9920801424 [vm/ffi] Split FFI tests in NNBD and legacy
Closes: https://github.com/dart-lang/sdk/issues/40233

This CL creates nnbd versions of the tests and runs them on the nnbd sdk.

This CL does not (1) migrate sdk_nnbd/lib/ffi fully yet, and does not (2) fix all the tests/ffi (which is NNBD tests) yet.

Uncovered new issues:
Issue: https://github.com/dart-lang/sdk/issues/40234 nullptr should have type Pointer<Never>.
Issue: https://github.com/dart-lang/sdk/issues/40247 Structs need external fields.
Issue: https://github.com/dart-lang/sdk/issues/40271 Callbacks hit assert in debug.

Change-Id: Icb1b83577e03ed283165eb17703fc8dfc7fa5960
Cq-Include-Trybots: luci.dart.try:vm-ffi-android-debug-arm-try,vm-ffi-android-debug-arm64-try,app-kernel-linux-debug-x64-try,vm-kernel-linux-debug-ia32-try,vm-kernel-win-debug-x64-try,vm-kernel-win-debug-ia32-try,vm-kernel-precomp-linux-debug-x64-try,vm-dartkb-linux-release-x64-abi-try,vm-kernel-precomp-android-release-arm64-try,vm-kernel-asan-linux-release-x64-try,vm-kernel-linux-release-simarm-try,vm-kernel-linux-release-simarm64-try,vm-kernel-precomp-android-release-arm_x64-try,vm-kernel-precomp-obfuscate-linux-release-x64-try,dart-sdk-linux-try,analyzer-analysis-server-linux-try,analyzer-linux-release-try,front-end-linux-release-x64-try,vm-kernel-precomp-win-release-x64-try,analyzer-nnbd-linux-release-try,dart2js-nnbd-linux-x64-chrome-try,ddc-nnbd-linux-release-chrome-try,front-end-nnbd-linux-release-x64-try,vm-kernel-nnbd-linux-debug-x64-try,vm-kernel-nnbd-linux-release-x64-try
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/132604
Commit-Queue: Daco Harkes <dacoharkes@google.com>
Reviewed-by: Alexander Thomas <athom@google.com>
Reviewed-by: Bob Nystrom <rnystrom@google.com>
2020-01-29 14:04:41 +00:00
Srujan Gaddam 7db61c6b01 Changing the dart:html generator scripts to generate null-safe/nnbd code
Change-Id: I4a8b097b126864366076b1e73cf3e0296600380e
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/128376
Reviewed-by: Sigmund Cherem <sigmund@google.com>
Commit-Queue: Srujan Gaddam <srujzs@google.com>
2020-01-29 00:20:42 +00:00
Alexander Thomas 2659a77444 [infra] Reduce the number of results in the pubsub messages
This reduces the likelihood of timeouts due to slow tryjob results
processing.

TBR=sortie

Change-Id: I9155c12da286c634394a9bc40d99d6d3bacab85a
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/133581
Reviewed-by: Alexander Thomas <athom@google.com>
2020-01-28 21:31:51 +00:00
Daco Harkes a86288a1d8 [test_runner] QEMU named configurations
Issue: https://github.com/dart-lang/sdk/issues/40337

Change-Id: Ifd6855406686ff87f3a600cf5acef8777e44bed7
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/133525
Commit-Queue: Daco Harkes <dacoharkes@google.com>
Reviewed-by: Alexander Thomas <athom@google.com>
2020-01-28 16:08:27 +00:00
Daco Harkes 2281c71aee [test] format test_matrix.json
Formatted using the vscode formatter.

Alternatively, use `jq . -M test_matrix.json > test_matrix.json.bak && mv test_matrix.json.bak test_matrix.json`

Change-Id: I898d7c1cfa4633aee739c074da54c99d6bb5b15c
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/133524
Commit-Queue: Daco Harkes <dacoharkes@google.com>
Reviewed-by: Alexander Thomas <athom@google.com>
2020-01-28 14:36:27 +00:00
Victor Lima 3fa4194008 [vm] Update offsets
Make the offsets extracted reflect changes in classes that have
fields that do not exist in product mode, since it affects the
entity size.

Change-Id: I0ec277663ba3ddc956ca651ccc0395e39ba185f9
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/133229
Reviewed-by: Martin Kustermann <kustermann@google.com>
Commit-Queue: Victor Agnez Lima <victoragnez@google.com>
2020-01-27 15:59:56 +00:00
Karl Klose 23fa59f8b6 [infra] Add support for builders to pkg/smith
Change-Id: I21b970aaa61331b25687891f325621165f7861ad
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/128160
Commit-Queue: Karl Klose <karlklose@google.com>
Reviewed-by: Bob Nystrom <rnystrom@google.com>
2020-01-27 08:13:25 +00:00
Victor Lima 17fff9b721 [vm] Generate different offsets for dart_precompiled_runtime
Some raw objects have fields that do not exist in
dart_precompiled_runtime, making the instance size of such objects
smaller. The offsets extractor should therefore generate different
offsets for the precompiled runtime in order to reflect those
differences.

Change-Id: I367e20744fe5b2f8ffaba03bd19b2c74a422c750
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/133064
Reviewed-by: Martin Kustermann <kustermann@google.com>
Commit-Queue: Victor Agnez Lima <victoragnez@google.com>
2020-01-24 22:03:05 +00:00
Sigmund Cherem 4a42831e85 Use source-maps in test runner to expand JavaScript stack traces.
This works on all browsers, in d8, and supports both dartdevk and
dart2js. In the case of dart2js, this also expands minified names and
inlined data.

The result is presented to users as a separate section, so the original
JS stack trace is printed as is, and a second deobfuscated stack trace
is printed afterwards.

Change-Id: I10af5e0241a8c87ad8db48234ce52cfb51a27411
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/132966
Commit-Queue: Sigmund Cherem <sigmund@google.com>
Reviewed-by: Vijay Menon <vsm@google.com>
Reviewed-by: Bob Nystrom <rnystrom@google.com>
2020-01-24 20:00:13 +00:00
asiva 8115ea1867 Update ABI version.
Change-Id: Ia739d419126588f827449671c63725c3f7cc8cf8
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/133120
Reviewed-by: Liam Appelbe <liama@google.com>
Commit-Queue: Siva Annamalai <asiva@google.com>
2020-01-23 20:49:49 +00:00
Ryan Macnak 081e2acf29 [test] Update copied mirrors tests for Dart 3.
Bug: https://github.com/dart-lang/sdk/issues/40045
Change-Id: Ic0f62843d61b613e61f434b72b9553dd1e6897af
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/132441
Reviewed-by: Ben Konyi <bkonyi@google.com>
Commit-Queue: Ryan Macnak <rmacnak@google.com>
2020-01-23 18:09:37 +00:00
Vijay Menon d40ce3f538 [dartdevc/nnbd] run co19 tests
Change-Id: Ic8faccae80a9ba6294d611cf1f5fdc1c5da85e49
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/132961
Commit-Queue: Vijay Menon <vsm@google.com>
Reviewed-by: Erik Ernst <eernst@google.com>
2020-01-23 15:36:57 +00:00
Teagan Strickland a003d5e69a [vm] Refactor debug info handling code into a new package.
Change-Id: Iaf944564ebbe4bdcc215166f784e949362583a69
Cq-Include-Trybots: luci.dart.try:vm-kernel-precomp-linux-release-x64-try,vm-kernel-precomp-android-release-arm_x64-try,vm-kernel-precomp-mac-release-simarm64-try,vm-kernel-precomp-win-release-x64-try
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/132281
Commit-Queue: Teagan Strickland <sstrickl@google.com>
Reviewed-by: Martin Kustermann <kustermann@google.com>
Reviewed-by: Ben Konyi <bkonyi@google.com>
2020-01-23 10:14:17 +00:00
Erik Ernst a9ea9365ad Change null-aware operator [], operator []=, and function call to not have a period.
Change-Id: I8b9c83e216dd713afeef8a1c1cf93c36c8de3792
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/132840
Reviewed-by: Lasse R.H. Nielsen <lrn@google.com>
Commit-Queue: Erik Ernst <eernst@google.com>
2020-01-22 10:18:26 +00:00
Vijay Menon 528edcf6a9 Add node-source-map-support for better web stack traces during testing
Change-Id: I9e500c4e47819d77c4c81a1027e6665a34d3fd29
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/132520
Reviewed-by: Sigmund Cherem <sigmund@google.com>
Commit-Queue: Vijay Menon <vsm@google.com>
2020-01-21 22:09:19 +00:00
William Hesse 5c67dd71a1 [infra] Send only 100 changed test results to Firestore at once
Fixes: https://github.com/dart-lang/dart_ci/issues/46
Change-Id: Ie6870c33db15f0e3d8a239dcca39af951ebf03aa
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/132665
Commit-Queue: William Hesse <whesse@google.com>
Reviewed-by: Alexander Thomas <athom@google.com>
2020-01-21 18:48:17 +00:00
Jaime Wren 4da1bb0da7 Initial and intentionally minimal pkg/dartdev/ package.  This includes some initial CLI utilities and test file.
Change-Id: I2b8485a1918fb0f1b6c5f0cbe626418aeef9c06e
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/132025
Commit-Queue: Jaime Wren <jwren@google.com>
Reviewed-by: Devon Carew <devoncarew@google.com>
2020-01-21 18:21:47 +00:00
Sigmund Cherem f910a7575f dart2js nnbd setup
- fixes check_nnbd_sdk.dart to run on dart2js patch files
- splits golden file used by that script by target
- adds it to the old-rti bot (until we get the new nnbd bot)
- adds a suite that runs legacy tests in nnbd weak mode

Change-Id: I0a89534dcd1cf7338849d59ab3e5d989d2ecf3d0
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/131885
Reviewed-by: Vijay Menon <vsm@google.com>
2020-01-21 06:22:51 +00:00
William Hesse be060649cd [infra] Add link to failing tests on failing CI builders
Change-Id: If4bdfa8b8b8bfd465d023c649210fc692dadca70
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/132601
Reviewed-by: Alexander Thomas <athom@google.com>
2020-01-20 16:41:19 +00:00
Nicholas Shahan 16a1237dd7 Fix windows path bug and re-enable nnbd sdk patch and analysis test
Fixing the bug on windows felt more trivial than forking the testbot
configurations to avoid running the test on windows.

Change-Id: Ib4cbe72a226aee0083682197a69b2178eea8bea4
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/132100
Reviewed-by: Paul Berry <paulberry@google.com>
Reviewed-by: Vijay Menon <vsm@google.com>
Commit-Queue: Nicholas Shahan <nshahan@google.com>
2020-01-17 23:07:26 +00:00
William Hesse b27a763f3d [infra] Send the buildbucket id when uploading results to pubsub
Change-Id: I057516e35f996882fb0b37195fb148ed3cc4694d
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/132080
Reviewed-by: Alexander Thomas <athom@google.com>
2020-01-17 12:11:21 +00:00
Nicholas Shahan a08c2ecae3 Revert "[tests] Copy test for dart:* nnbd static errors to analyzer bot"
This reverts commit dbc23399d4.

Reason for revert: The test crashes on the windows bot which uses the same test configuration as the linux bot.

Original change's description:
> [tests] Copy test for dart:* nnbd static errors to analyzer bot
> 
> The DDC bot is no longer triggered on changes to the analyzer package.
> The analyzer team would naturally like to know if they are breaking this test so
> it makes more sense to move it to their bot.
> 
> In a discussion with our team we opted to leave the test on our bot as well since
> runs so quickly and makes it easier to notice errors earlier for some of our
> workflows.
> 
> Change-Id: I0157fdc5a957239f432a448b546531487895da7d
> Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/131717
> Reviewed-by: Paul Berry <paulberry@google.com>
> Commit-Queue: Nicholas Shahan <nshahan@google.com>

TBR=paulberry@google.com,nshahan@google.com

Change-Id: I6a12241b98dcc5120e3f71040091a0baed60bfeb
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/132024
Reviewed-by: Nicholas Shahan <nshahan@google.com>
Commit-Queue: Nicholas Shahan <nshahan@google.com>
2020-01-16 18:38:56 +00:00
Alexander Thomas aed137824e [infra] Add dart2js NNBD builder to the test matrix
Initially, this will just do the build. The dart2js team will add
testing in a separate CL.

Change-Id: If06fb6e639194a4c80d1f2a6f437c76d5bfc029f
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/131827
Commit-Queue: Alexander Thomas <athom@google.com>
Commit-Queue: William Hesse <whesse@google.com>
Auto-Submit: Alexander Thomas <athom@google.com>
Reviewed-by: William Hesse <whesse@google.com>
2020-01-16 10:09:10 +00:00
Jens Johansen 128771af8a [CFE] Version 2 of incremental compiler invalidation strategy
Change-Id: Iff860e2665dee64fc005a50237ae890986ddb0f1
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/127896
Commit-Queue: Jens Johansen <jensj@google.com>
Reviewed-by: Johnni Winther <johnniwinther@google.com>
2020-01-16 07:50:39 +00:00
Nicholas Shahan dbc23399d4 [tests] Copy test for dart:* nnbd static errors to analyzer bot
The DDC bot is no longer triggered on changes to the analyzer package.
The analyzer team would naturally like to know if they are breaking this test so
it makes more sense to move it to their bot.

In a discussion with our team we opted to leave the test on our bot as well since
runs so quickly and makes it easier to notice errors earlier for some of our
workflows.

Change-Id: I0157fdc5a957239f432a448b546531487895da7d
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/131717
Reviewed-by: Paul Berry <paulberry@google.com>
Commit-Queue: Nicholas Shahan <nshahan@google.com>
2020-01-16 06:45:34 +00:00
William Hesse 009537bbf0 [infra] Empty SDK commit, to validate a fix for approval copying
TBR: athom@google.com
Change-Id: I7d29168b4146e1c6b9ea10008c5a7b3f922e2979
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/131826
Reviewed-by: William Hesse <whesse@google.com>
2020-01-16 06:07:56 +00:00
William Hesse 1a00ccfa96 [infra] Use analyzer-unittest-asserts and cfe-unittest-asserts configurations
There were multiple builders using the same unittest-asserts-linux
configuration, which caused confusion on the results feed. Analyzer unit
tests will now use the analyzer-unittest-asserts configuration and
front-end builders will use the cfe-unittest-asserts configuration.

Other front-end builder configurations starting with fasta- are renamed
to start with cfe-.

Before landing this change, the results.json files on the builders will have
duplicate results, showing the current test results under the new configuration
names, added to them.  This will avoid "new test" and "new failing test"
messages for the new configurations.  These must be added to the results.json
on GCS that is picked up by the first new run, but can safely be added to
earlier ones on GCS as well.

Change-Id: I947814e8c82eef84f79334e6871f1cd3b1d8af0f
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/131821
Reviewed-by: Alexander Thomas <athom@google.com>
2020-01-15 15:40:45 +00:00
Robert Nystrom 7bc7f58992 Show subdirectories in test migration progress report.
Change-Id: I2b7c059030d0c5a87d074e37c86f7532c302ff9c
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/130963
Auto-Submit: Bob Nystrom <rnystrom@google.com>
Reviewed-by: Nicholas Shahan <nshahan@google.com>
2020-01-10 22:07:23 +00:00
Vijay Menon 4ca345e80f [dartdevc] regression test for dart:* nnbd static errors on bots
Change-Id: I6e9f2fe7075efef496f203ffe42cf10cdc1e660a
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/130881
Commit-Queue: Vijay Menon <vsm@google.com>
Reviewed-by: Sigmund Cherem <sigmund@google.com>
2020-01-10 00:33:57 +00:00
Alexander Thomas d6d921ba12 [infra] Fix cfe NNBD builder
* Correct mistake in the named configuration.
* Add missing test directories to the fileset.
* Add configurations for all operating systems (for local testing).
* Avoid duplicate experiments specified by both configuration and test.
* Pass experiment flags also to VM running the batch runner.

Change-Id: I47f2c1b07e91e2f8120a2712ce362689b68e9ce4
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/130900
Reviewed-by: Bob Nystrom <rnystrom@google.com>
2020-01-09 20:16:27 +00:00
Alexander Thomas 75e2eccb2b [infra] Add cfe NNBD builder to the test matrix
See also https://dart-review.googlesource.com/c/sdk/+/130860/

Change-Id: Ic46a8bb13c2a2f73f1fc03c1520693df8ece39bf
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/130861
Reviewed-by: Johnni Winther <johnniwinther@google.com>
2020-01-09 13:07:39 +00:00
Karl Klose 4da919a0c9 [infra] Remove script to generate custom try builds on cl-*-try builders
Change-Id: I7769c21c357df9c9d6584638921bcc2afeff8d6b
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/130841
Reviewed-by: Alexander Thomas <athom@google.com>
Commit-Queue: Karl Klose <karlklose@google.com>
2020-01-09 09:23:38 +00:00
William Hesse 13fd15d2f0 [infra] Handle missing boolean fields in get_builder_status
Change-Id: I0dc03d6dd58c672c843936dc78fd958608ddef35
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/130701
Reviewed-by: Alexander Thomas <athom@google.com>
Commit-Queue: William Hesse <whesse@google.com>
2020-01-08 15:18:18 +00:00
Karl Klose c218b4309e [infra] Improve error reporting in test.dart
This CL changes test.dart to
- improve errors reporting with multiple configurations and builders
  by tracking the builders for each configuration separately
- improve output of which configurations and which builders are
  tested
- fix a missing check for the case that at least one invalid and
  one valid configuration was used
- remove a class and some type annotations

Change-Id: If91e3033c3892c39243327101d3017a5f8e710c7
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/130369
Reviewed-by: Alexander Thomas <athom@google.com>
Commit-Queue: Karl Klose <karlklose@google.com>
2020-01-07 14:45:25 +00:00
William Hesse 2ee762c8de [infra] Improve output messages of get_builder_status.dart
Change-Id: Icb16e9408a5f15e774d5c2adafc0eaf507c2ce7f
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/130367
Reviewed-by: Karl Klose <karlklose@google.com>
Commit-Queue: William Hesse <whesse@google.com>
2020-01-07 11:19:22 +00:00
Karl Klose 21e3580519 [infra] Use resolved configuration names instead of those provided as argument
Change-Id: I72fe74e1052c9c82eaf12e8c510501b037aa00a9
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/130361
Reviewed-by: Alexander Thomas <athom@google.com>
Commit-Queue: Karl Klose <karlklose@google.com>
2020-01-06 11:49:09 +00:00
Alexander Thomas 7373347c7c [release/homebrew] Always use x64 binaries on macOS
We no longer support ia32 Macs (see linked issue).

Bug: https://github.com/dart-lang/sdk/issues/39810
Change-Id: I5fc6ab6a9074e54a90e8480d0ede416a237733cf
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/130360
Reviewed-by: William Hesse <whesse@google.com>
2020-01-06 09:11:32 +00:00
Sigmund Cherem d735f1f12d (dart2js): enable new-rti by default
This change:
* adds the `--use-old-rti` flag to revert to the old behavior
* enables the new behavior by default
* changes the -rti- builders to run the old rti instead of the new rti
* documents the change in CHANGELOG.md

I've kept around the logic as `useNewRti` to avoid swapping all the conditions
in the compiler.

Change-Id: I773ac33b658cb60f72e0b6beef83375abec31bad
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/127492
Commit-Queue: Sigmund Cherem <sigmund@google.com>
Reviewed-by: Stephen Adams <sra@google.com>
Reviewed-by: Mayank Patke <fishythefish@google.com>
2020-01-04 00:44:25 +00:00
William Hesse 05e70d5b38 [infra] Add unapproved failures test to builder status script
TBR: athom@google.com
Change-Id: I086b26acb310e407cb4060db1e14d7a7c6c57cdc
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/129707
Reviewed-by: William Hesse <whesse@google.com>
2019-12-30 14:02:23 +00:00
Ben Konyi 8fb6e250aa [ VM ] Update ABI version after SIMD typed_data changes
Change-Id: Ic8564fac00ce7d8c05f6838162ba5c0a042aa791
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/129814
Auto-Submit: Ben Konyi <bkonyi@google.com>
Reviewed-by: Alexander Markov <alexmarkov@google.com>
Commit-Queue: Alexander Markov <alexmarkov@google.com>
2019-12-27 21:04:45 +00:00
Robert Nystrom fd501c74a5 Track files that do not need to be migrated in the NNBD progress script.
Change-Id: I77014aad502ae6e44a9d0c20c288efb822bd1068
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/128984
Reviewed-by: Nicholas Shahan <nshahan@google.com>
Commit-Queue: Bob Nystrom <rnystrom@google.com>
Auto-Submit: Bob Nystrom <rnystrom@google.com>
2019-12-20 21:25:35 +00:00
Régis Crelier b92fefdfe9 [VM/nnbd] Pass nnbd mode from compiler via generated code or bytecode to runtime functions performing type checks or type reification.
This continues the work started in https://dart-review.googlesource.com/c/sdk/+/124105
The nnbd mode is now part of the type arguments instantiation cache,
since the resulting vector depends on the mode.

Change-Id: I803c07fa9473024557db8585e87286f16681169a
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/128307
Commit-Queue: Régis Crelier <regis@google.com>
Reviewed-by: Alexander Markov <alexmarkov@google.com>
Reviewed-by: Liam Appelbe <liama@google.com>
2019-12-20 03:26:29 +00:00
Nicholas Shahan 87c3b24e7b Add more test suites to DDC NNBD strong/weak configs
Change-Id: I6d95286de986d28dcf54858724fb8394bff5583c
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/129002
Commit-Queue: Nicholas Shahan <nshahan@google.com>
Reviewed-by: Alexander Thomas <athom@google.com>
2019-12-19 23:45:43 +00:00
Jonas Termansen 90526d4aaf [benchmark] Switch dart2js and dartdevc targets to linux-x64.
Change-Id: If0f6c839ddd0032640f023855f5163368802a794
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/128700
Reviewed-by: Alexander Thomas <athom@google.com>
Reviewed-by: Stephen Adams <sra@google.com>
2019-12-19 13:19:36 +00:00
Sigmund Cherem 221e1d953a Add ddc nnbd legacy tests
Change-Id: Iab7f427fdc9090285995d67fcad8e8f11aff6559
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/128961
Reviewed-by: Nicholas Shahan <nshahan@google.com>
Commit-Queue: Sigmund Cherem <sigmund@google.com>
2019-12-18 23:38:01 +00:00
Alexander Thomas 1e9ee57d14 [infra] Add initial VM NNBD builders to the test matrix.json
Change-Id: Idc5d0f38d69b91cb024d5346f5b1a70460459488
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/128724
Reviewed-by: Siva Annamalai <asiva@google.com>
2019-12-18 09:34:25 +00:00
Nicholas Shahan 2aa6e73ae7 [dartdevc] Cleanup all temporary nnbd modular tests
All of these tests are now running under the regular test infrastructure.
The only reason they were created as modular tests was because we wanted more
control over the SDK sources used.

Change-Id: I2ad5aa616ff8bccd10cfac2d49bfaa39ab50c192
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/128801
Reviewed-by: Mark Zhou <markzipan@google.com>
Commit-Queue: Nicholas Shahan <nshahan@google.com>
2019-12-18 00:43:44 +00:00
Robert Nystrom 5973e04ebd Tweak the NNBD test migration progress script output a bit.
Change-Id: Ia722ea4b90702063166c99a1acf48a34d5c46da3
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/128480
Reviewed-by: Nicholas Shahan <nshahan@google.com>
Commit-Queue: Bob Nystrom <rnystrom@google.com>
Auto-Submit: Bob Nystrom <rnystrom@google.com>
2019-12-17 22:14:34 +00:00
Jonas Termansen 6c00cd1d28 [infra] Prepare for the story of approve_results to end.
Change-Id: Ide82c48bebe158934ee1f25724341f72c519d3f7
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/128663
Reviewed-by: Alexander Thomas <athom@google.com>
2019-12-17 14:03:02 +00:00
Alexander Thomas a1b895a900 [infra] Disable builds of macOS 32bit SDKs
These are currently broken because our xcode version no longer supports
i386 builds.

See https://github.com/dart-lang/sdk/issues/39810 for the corresponding
breaking change request.

Change-Id: Iaf9c20d090e7d9914a4c395e4aa17c13a1d336fe
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/128583
Reviewed-by: William Hesse <whesse@google.com>
2019-12-17 13:32:48 +00:00
Alexander Thomas 51859cb205 [infra] Move simarm_x64 from macOS to Linux
Newer versions of xcode no longer support the i386 architecture which
caused this builder to fail on macOS.

Change-Id: I02c457b7fe198c0438a5058288dc9116ff598ff8
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/128580
Reviewed-by: Jonas Termansen <sortie@google.com>
2019-12-17 11:20:30 +00:00
William Hesse 1f89b3e74f [infra] Fix typo in get_builder_status script
Change-Id: Ifef049d531c1de83dad2b4d1a10635bee35ead68
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/128545
Reviewed-by: Jonas Termansen <sortie@google.com>
2019-12-16 18:01:02 +00:00
William Hesse 68f6e14730 [infra] Build status script now queries Firestore, using access token
Change-Id: I417a65cd8dd0046e78b9c4dac1079e086e3547b9
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/128408
Commit-Queue: William Hesse <whesse@google.com>
Reviewed-by: Alexander Thomas <athom@google.com>
2019-12-16 11:18:27 +00:00
Alexander Thomas 9e0a5026d5 [infra] Remove AST builders from the test matrix
These builders were already removed from the Luci config:
https://dart-review.googlesource.com/c/sdk/+/127645

Change-Id: I59a96d7ea0a042d41e265648753bc594833550fe
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/128064
Auto-Submit: Alexander Thomas <athom@google.com>
Reviewed-by: Siva Annamalai <asiva@google.com>
2019-12-16 09:23:59 +00:00
Srujan Gaddam a865b9c379 Change Future lists to use dynamic
Bug: https://github.com/dart-lang/sdk/issues/39627

Lists in a future should be typed with dynamic since they come from JS
interop.

Change-Id: I93d4da16eb27c3af23820a170cfad7cc5c3b4472
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/128368
Reviewed-by: Sigmund Cherem <sigmund@google.com>
Commit-Queue: Srujan Gaddam <srujzs@google.com>
2019-12-14 00:23:54 +00:00
Robert Nystrom f95ef086a9 Small script to track NNBD test migration progress and estimate.
Change-Id: I14ad73f79c689d3154bd7260ee247fe478439e43
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/128283
Auto-Submit: Bob Nystrom <rnystrom@google.com>
Commit-Queue: Nicholas Shahan <nshahan@google.com>
Reviewed-by: Nicholas Shahan <nshahan@google.com>
2019-12-13 22:35:42 +00:00
Srujan Gaddam b84d6ba0f8 Change type MediaDeviceInfo to dynamic in Future
Bug: https://github.com/dart-lang/sdk/issues/39627

Lists in a future should be typed with dynamic since they come from JS
interop.

Results from running tools/dom/scripts/go.sh

Change-Id: I4ed37d6f5fa570beef71652dcad17c3bcf7560ab
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/128300
Reviewed-by: Sigmund Cherem <sigmund@google.com>
Commit-Queue: Srujan Gaddam <srujzs@google.com>
2019-12-13 22:17:11 +00:00
Robert Nystrom a8c68e094a Turn the Dart 2.0 migration tool into an NNBD migration tool.
It's pretty bare bones right now, but it helps automate some of the
steps.

Change-Id: I64280751870f1cb0d34ac464879c9c0edfc75d1f
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/128280
Auto-Submit: Bob Nystrom <rnystrom@google.com>
Reviewed-by: Nicholas Shahan <nshahan@google.com>
Commit-Queue: Bob Nystrom <rnystrom@google.com>
2019-12-13 00:01:11 +00:00
William Hesse ca2983a7cd [infra] Add script to read builder status from Firestore
This will be used by the new approval workflow to mark a builder
as succeeded or failed (green or red) on the build console, depending
on approvals.

Change-Id: I47bddb1f964d5f5b7c06923660f86f6eb7a5e247
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/125667
Reviewed-by: Jonas Termansen <sortie@google.com>
2019-12-12 16:03:59 +00:00
Ryan Macnak 3678a3bd42 [build] Use separate out directories for each sanitizer.
Bug: https://github.com/dart-lang/sdk/issues/39611
Change-Id: Ie0aeaff758234220c2f0267b462d14f4c076bdf6
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/127821
Reviewed-by: Alexander Thomas <athom@google.com>
Commit-Queue: Ryan Macnak <rmacnak@google.com>
2019-12-11 18:12:47 +00:00
Alexander Thomas 1d9cd1d83f [infra] Update checked-in SDKs to 2.8.0-dev.0.0
Also change the script to use gsutil.py, which is usually in the path
because it's in depot tools.

Closes #39672

Change-Id: If434b4ebc4c0cb6054f6eb6d15f85a221a9ab1e6
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/127894
Commit-Queue: Alexander Thomas <athom@google.com>
Commit-Queue: Jonas Termansen <sortie@google.com>
Auto-Submit: Alexander Thomas <athom@google.com>
Reviewed-by: Jonas Termansen <sortie@google.com>
2019-12-11 13:23:59 +00:00
Alexander Thomas 057e4dc697 [co19] Run co19 nnbd tests on analyzer-nnbd
Change-Id: Id61e001f3a288f82a1123ac3817352d1af46a845
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/126560
Reviewed-by: Paul Berry <paulberry@google.com>
2019-12-11 10:20:17 +00:00
William Hesse 37b6b86b90 [infra] Change the name of the num_chunks attribute sent to pubsub.
The results were sent to pubsub with a num_messages attribute, but
the receiver was expecting it to be called num_chunks.

Change-Id: I924386137006367773bcace91578e3dfedd3763c
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/127881
Reviewed-by: Alexander Thomas <athom@google.com>
2019-12-10 13:23:02 +00:00
Nicholas Shahan 2015c55277 [dartdevc] Remove ability to run analyzer based DDC
This is the first step in deleting legacy DDC!
* Default all invocations of DDC to run the kernel version.
* Disable all tests that run analyzer DDC.
* Detect the most likely case when invoked with an analyzer
  summary and print instruction to update build_web_compilers
  dependency.

I will follow up with deletions, and a rename of the test configurations/
builders to reclaim the names (ddc vs ddk, dartdevc vs dartdevk).

Issue #38777

Change-Id: I1477f0274b6b7f345a5e19d2b3f93797c454a09e
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/127067
Commit-Queue: Nicholas Shahan <nshahan@google.com>
Reviewed-by: Mark Zhou <markzipan@google.com>
Reviewed-by: Sigmund Cherem <sigmund@google.com>
2019-12-09 22:11:22 +00:00
Régis Crelier 8894b88467 [VM/nnbd] Implement syntactic type equality.
Legacy types are considered equal to their non-nullable variant.
Type hash is modified to be consistent with the new definition.

Change-Id: If90f7f13cf77e519d5b90b57d9dbf4988f71be13
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/126283
Commit-Queue: Régis Crelier <regis@google.com>
Reviewed-by: Alexander Markov <alexmarkov@google.com>
2019-12-09 18:18:59 +00:00
Alexander Thomas cb94390c63 [infra] Improve efficiency of cloning the Flutter repositories
Sometimes the flutter-analyze builder is flaky because cloning Flutter
exhausts the "short term ls-remote rate limit". "--single-branch"
reduces how many remotes need to be fetched.

Also in this CL:
* Use dart.googlesource.com.
* Apply the same changes to the flutter-frontend builder.

Error example:
https://logs.chromium.org/logs/dart/buildbucket/cr-buildbucket.appspot.com/8894556948308224672/+/steps/analyze_flutter/0/stdout

Change-Id: I50df781a652602c7dd1b40b938c558b04bd3f86f
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/127642
Reviewed-by: Jonas Termansen <sortie@google.com>
2019-12-09 17:50:04 +00:00
William Hesse dd7499dd22 Revert "[infra] Try to handle failing to restore the crash resource limit instead."
This reverts commit 225682f868.
The reverted commit is reviewed at
https://dart-review.googlesource.com/c/sdk/+/127164

An added check for None from this change is kept, and not reverted.

Revert "[infra] Temporarily disable exception for invalid core pattern"

This reverts commit 1a41670ed0.
The reverted commit is reviewed at
https://dart-review.googlesource.com/c/sdk/+/127163

These commits were temporary workarounds for a change in swarming
that changed the core_pattern for linux core dumps.
That change is reverted, and the workarounds should be removed.
See issue https://bugs.chromium.org/p/chromium/issues/detail?id=1030546

Closes: https://github.com/dart-lang/sdk/issues/39662
Bug: https://bugs.chromium.org/p/chromium/issues/detail?id=1030546
Change-Id: Idf41549f02df7918e9fb0704b0f4dd7cad6ddcf3
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/127461
Reviewed-by: Jonas Termansen <sortie@google.com>
2019-12-09 08:45:23 +00:00
Sigmund Cherem 16bc1806ea (html) remove type parameter from callback argument
This was a case missed when fixing #33891, and fixes #36798

Change-Id: I96e177a7d8020635e191d829afdec45f888658a9
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/127500
Reviewed-by: Alan Knight <alanknight@google.com>
Reviewed-by: Sigmund Cherem <sigmund@google.com>
Commit-Queue: Sigmund Cherem <sigmund@google.com>
2019-12-06 19:02:02 +00:00
Jonas Termansen ae14121ce7 [benchmark] Test addition of the whole d8 directory to builds.
Change-Id: I152c86b3e0e48944940291b8f2c0c5a20f9a4c1b
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/127142
Reviewed-by: Stephen Adams <sra@google.com>
2019-12-05 12:29:31 +00:00
Jonas Termansen 225682f868 [infra] Try to handle failing to restore the crash resource limit instead.
Bug: #39662
Change-Id: Ib7401e050f7cc778ef3c020f2dbf5a7c46addde3
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/127164
Reviewed-by: William Hesse <whesse@google.com>
Reviewed-by: Karl Klose <karlklose@google.com>
2019-12-05 10:30:03 +00:00
Karl Klose 1a41670ed0 [infra] Temporarily disable exception for invalid core pattern
Bug: #39662
Change-Id: I68654fcbc819e0f63f57b4f68c8934969aca6858
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/127163
Reviewed-by: Jonas Termansen <sortie@google.com>
2019-12-05 09:46:09 +00:00
Karl Klose 7c3b2b75c8 [infra] Fix deflaking in test.dart
Change-Id: I6f04d41097defa889fe62566f675ec834a3f0a52
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/126642
Auto-Submit: Karl Klose <karlklose@google.com>
Reviewed-by: William Hesse <whesse@google.com>
Commit-Queue: Karl Klose <karlklose@google.com>
2019-12-04 08:39:09 +00:00
Alexander Thomas 1392d61c9b [infra] Modify 2.7.0 make_version hack so that it also works on other branches
The logic only worked on the 'be' branch but if Flutter uses a dev branch hash
they would get a dev release version rather than the hardcoded 2.7.0 version.

Change-Id: I6be3b3a115a10dfb6e2a6d1407d27f96c6d88396
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/126823
Reviewed-by: Siva Annamalai <asiva@google.com>
2019-12-02 18:56:41 +00:00
Alexander Thomas 46a5f35da7 [infra] Bump VERSION to 2.8.0
Change-Id: I7a984bdaccab42ab908624e88e066e6e9fb3840a
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/126840
Reviewed-by: Jens Johansen <jensj@google.com>
Commit-Queue: Alexander Thomas <athom@google.com>
2019-12-02 13:58:47 +00:00
William Hesse 05406716bd [infra] Add count of test result messages sent to Pub/Sub
Cut message size in half, to help address timeouts when processing messages.

Bug: https://github.com/dart-lang/dart_ci/issues/46
Change-Id: I3eb7470c7ae31297ed7ecf4879206a5c26b48b22
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/126651
Reviewed-by: Alexander Thomas <athom@google.com>
2019-12-02 09:48:15 +00:00
Jonas Termansen 47ce35faf8 [benchmark] Exclude large front end tests and fix tensorflow exclusion.
This change updates tools/bots/try_benchmarks.sh to exclude the front_end
testcases directory, which contains very large binary files (186 MB) that
are not needed to run benchmarks. It also fixes the exclusion pattern for
the very large tensorflow language models (116 MB) that moved to another
directory.

While here, also synchronize back the removal of the profile tarball step
which was removed 3 months ago.

Change-Id: I76260eaf8db95d59be3b57eaecc86548c9d21b9c
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/126723
Reviewed-by: Martin Kustermann <kustermann@google.com>
2019-11-29 13:17:53 +00:00
Erik Ernst 521b168441 [co19] Add tests/co19_2/co19_2-co19.status to test_matrix.json
Change-Id: Ib6f63726dea188114131aae0b406c77c59c8f767
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/125966
Commit-Queue: Erik Ernst <eernst@google.com>
Reviewed-by: Alexander Thomas <athom@google.com>
2019-11-21 14:50:55 +00:00
Paul Berry b431b2fb0d Point analyzer NNBD bot to language rather than language_2
Change-Id: I0672163cb355b06dbd970d744955816b6d43ee0f
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/125766
Commit-Queue: Paul Berry <paulberry@google.com>
Commit-Queue: Bob Nystrom <rnystrom@google.com>
Auto-Submit: Paul Berry <paulberry@google.com>
Reviewed-by: Bob Nystrom <rnystrom@google.com>
2019-11-20 21:50:15 +00:00
Martin Kustermann 635aaa8adf [vm/dart2native] Bundle product-mode vm_platform.dill with the dart-sdk and let dart2native use it
Currently we bundle only one platform file, which dart2native uses as
well as other tools. Since the platform file has annotations already
evaluated, our AOT compiler ends up including service related
functionality in the AOT snapshot.

This CL bundles the product-mode vm_platform.dill as well, which will
reduce dart2native-created apps slightly.

Change-Id: I223811b30704cde1739739d97a8ea2d34a681292
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/125665
Commit-Queue: Martin Kustermann <kustermann@google.com>
Reviewed-by: Clement Skau <cskau@google.com>
2019-11-20 16:50:09 +00:00
Paul Berry 5eb0d5979a Add new bot configuration for analyzer NNBD
Change-Id: Iadc5d79cf5fb1bbf0d5c8f459770995751616cc0
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/125540
Commit-Queue: Paul Berry <paulberry@google.com>
Reviewed-by: Sigmund Cherem <sigmund@google.com>
Reviewed-by: Bob Nystrom <rnystrom@google.com>
2019-11-19 00:33:23 +00:00
Samir Jindel 6a8aae0095 [vm] Enable Dart VM to run in QEMU user-mode emulation for ARM.
Normally we consult /proc to determine the host architecture. However, this
reports the actual host architecture, not the QEMU-simulated one.

Also, GDB cannot debug position-independent executables in QEMU, so we disable
PIE when compiling for execution in QEMU.

Pass '--use-qemu' to 'gn.py' to build for QEMU.

Change-Id: Ib125127ceb0582b66754cfc0da22e09d224ee1e9
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/125267
Commit-Queue: Samir Jindel <sjindel@google.com>
Reviewed-by: Martin Kustermann <kustermann@google.com>
2019-11-18 16:58:53 +00:00
Karl Klose 696069c9a2 [infra] test.dart: Download build results while running the tests
Change-Id: Ieb92069e08d9a1df8e0692b27086616b4d71e66e
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/124329
Commit-Queue: Karl Klose <karlklose@google.com>
Reviewed-by: William Hesse <whesse@google.com>
2019-11-18 10:07:03 +00:00
Liam Appelbe 329d0913ca [vm] Late modifier for non-final local variables.
I also added a test for top level late variables (they already worked).

Bug: https://github.com/dart-lang/sdk/issues/38841
Change-Id: I6720e6476a067c7f8b21a34b87b23ab14fc866a8
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/125224
Commit-Queue: Liam Appelbe <liama@google.com>
Reviewed-by: Alexander Markov <alexmarkov@google.com>
Reviewed-by: Régis Crelier <regis@google.com>
2019-11-15 23:03:16 +00:00
Erik Ernst d290f1cec2 Add nonfunction-type-aliases experimental flag
Change-Id: I203af5227ecfee8c9e6b0f4985f68e38a18553c0
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/125203
Commit-Queue: Erik Ernst <eernst@google.com>
Reviewed-by: Dmitry Stefantsov <dmitryas@google.com>
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
2019-11-15 17:04:15 +00:00
Sigmund Cherem d2c63991ae Improve NNBD testing support
The goal of this change is to make it possible to start iterating on nnbd tests
for DDC. This keeps the current philosophy of keeping NNBD and non-NNBD build
configurations separate, except that NNBD builds are allowed to consume library
sources from the non-nnbd sdk.

This change addresses the first set of errors that are encountered when trying
to build a fully NNBD configuration:
  * CFE has issues with type promotion, for that reason we remove
    `--enable-experiment=non-nullable` in vm build rules, and we use a smaller
    training data when creating the dartdevc app-jit snapshot.
  * We'd hit compile-time errors with nnbd libraries with inconsistent
  patchfiles. To avoid that, the libarries.json points to the non-nnbd SDK
  sources for most dart:* libraries.

Change-Id: Ie6226b3bd8a92b4a1632dd84a5db2f04238fd4f8
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/125080
Commit-Queue: Sigmund Cherem <sigmund@google.com>
Reviewed-by: Bob Nystrom <rnystrom@google.com>
2019-11-14 18:28:20 +00:00
Liam Appelbe 782b048625 Bump the ABI version
Change-Id: I1d691f3814ab7b3161802242e6ce09d26f97bc9a
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/124840
Reviewed-by: Siva Annamalai <asiva@google.com>
Commit-Queue: Liam Appelbe <liama@google.com>
2019-11-11 23:05:49 +00:00
Wink Saville bbdb7860f6 [build]: Build on Arch Linux with python 2.7-3.8
This change allow builds to succeed on Arch Linux with python 2.7, 3.7.4
and 3.8. Otherwise it fails with python 3.7.4 and 3.8.

- bin_to_assembly.py

  Using ord(byte) here is an error on python 3.x use a conditional
  expression instead.

- create_archive.py

  Using ord(byte) here is an error on python 3.x use a conditional
  expression instead.

  Use `as inst` syntax which is required by 3.x

- create_string_literal.py
- gen_library_src_paths.py

  Use `as inst` syntax which is required by 3.x

- make_version.py

  print >> sys.stderr syntax is not supported by 3.x use file=sys.stderr
  and add `from __future__ import print_function`

  vmhash.update requires a string use encode('utf-8')

  versopm+cc+text.replace requires a str so use `decode`.

Test: No added tests as there are no behavioral changes.
Change-Id: Id9b0a3187d06ad2b2dce3cf2244144393caddc9a
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/124211
Commit-Queue: Alexander Thomas <athom@google.com>
Reviewed-by: Alexander Thomas <athom@google.com>
2019-11-10 21:09:58 +00:00
Karl Klose ec0d042955 [infra] Support multiple named configurations in test infrastructure
This change allows to run test.dart and pkg/test_runner with multiple arguments
for the -n option to run tests for multiple configurations with one invocation.

Change-Id: If62e0bfc364460fa415c7f700f7e449b0de56987
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/122395
Commit-Queue: Karl Klose <karlklose@google.com>
Reviewed-by: William Hesse <whesse@google.com>
2019-11-08 08:06:36 +00:00
Alan Knight 752bbce46f Copy dart:html files to sdk_nnbd automatically and opt out
Change-Id: I78ab534da123afb12a31681b47ba1f2fb9567992
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/124202
Reviewed-by: Nicholas Shahan <nshahan@google.com>
Commit-Queue: Alan Knight <alanknight@google.com>
2019-11-06 23:59:33 +00:00
Liam Appelbe 1f8ef384d9 [vm] First pieces of late modifier implementation.
This implements the logic for initializing, getting, and setting
non-final instance fields that have initializers. It doesn't address
statics, finals, local variables, or the no-initializer case, and is
only implemented for bytecode.

Bug: https://github.com/dart-lang/sdk/issues/38841
Change-Id: I3b9e2772abdc04e3bfede56d2fcf06738f234cbb
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/122489
Commit-Queue: Liam Appelbe <liama@google.com>
Reviewed-by: Régis Crelier <regis@google.com>
Reviewed-by: Alexander Markov <alexmarkov@google.com>
2019-11-05 19:48:03 +00:00
Martin Kustermann ab5cf0f854 [vm] Ensure create_sdk GN build has working dart2native iff AOT is supported
This CL

   * adds a GN flag "include_dart2native" off by-default (switched on explicitly for our GN build)
   * ensures every GN build of the "create_sdk" target has a working dart2native (except ia32)
   * removes not-working dart2native script from ia32 dart-sdk (no AOT support in ia32)
   * removes the "dartaotruntime" GN target, since it is the same as "dart_precompiled_runtime"

This should ensure every downstream consumer of the "create_sdk" GN target will
have a working version of dart2native.

For the particular "dart-sdk" we create on dart-sdk-{linux,windows,mac}
we will override the default AOT compiler&runtime with the product mode,
which produces smaller AOT snapshots and has smaller AOT runtime (making
the native executables significantly smaller)

Change-Id: Ib5042589297cdb055c41dc56abdff86a4612ef5c
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/123724
Commit-Queue: Martin Kustermann <kustermann@google.com>
Reviewed-by: Michael Thomsen <mit@google.com>
2019-11-04 12:01:56 +00:00
Alexander Thomas d2bd6df607 [infra] Update make_version.py hack for Flutter for 2.7.0
This prolongs the make_version.py hack for Flutter for the 2.7.0 Dart
release.

Change-Id: Ic8324461b195be65a7c3afd3bb34c7f186b29657
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/122501
Reviewed-by: Siva Annamalai <asiva@google.com>
Auto-Submit: Alexander Thomas <athom@google.com>
Commit-Queue: Alexander Thomas <athom@google.com>
2019-11-04 11:33:43 +00:00
Régis Crelier df678dbec0 [VM/nnbd] Introduce type Never in VM and bytecode.
Introduce enum NNBDMode for subtype test checking mode.

Change-Id: Id9c39ee8c975c664ac58e313b7dd05e6e219dfc1
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/123557
Reviewed-by: Ryan Macnak <rmacnak@google.com>
Reviewed-by: Alexander Markov <alexmarkov@google.com>
Commit-Queue: Régis Crelier <regis@google.com>
2019-11-01 00:43:59 +00:00
Paul Berry 499815842c Create a package to hold code shared between front_end and analyzer.
Previously such shared code was in the front_end package, but that
created problems because there is a lot of code in front_end that
isn't intended to be shared with the analyzer (including, notably, the
dependency on kernel).

This CL just moves over the flow_analysis logic to the new shared
package.  Follow-up CLs will move over other shared logic and tests.
The end goal is that the analyzer package will no longer have a
dependency on front_end.

Change-Id: I5642d6565204422d79808ca47648462db85e442a
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/123624
Reviewed-by: Jens Johansen <jensj@google.com>
2019-10-31 13:05:53 +00:00
Nicholas Shahan f99a28407f [dartdevc] Temporarily run NNBD tests with a "hybrid" SDK
- Adds a temporary modular test suite to prevent regressions on NNBD tests.
- New modular tests build the standard SDK with the dart:_runtime library from
  the NNBD fork.
- Unblocks DDC development while the forked SDK is in a state that does not
  build.

Change-Id: If422f5d19237f9d11e26aad503f1be960b331c57
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/123541
Reviewed-by: Mark Zhou <markzipan@google.com>
Commit-Queue: Nicholas Shahan <nshahan@google.com>
2019-10-30 20:10:13 +00:00
Régis Crelier efb4511916 [VM/nnbd] Propagate nullability info on types from kernel to VM and bytecode.
Change-Id: I2f2b5819a58d55b60aaf82418e0d2feaad4aaa32
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/121414
Reviewed-by: Alexander Markov <alexmarkov@google.com>
Reviewed-by: Ryan Macnak <rmacnak@google.com>
Commit-Queue: Régis Crelier <regis@google.com>
2019-10-29 23:39:36 +00:00
Samir Jindel c885bdde1d [vm] DBC is obsolete. Remove dead code.
Change-Id: Ica33af158cca53c8e951e4b2582de83660e8a60d
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/121851
Commit-Queue: Samir Jindel <sjindel@google.com>
Reviewed-by: Martin Kustermann <kustermann@google.com>
2019-10-27 18:18:29 +00:00
Alexander Markov 5e44c0b016 [test tool] Enable dart:mirrors support on vm-dartkb-*-simarm64 bots
In order to support Dart annotations (available through dart:mirrors),
bytecode options should include 'annotations' flag.

Several lib_2/mirrors tests start to pass on vm-dartkb-*-simarm64
bots after this change.

There are two new failures on vm-dartkb-*-simarm64 bots which matches
the behavior of other bots (due to https://github.com/dart-lang/sdk/issues/39077).

Change-Id: Ie2dcdc66f7ee95b33537294663eaa96014bf881f
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/122703
Commit-Queue: Alexander Markov <alexmarkov@google.com>
Reviewed-by: Ryan Macnak <rmacnak@google.com>
Reviewed-by: Alexander Thomas <athom@google.com>
2019-10-25 18:02:57 +00:00
Alexander Thomas e62c7ae3bb [infra] Add legacy AST mode builder to the test-matrix.json
This also removes the now redundant bytecode testing from the dartkb
builders.

Replace the useKernelBytecode boolean option with a more flexible
genKernelOptions string list option.

See also See also https://dart-review.googlesource.com/c/sdk/+/122321/ for the
corresponding Luci config updates.

Change-Id: Iabb207bc02637b758c42c00ae9175bd52f46559f
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/122320
Reviewed-by: Alexander Markov <alexmarkov@google.com>
Reviewed-by: Martin Kustermann <kustermann@google.com>
2019-10-25 15:11:00 +00:00
Johnni Winther 22856e5d86 [infra] Bump VERSION to 2.7.0
TBR=whesse@google.com

Change-Id: Id73807b571056de253f7bced407402fa9a6d9181
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/122800
Reviewed-by: Johnni Winther <johnniwinther@google.com>
Reviewed-by: Alexander Thomas <athom@google.com>
Reviewed-by: William Hesse <whesse@google.com>
Commit-Queue: Johnni Winther <johnniwinther@google.com>
2019-10-25 09:37:34 +00:00
Erik Ernst 6826faf583 Update spec_parser.
Update spec_parser to enable configurableUri in deferred imports,
make cascade syntax compositional, include `extension` declarations,
add `late` as a built-in identifier, and reorder the lexical rules for
single words such that they are grouped into reserved words, built-in
identifiers, and "other words known by the grammar".

Cf. language issue #615, #627, #628, #638.

Change-Id: If60b2ba2ca0e7d4bbc9b4e886857f657fb14c809
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/121991
Reviewed-by: Lasse R.H. Nielsen <lrn@google.com>
Commit-Queue: Erik Ernst <eernst@google.com>
2019-10-25 08:57:44 +00:00
Karl Klose cde9ff36e5 [infra] Remove workaround for changed step name
Change-Id: Ieb8aa6bdb190cbb9deb59b5eba50665c6bfe816e
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/122393
Reviewed-by: Jonas Termansen <sortie@google.com>
Commit-Queue: Karl Klose <karlklose@google.com>
2019-10-24 07:38:23 +00:00
Nicholas Shahan eaac08be3a [dartdevc] Setup NNBD weak mode test configuration
- Copy the strong mode subtype test and change the requirement to weak mode.
  Later commits will update the test to add extra weak mode expectations.
- Update the normalization tests to run in both modes.

Change-Id: I5ccff181f12756aab003c2e6db43b52ead257b19
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/122589
Reviewed-by: Sigmund Cherem <sigmund@google.com>
Commit-Queue: Nicholas Shahan <nshahan@google.com>
2019-10-23 20:58:47 +00:00
Ryan Macnak 635c47b1c9 Reland "Update BoringSSL to 4dfd5af70191b068aebe567b8e29ce108cee85ce."
This reverts commit 7eeaeade6b.

Change-Id: I6e2d9f5b3f9a43b70db321d15c81e568857f303e
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/122488
Reviewed-by: Alexander Aprelev <aam@google.com>
Reviewed-by: Jonas Termansen <sortie@google.com>
Commit-Queue: Ryan Macnak <rmacnak@google.com>
2019-10-23 18:08:16 +00:00
Martin Kustermann e82fedc345 [vm] Remove deprecated (and untested) ARMv5 support from the VM
Since we have no CQ/CI test coverage of ARMv5 and none of our customers
uses it, a breaking change request was made (see issue further down).

The breaking change has been approved and a corresponding email has been
sent out:

https://groups.google.com/a/dartlang.org/forum/?nomobile=true#!topic/announce/vRQja7di3FQ

This CL removes any armv5 related code from our codebase.

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

Change-Id: I9abf32f1980ca19a9cf882b43c9966b2127f89e3
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/122540
Reviewed-by: Ryan Macnak <rmacnak@google.com>
Commit-Queue: Martin Kustermann <kustermann@google.com>
2019-10-23 14:44:33 +00:00
Ryan Macnak 6a65ea9cad [vm] Remove shared snapshot and reused instructions features.
Shared snapshots have been disused by Fuchsia deduping.
Reused instruction has been disused by Flutter code push.

Change-Id: Ia4cb570935c233a9365d521ca04a477c5550ef83
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/122421
Commit-Queue: Ryan Macnak <rmacnak@google.com>
Reviewed-by: Martin Kustermann <kustermann@google.com>
2019-10-22 19:02:26 +00:00
Karl Klose 5814319bf9 [infra] Remove support for run.json
Change-Id: I5d8b02df2d2dad6b53e6365a9d004bed07f4c59f
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/122387
Reviewed-by: Alexander Thomas <athom@google.com>
Commit-Queue: Karl Klose <karlklose@google.com>
2019-10-22 11:40:14 +00:00
Nicholas Shahan 199a42f3c1 [dartdevc] Cache the results of subtype checks
- Save the canonical instance of a nullable or legacy types on the canonical
  instance of the non-nullable type.
- Add additional normalization when creating nullable and legacy types.

Issue: #38109
Change-Id: I1132917965db3b00f87b891a0800da46e2cc6b3d
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/122061
Commit-Queue: Nicholas Shahan <nshahan@google.com>
Reviewed-by: Leaf Petersen <leafp@google.com>
2019-10-21 19:59:18 +00:00
Nicholas Shahan 2495c5ca9f [html] Avoid dynamic in Rectangle operator ==
* Rely on type promotion instead.
* The is! type promotion isn't working in the CFE yet.

Change-Id: Ia4c8b4bcbac50cd0ab07c60f7440ef3837675b7a
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/122179
Commit-Queue: Nicholas Shahan <nshahan@google.com>
Reviewed-by: Sigmund Cherem <sigmund@google.com>
2019-10-21 19:40:18 +00:00
Jonas Termansen 7b39f438ed [benchmark] Test that precompiler2 --no-gen-bytecode continues to work.
Change-Id: I3819c5a4dd6b4df96bc34322432aeb078ab2724f
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/122151
Reviewed-by: Alexander Markov <alexmarkov@google.com>
Reviewed-by: Siva Annamalai <asiva@google.com>
2019-10-21 17:21:40 +00:00
Karl Klose 74d0282179 [infra] Run test suites in pkg/front_end/test with custom test runner
Some tests in pkg/frontend/test are actually test suites written using the
pkg/testing framework.

This change runs these suites using a custom test runner instead of simply
running the test file, which makes the individual test results, timings and
logs available to the test system.

Change-Id: Iae5f37d9bd1b3e9b26c66443fe10e5cca6a6b6bf
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/118540
Commit-Queue: Karl Klose <karlklose@google.com>
Reviewed-by: Jonas Termansen <sortie@google.com>
Reviewed-by: Johnni Winther <johnniwinther@google.com>
2019-10-21 09:03:19 +00:00
Karl Klose 6b19f37b5a [infra] Change option name in modular test runner to be consistent with test.py
Change-Id: I16baa346daceb8f8c9c807f17ea587f68b227909
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/121301
Reviewed-by: Sigmund Cherem <sigmund@google.com>
Commit-Queue: Karl Klose <karlklose@google.com>
2019-10-21 08:13:44 +00:00
Karl Klose 15ec4a3803 [infra] Make front_end tests unapprovable using a blacklist
Before, the front_end tests were run in a step disguised as not using test.py so that the test results would not be analzyed and could not be approved.

This CL uses a blacklist instead to prevent approve_results.dart from appoving failures in these tests.

Change-Id: I9c4d1f236e3cde3143e3092100a5553caf4b1487
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/116781
Commit-Queue: Karl Klose <karlklose@google.com>
Reviewed-by: Jonas Termansen <sortie@google.com>
2019-10-21 07:22:04 +00:00
Martin Kustermann 62283b9d3f [vm] Bump ABI version to make vm-dartkb-linux-release-x64-abi green again
Change-Id: I214d850206e103265fcbd213899d615f9cab7afc
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/121990
Reviewed-by: Martin Kustermann <kustermann@google.com>
2019-10-17 18:19:10 +00:00
Nicholas Shahan ba728b1368 [dartdevc] Copy nnbd subtype test to run on nnbd strong configurations
Remove shards from builder configuration for now because there is currently only
one test.

Change-Id: I5dcce5601ed46e36b28f9cab9bede1d81c1a42ba
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/121865
Reviewed-by: Ben Konyi <bkonyi@google.com>
Commit-Queue: Nicholas Shahan <nshahan@google.com>
2019-10-17 17:10:22 +00:00
Ryan Macnak ecd7977928 [vm] Fix gcc build.
Change-Id: I8a0a9a695403dc6d048dccb9f33642d70cc5d588
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/121866
Reviewed-by: Liam Appelbe <liama@google.com>
Commit-Queue: Ryan Macnak <rmacnak@google.com>
2019-10-17 16:51:32 +00:00
Ben Konyi 0b045aea2b [ VM ] Removed tests/standalone along with any references in build bot / test runner configurations
Deleted irrelevant tests and migrated valid tests to Dart 2

Change-Id: If37611e051b7e2f128c53267f606d480d7fe23a5
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/121902
Commit-Queue: Ben Konyi <bkonyi@google.com>
Reviewed-by: Siva Annamalai <asiva@google.com>
Reviewed-by: Ryan Macnak <rmacnak@google.com>
2019-10-17 00:41:16 +00:00
Alexander Markov 17a5460b49 [vm] Add --no-bytecode gn option
This change introduces --no-bytecode gn option. Currently it does
nothing, but when bytecode is enabled by default, this option would
disable it. This option is needed to start setting up bots which would
continue testing of no-bytecode mode when bytecode is enabled by default.

Change-Id: I02ac759d8fe8b0b682115dde971fbd59bfbac917
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/121822
Reviewed-by: Ryan Macnak <rmacnak@google.com>
Reviewed-by: Alexander Thomas <athom@google.com>
Commit-Queue: Alexander Markov <alexmarkov@google.com>
2019-10-16 16:32:05 +00:00
Nicholas Shahan 2e23776552 [dartdevc] Add new bot configuration for nnbd strong
At this time I have a single test in another cl designed to run with the nnbd
fork of the SDK in strong checking mode so I'm creating this single
configuration for that purpose. As I understand, all other tests that do not
require nnbd-strong will be skipped on this configuration.

I can expand this into more configurations when we have more tests coming online.

I don't think it is important to run these on all OS/browsers at the moment.

Issue: #38665
Change-Id: I284691022c1505d8a6e388fbc1b75f0074cc7164
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/121652
Commit-Queue: Nicholas Shahan <nshahan@google.com>
Reviewed-by: Alexander Thomas <athom@google.com>
2019-10-15 22:50:53 +00:00
Clement Skau 0cada76a06 [SDK] Removes dart2aot.
Bug: https://github.com/dart-lang/sdk/issues/38834
Change-Id: Iff1247186271643ea557a0aaec1e6b8438676c59
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/121706
Auto-Submit: Clement Skau <cskau@google.com>
Reviewed-by: Martin Kustermann <kustermann@google.com>
2019-10-15 17:53:38 +00:00
Sam Rawlins f9648cb477 Fix doc comment for Element.animate
Change-Id: Iace87105cf2a1fa4aacc579b07c9760329c7d160
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/119420
Auto-Submit: Samuel Rawlins <srawlins@google.com>
Reviewed-by: Terry Lucas <terry@google.com>
Commit-Queue: Samuel Rawlins <srawlins@google.com>
2019-10-15 17:36:52 +00:00
St?phane Este-Gracias d22f5122a1 Support Linux ARM on homebrew
I forgot ARM architecture in previous PR ( #38512 )

Thanks to @eji for reporting

Closes #38893
https://github.com/dart-lang/sdk/pull/38893

GitOrigin-RevId: 8378fb1caa1c47312c7234e807c67f591b18cd85
Change-Id: Idaa49f0e4cc38bd58a91c4a2430a893ff0dc029c
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/121740
Reviewed-by: Alexander Thomas <athom@google.com>
2019-10-15 14:13:54 +00:00
Alexander Markov 3c3bd8d7c9 [vm,aot,bytecode] Support obfuscation
In order to support obfuscation, string constants are decoupled
from public names in bytecode (names are obfuscated, but string
constants aren't). List of protected names is written in a separate
section in bytecode component.

Obfuscator is extended to support getter and setter
names coming from bytecode.

Change-Id: I8e8d820d1a8b97e32e8ad1b064b827bdb017430b
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/121261
Commit-Queue: Alexander Markov <alexmarkov@google.com>
Reviewed-by: Régis Crelier <regis@google.com>
Reviewed-by: Ryan Macnak <rmacnak@google.com>
2019-10-14 18:12:29 +00:00