Commit Graph

473 Commits

Author SHA1 Message Date
Alexander Markov 4054a9edf4 [Test tool] Remove -c dartkb configuration
Change-Id: I178f18484b853aa35248fa9f6252509ec0df6832
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/169500
Auto-Submit: Alexander Markov <alexmarkov@google.com>
Commit-Queue: Alexander Thomas <athom@google.com>
Reviewed-by: Alexander Thomas <athom@google.com>
2020-11-02 14:06:19 +00:00
Leaf Petersen a6faf8f2f9 [Language] Enable null safety in Dart 2.12.
Closes https://github.com/dart-lang/sdk/issues/22

Change-Id: I662dd17fda0ff62a871314896fbf1dbe220f41de
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/166790
Reviewed-by: Johnni Winther <johnniwinther@google.com>
Commit-Queue: Leaf Petersen <leafp@google.com>
2020-10-29 18:25:56 +00:00
Robert Nystrom 7d764a6b3a Get the observatory tests correctly opting out of sound null safety.
Fix #43881.

Change-Id: Iebb3ac501f09a4eb6220d5232ff71514938f7e10
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/169255
Auto-Submit: Bob Nystrom <rnystrom@google.com>
Commit-Queue: Leaf Petersen <leafp@google.com>
Reviewed-by: Leaf Petersen <leafp@google.com>
2020-10-28 05:17:17 +00:00
Alexander Thomas 342f9f0d3c [infra] Run co19_2 tests on vm-kernel-win-release-x64
This will provide a baseline to compare co19 tests against on Windows.

Cq-Include-Trybots: luci.dart.try:vm-kernel-win-release-x64-try
Change-Id: I543f9b5d44845e3596312b1b6858697f1fc9dfc2
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/167571
Reviewed-by: William Hesse <whesse@google.com>
2020-10-15 06:56:08 +00:00
Stephen Adams d5e790b2b1 [dart2js] Add golden function codegen tests
As with other 'id_equivalence' tests, the information can be generated
via the '-g' flag.

Bug: 43778
Change-Id: I316d539f7575e349dc55ecb564de7b65f0f21575
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/167480
Commit-Queue: Stephen Adams <sra@google.com>
Reviewed-by: Joshua Litt <joshualitt@google.com>
2020-10-14 22:32:38 +00:00
Ryan Macnak 37ed87b038 [vm, service, observatory] Bang Bang (My Type System Shot Me Down).
Port the service tests and Observatory to Dart 3.

Change-Id: I8a8b20d8f90acd3b5f741c93f10ba99971aa0c52
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/154825
Commit-Queue: Ryan Macnak <rmacnak@google.com>
Reviewed-by: Ben Konyi <bkonyi@google.com>
2020-10-14 18:16:27 +00:00
Alexander Thomas bebfd106da [infra] Add analyzer NNBD macOS and Windows builders to the test matrix
https://github.com/dart-lang/sdk/issues/43463

Change-Id: Ibba0f6738714d2b2917613bcfc70f31c95527f1a
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/166423
Reviewed-by: Karl Klose <karlklose@google.com>
2020-10-08 08:31:23 +00:00
Karl Klose 6aa5e78819 [infra] Do not print all test results in front-end unit tests
Change-Id: I0236a0587882ecfe4ad33b094e5d6dd26e08dad2
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/166104
Reviewed-by: Jens Johansen <jensj@google.com>
Commit-Queue: Karl Klose <karlklose@google.com>
2020-10-06 12:06:54 +00:00
Alexander Thomas c3d37c1ad6 [infra] Add additional nnbd VM builders
See also Luci configuration here:
https://dart-review.googlesource.com/c/sdk/+/164084

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

Change-Id: I071c8c6055004574cbe35f14a28e0cd8c468988f
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/164164
Reviewed-by: William Hesse <whesse@google.com>
2020-09-29 09:57:44 +00:00
Alexander Thomas c34eef4fd8 [testing] Simplify test.py arguments for null safety testing
test.py invocations that specify a null safety mode will now work
without tool specific options.

For instance, `test.py --nnbd=strong -cdartkp -mrelease` will now add
the `non-nullable` experiment flag as well as the pass
`--sound-null-safety` to the relevant subcommands.

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

Change-Id: I1ae5bf569cc77ed6f26411c171c2cafe0a12eaff
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/164160
Reviewed-by: Bob Nystrom <rnystrom@google.com>
Commit-Queue: Alexander Thomas <athom@google.com>
2020-09-24 08:49:00 +00:00
Alexander Thomas 2e9d36f679 [infra] Remove --bytecode from simarm_x64 builders
Cq-Include-Trybots: luci.dart.try:vm-kernel-precomp-linux-debug-simarm_x64-try,vm-kernel-precomp-linux-release-simarm_x64-try
Change-Id: I83360ff8abecb6a21180dc86458cc624c8d4f109
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/164091
Reviewed-by: Martin Kustermann <kustermann@google.com>
2020-09-23 14:25:43 +00:00
Alexander Thomas 6fa4ec9482 [infra] Remove obsolete AST test configurations
Change-Id: I35ed455d985b2f8fd278e708bd174ea2eb8861ab
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/164090
Reviewed-by: William Hesse <whesse@google.com>
Commit-Queue: William Hesse <whesse@google.com>
2020-09-23 14:24:57 +00:00
Alexander Thomas 15dc3100cc [infra] Remove dartkb from the test matrix
The corresponding builders have already been removed.

Change-Id: Idf74d7ba728107418b60692f00fc2d2fda0f86d7
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/164086
Auto-Submit: Alexander Thomas <athom@google.com>
Commit-Queue: William Hesse <whesse@google.com>
Reviewed-by: William Hesse <whesse@google.com>
2020-09-23 13:19:27 +00:00
Alexander Thomas 2364105525 [infra] Increase number of shards on the CFE nnbd builders
Shards running on slower machines timed out. This will double the number
of shards giving them enough headroom to finish.

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

TBR=whesse@google.com

Change-Id: I1d12fd42fea3b19fce3900f7ecfb5e567fd720bd
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/163420
Reviewed-by: Alexander Thomas <athom@google.com>
2020-09-18 15:21:47 +00:00
Alexander Thomas 52559eb1d9 [infra] Add remaining CFE nnbd builders to the test matrix
https://github.com/dart-lang/sdk/issues/43463

Change-Id: I4156a8de90526190e1c977178f126e30d420f6e5
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/163205
Reviewed-by: William Hesse <whesse@google.com>
2020-09-17 21:23:24 +00:00
Alexander Markov a53a66b7db [bots] Add pkg/vm_snapshot_analysis to vm-kernel fileset
pkg/vm_snapshot_analysis is used in
runtime/tests/vm/dart/v8_snapshot_profile_writer_test.dart
which can run on sharded bot configurations such as
dartkp-weak-asserts-linux-release-x64.

Change-Id: Ie843a38069394f42be79b432d8a71bbf6d472073
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/159322
Commit-Queue: Alexander Markov <alexmarkov@google.com>
Reviewed-by: Tess Strickland <sstrickl@google.com>
2020-09-16 03:08:51 +00:00
Tess Strickland 781094f2ce [vm/bytecode] Add parameter flags to FunctionDeclaration.
We create the parameter names array when loading the
FunctionDeclaration, but the required parameter flags are only set later
when we load the Code declaration. If there's an intermediate use of the
Function object that copies the required parameter flags, like creating
an ImplicitClosureFunction when loading a tearoff stored in the object
pool, there will be no set flags at that point.

Add a copy of the parameter flags to the FunctionDeclaration so the
required flags can be set at the same time as the parameter name and
type to avoid this scenario.

To avoid adding unneeded flags to the kernel bytecode, we only serialize
the parameter flags needed for each declaration, so FunctionDeclaration
and ClosureDeclaration only contain the required flag, and Code contains
all flags _but_ the required flag.

There are no trybots for strong mode + bytecode, but manually checked
by running the following on the main branch (cherry-picking the
test_matrix.json changes) and this branch:

python tools/test.py \
    -n dartkb-mixed-strong-linux-release-x64,dartkb-interpret-strong-linux-release-x64 \
    tests/language/nnbd/required_named_parameters/missing_required_argument_dynamic_test.dart

Cq-Include-Trybots: luci.dart.try:vm-dartkb-linux-release-simarm64-try,vm-dartkb-linux-release-x64-try
Change-Id: Ic75b831d5ceed08154e2c61b8f64461705558653
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/162501
Reviewed-by: Martin Kustermann <kustermann@google.com>
Commit-Queue: Tess Strickland <sstrickl@google.com>
2020-09-14 15:28:20 +00:00
sgrekhov b59cf7f006 [co19] LibTest/typed_data tests enabled
Change-Id: Id8f34fd8026d50f5678c0976c08a1f59c8b4f18e
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/160284
Reviewed-by: William Hesse <whesse@google.com>
2020-08-31 19:38:08 +00:00
Devon Carew 0fcb8f2a75 Run tools/package_deps/bin/package_deps.dart as part of the pkg release bots.
Change-Id: I698345f75ec04d10ee186455b4cf3406a0467e77
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/159762
Commit-Queue: Devon Carew <devoncarew@google.com>
Reviewed-by: Alexander Thomas <athom@google.com>
2020-08-25 20:28:23 +00:00
Devon Carew 1c21a7ff93 Analyze the Dart code in flutter/engine as part of the flutter-analyze bot.
Change-Id: I4aac6b1a018332fa2d4ed39c8b953b0e98a1b4c4
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/159761
Reviewed-by: Alexander Thomas <athom@google.com>
Commit-Queue: Devon Carew <devoncarew@google.com>
2020-08-25 15:21:30 +00:00
Devon Carew 3ce72bb994 use dartdev for analysis on the bots; fix two analysis issues
Change-Id: I83beb65396e31b58bb0ffd25984ec322f01e9b99
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/159641
Reviewed-by: Jaime Wren <jwren@google.com>
Commit-Queue: Devon Carew <devoncarew@google.com>
2020-08-21 17:24:10 +00:00
Jens Johansen 13de7e7560 [CFE] Add first stab at weekly leak test
Change-Id: Ib0307a4d82414e8387f65a9010a6f0f91827c3bb
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/157962
Commit-Queue: Jens Johansen <jensj@google.com>
Reviewed-by: Alexander Thomas <athom@google.com>
Reviewed-by: Johnni Winther <johnniwinther@google.com>
2020-08-11 09:01:29 +00:00
Liam Appelbe 79cec0e864 [vm] Delete ABI infrastructure
Change-Id: I26d455d96c87010293a6dcb9f6c0eecfcaf3c816
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/157102
Reviewed-by: Alexander Thomas <athom@google.com>
Reviewed-by: Alexander Markov <alexmarkov@google.com>
Commit-Queue: Liam Appelbe <liama@google.com>
2020-08-06 19:55:12 +00:00
Alexander Thomas 76bdb07a5e [infra] Tweak shards of AOT nnbd builders
They were sometimes timing out, or close to the 60min execution timeout.
Also moved the co19 nnbd tests with asserts to the end to ensure that is
what is running on the local shard. This should reduce wasted capacity
when waiting on shards (co19 with asserts is the slowest config).

Change-Id: I18235f1f710190aaea2021a7923ec03e7c75b595
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/157489
Auto-Submit: Alexander Thomas <athom@google.com>
Commit-Queue: William Hesse <whesse@google.com>
Reviewed-by: William Hesse <whesse@google.com>
2020-08-06 14:37:29 +00:00
Mayank Patke d5d223944e Run tests/dart2js on chrome instead of d8.
Change-Id: I331159ecec09919fe7c452ad3333bd54ed3d6afc
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/156924
Reviewed-by: Sigmund Cherem <sigmund@google.com>
Commit-Queue: Mayank Patke <fishythefish@google.com>
2020-08-04 03:38:53 +00:00
Alexander Thomas e87cb96bb8 [infra] Use ELF on VM AOT NNBD simarm64 builder
Change-Id: Ie8584ff46ecb6e818bdc8a7a5c4e1ef5f015d7c3
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/156520
Reviewed-by: William Hesse <whesse@google.com>
2020-07-30 15:19:19 +00:00
Alexander Thomas 7d15f06959 [infra] Add VM simarm64 nnbd builder to the test matrix
Also balances shards to reduce cycle time.

Change-Id: I3e6446076e29627e171a41bd53a1dd4754ce68ab
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/156187
Reviewed-by: William Hesse <whesse@google.com>
2020-07-29 10:53:36 +00:00
Alexander Thomas d19617f513 [infra] Remove ABI builder from the test matrix
This is no longer a feature we plan to support.

Change-Id: Ie916f3bbb0313c98863e360472f126c24340013d
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/156026
Reviewed-by: William Hesse <whesse@google.com>
2020-07-28 09:09:45 +00:00
Alexander Thomas 125f9e3ae8 [infra] Increase shards for co19 tests on VM AOT NNBD builder
With more co19 tests getting migrated, some shards were timing out.

Change-Id: I2e8acbf6f41cb472fc48a8bcdbf07d2387623ad1
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/156024
Reviewed-by: Karl Klose <karlklose@google.com>
2020-07-28 07:01:06 +00:00
Jonas Termansen 4c74ebb367 [benchmark] Add dartdevc-null targets.
Change-Id: I130db1cb41a3f6a4d4254cbdd6782bc5bb44c351
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/155446
Reviewed-by: Nicholas Shahan <nshahan@google.com>
2020-07-24 10:06:36 +00:00
Liam Appelbe f66eb7228a [test] Infra for running tests on Fuchsia emulator
The IO tests aren't working yet, but basic tests work:
tools/test.py -n dartk-fuchsia-debug-x64 language_2/list/literal3_test

You may need to run this first:
sudo chmod 666 /dev/kvm

Change-Id: I04915ce11f671f1d493f9eeb6bc832089ba9bfa4
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/154828
Commit-Queue: Liam Appelbe <liama@google.com>
Reviewed-by: Zach Anderson <zra@google.com>
Reviewed-by: Ryan Macnak <rmacnak@google.com>
Reviewed-by: William Hesse <whesse@google.com>
2020-07-21 19:40:15 +00:00
Ben Konyi e7b319698d [ package:dds ] Add server-sent event (SSE) support to DDS
This support is required for web clients of dwds within google3

Change-Id: Ia1ecbf8f5ba79d53cb340c83a579dc0810ec0065
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/150183
Reviewed-by: Gary Roumanis <grouma@google.com>
2020-07-15 21:30:09 +00:00
Martin Kustermann 89fe12b12a [infra] Always re-run GN in build.py
The workflow of using tools/gn.py followed-by tools/build.py is no
longer working as it used to (the latter will override whatever the
former configured).

Instead one should pick between:

  tools/gn.py & ninja
  tools/build.py

=> Both tools/gn.py and tools/build.py suport the same options.

This CL also makes tools/build.py stop using tools/generate_buildfiles.py (which
would get just overriden by the re-run of GN).

Change-Id: Ie698d7395e8c5862ae04a479c7c820c76ac5565d
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/154323
Commit-Queue: Martin Kustermann <kustermann@google.com>
Reviewed-by: William Hesse <whesse@google.com>
2020-07-15 09:01:28 +00:00
Alexander Thomas 98dec1b537 [infra] Use mac_use_goma_rbe=true on dart-sdk-mac
This uses the build feature added by:
https://dart-review.googlesource.com/c/sdk/+/139782

Bug:b/151697301
Cq-Include-Trybots: dart/try:dart-sdk-mac-try
Change-Id: Ia8e748c1b8f0bc8836d94b110e686c41d3b69094
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/153982
Auto-Submit: Alexander Thomas <athom@google.com>
Commit-Queue: William Hesse <whesse@google.com>
Reviewed-by: William Hesse <whesse@google.com>
2020-07-10 15:52:57 +00:00
Jonas Termansen 7a1d6a9942 [benchmark] run_vm_tests with kernel-service.dart.snapshot.
This change tests that run_vm_tests runs correctly when provided with
the kernel service snapshot, which is needed to run benchmarks like
UseDartApi.

Test building the kernel-service.dart.snapshot.

Change-Id: I1cb750a16e32daba2eee46e245cc7d4e7d230165
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/151395
Reviewed-by: Alexander Aprelev <aam@google.com>
2020-07-10 13:35:03 +00:00
Alexander Markov 6f6b1f8818 [vm] Rename --null-safety option to --sound-null-safety
Deprecated option --null-safety still remains in order to allow
graceful migration.

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

Change-Id: Ie47b1bebc9dd6532658a60743ecb85dc7fdc108c
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/153660
Reviewed-by: Siva Annamalai <asiva@google.com>
Reviewed-by: Régis Crelier <regis@google.com>
Commit-Queue: Alexander Markov <alexmarkov@google.com>
2020-07-09 01:37:23 +00:00
Alexander Thomas 0a77a1f63e [infra] Add VM/fuchsia builder to the test matrix
Change-Id: I9afdd14957b660ad5366f7fb58e5f341f21effee
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/152145
Reviewed-by: Liam Appelbe <liama@google.com>
Reviewed-by: William Hesse <whesse@google.com>
2020-06-25 07:20:48 +00:00
David Morgan 6bdf55f31f Revert "[vm, service, observatory] Bang Bang (My Type System Shot Me Down)."
This reverts commit 65e3c9d3b1.

Reason for revert: package:logging, package:stack_trace and package:usage need to be migrated first.

Original change's description:
> [vm, service, observatory] Bang Bang (My Type System Shot Me Down).
> 
> Port the service tests and Observatory to Dart 3.
> 
> Changes from the original landing:
> 
>  - The old tests are copied to observatory_2 / service_2 so the service can still be tested when running a legacy mode program
>  - The test harness is taught about 'service_2'
>  - Observatory's package is added to front end's opt-in list
>  - Fixed some places in the bot configuration matrix so ensure 'service' runs on legacy bots and 'service_2' on weak-mode bots
> 
> The ported tests themselves are not changed.
> 
> Change-Id: I1d7e5cc61cdc044e1985e851bea7fd8a18f7d810
> Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/149720
> Commit-Queue: Ryan Macnak <rmacnak@google.com>
> Reviewed-by: Ben Konyi <bkonyi@google.com>

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

Change-Id: I43b72f149d8d7e9fe06006cdd8593fed1726aa3a
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/152004
Reviewed-by: David Morgan <davidmorgan@google.com>
Commit-Queue: David Morgan <davidmorgan@google.com>
2020-06-23 08:06:00 +00:00
Ryan Macnak 65e3c9d3b1 [vm, service, observatory] Bang Bang (My Type System Shot Me Down).
Port the service tests and Observatory to Dart 3.

Changes from the original landing:

 - The old tests are copied to observatory_2 / service_2 so the service can still be tested when running a legacy mode program
 - The test harness is taught about 'service_2'
 - Observatory's package is added to front end's opt-in list
 - Fixed some places in the bot configuration matrix so ensure 'service' runs on legacy bots and 'service_2' on weak-mode bots

The ported tests themselves are not changed.

Change-Id: I1d7e5cc61cdc044e1985e851bea7fd8a18f7d810
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/149720
Commit-Queue: Ryan Macnak <rmacnak@google.com>
Reviewed-by: Ben Konyi <bkonyi@google.com>
2020-06-23 02:12:46 +00:00
Joshua Litt 77db092507 [dart2js] Stop running dart2js_2 suite when running unittests.
Change-Id: Icb16045bade65712dc2a8e18e960696077582f8d
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/152040
Auto-Submit: Joshua Litt <joshualitt@google.com>
Commit-Queue: Joshua Litt <joshualitt@google.com>
Commit-Queue: Sigmund Cherem <sigmund@google.com>
Reviewed-by: Sigmund Cherem <sigmund@google.com>
2020-06-22 21:28:31 +00:00
Joshua Litt d14ab0779a [dartdevc] Migrate tests/compiler/dartdevc_native to tests/dartdevc_2.
Change-Id: I9c486f29f3bcf8a6ecf481eb25ea61d0468049b2
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/150667
Commit-Queue: Joshua Litt <joshualitt@google.com>
Reviewed-by: Nicholas Shahan <nshahan@google.com>
2020-06-17 18:14:00 +00:00
Martin Kustermann 168539d61d Reland "[vm] Build dart2native dependencies with the normal "create_sdk" target"
The flutter engine DEPS got new icu/boringssl so this CL can safely
land and roll into engine. A small change is made in Patchset 1..3.

This removes special logic for creating the `dart-sdk` we distribute
which used to build release and product mode and copied some binaries
from the latter into the former, before the SDK was actuallly ready to
test and distribute.

This changes the GN build rules to build the necessary
gen_snapshot/dart_precompiled_runtime product binaries during the normal
release build.

Normally during --mode=product builds the global build config in
//build/config/BUILDCONFIG.gn will set `-fvisibility=false`.

=> Doing so results in much smaller binaries - because only explicitly
   exported symbols are visible, the rest can be tree shaken by the linker.

Since we are building --mode=release, the `-fvisibility=false` will not
be set. In order to set the flag for the 2 special product-mode binaries
we need to add -fvisibility=hidden manually, in:

  * dart_product_config: Which is used for compiling VM sources.
  * 3rd party double-conversion library
  * 3rd party boringssl library
  * 3rd party icu library

The upstream CLs are:

  * BoringSSL: https://dart-review.googlesource.com/c/boringssl_gen/+/150482
  * ICU: https://chromium-review.googlesource.com/c/chromium/deps/icu/+/2236407

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

Change-Id: I8d9b37acbb5eb94e44d97652f838948a946fd372
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/151505
Commit-Queue: Martin Kustermann <kustermann@google.com>
Reviewed-by: Alexander Thomas <athom@google.com>
2020-06-17 16:12:26 +00:00
Leaf Petersen d44457f79d [Core Libraries] Eliminate the fork in the core libraries.
Move the nnbd core libraries from sdk_nnbd to sdk, and updates
references in build files and elsewhere accordingly.

Change-Id: I09760fe1e006657aacdfe80f3b22fdf6f7e30a9f
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/151121
Commit-Queue: Leaf Petersen <leafp@google.com>
Reviewed-by: Bob Nystrom <rnystrom@google.com>
2020-06-16 23:37:36 +00:00
Martin Kustermann 21222b64c4 Revert "[vm] Build dart2native dependencies with the normal "create_sdk" target"
This reverts commit a88a328b7f.

Reason for revert: Auto roller hasn't rolled previous changes from
Dart yet. Those changes updated DEPS for icu/boringssl. We have to
wait with this CL until the DEPS changes have been done in the engine.

Original change's description:
> [vm] Build dart2native dependencies with the normal "create_sdk" target
> 
> This removes special logic for creating the `dart-sdk` we distribute
> which used to build release and product mode and copied some binaries
> from the latter into the former, before the SDK was actuallly ready to
> test and distribute.
> 
> This changes the GN build rules to build the necessary
> gen_snapshot/dart_precompiled_runtime product binaries during the normal
> release build.
> 
> Normally during --mode=product builds the global build config in
> //build/config/BUILDCONFIG.gn will set `-fvisibility=false`.
> 
> => Doing so results in much smaller binaries - because only explicitly
>    exported symbols are visible, the rest can be tree shaken by the linker.
> 
> Since we are building --mode=release, the `-fvisibility=false` will not
> be set. In order to set the flag for the 2 special product-mode binaries
> we need to add -fvisibility=hidden manually, in:
> 
>   * dart_product_config: Which is used for compiling VM sources.
>   * 3rd party double-conversion library
>   * 3rd party boringssl library
>   * 3rd party icu library
> 
> The upstream CLs are:
> 
>   * BoringSSL: https://dart-review.googlesource.com/c/boringssl_gen/+/150482
>   * ICU: https://chromium-review.googlesource.com/c/chromium/deps/icu/+/2236407
> 
> Issue https://github.com/dart-lang/sdk/issues/42230
> 
> Change-Id: I3e47664d9fadb9ed1ad033bb17d46e769442f741
> Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/150524
> Commit-Queue: Martin Kustermann <kustermann@google.com>
> Reviewed-by: Alexander Thomas <athom@google.com>
> Reviewed-by: Zach Anderson <zra@google.com>

TBR=kustermann@google.com,zra@google.com,athom@google.com,asiva@google.com

Change-Id: Ied0f2f5b58dceb2b59bc2ac6e11e5fd717c8885e
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/151382
Reviewed-by: Martin Kustermann <kustermann@google.com>
Commit-Queue: Martin Kustermann <kustermann@google.com>
2020-06-16 10:41:27 +00:00
Joshua Litt 09ea885dcd [testing] Rename dart2js filesets more generically.
Change-Id: I00b2cea7bad20837940334dadf1862b1511fd698
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/151342
Reviewed-by: Nicholas Shahan <nshahan@google.com>
Commit-Queue: Joshua Litt <joshualitt@google.com>
2020-06-16 01:20:26 +00:00
Alexander Markov badc77239a [vm/aot] Avoid unbinding canonical names in AOT transformations
AOT transformations (mixin deduplication and TFA tree shaker) were
using CanonicalName.unbind() in order to make sure that kernel
writer will not be able to write dangling references to the deleted
classes or members (to detect such dangling references earlier).

This conflicts with lazy reading from a kernel file if --from-dill
option is used: lazy reader may read a reference to such class after
unbind() and it creates a new Reference object for such canonical name.
This causes crash later when the fresh Reference is used as it doesn't
have Class node filled in.

The solution is to avoid calling CanonicalName.unbind().
Instead, it is enough to nullify node.reference.canonicalName, which
won't break CanonicalName.reference used by lazy reader.

This crash can be reproduced on tests/language_2/vm/regress_flutter_55345_test.dart
if it is compiled in AOT mode using 2-step kernel generation.

Bug: b/158853113
Change-Id: Ib2004dbbbda85d9f56adc56b48882f4ef08869a7
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/151120
Commit-Queue: Alexander Markov <alexmarkov@google.com>
Reviewed-by: Martin Kustermann <kustermann@google.com>
2020-06-15 22:00:42 +00:00
Martin Kustermann a88a328b7f [vm] Build dart2native dependencies with the normal "create_sdk" target
This removes special logic for creating the `dart-sdk` we distribute
which used to build release and product mode and copied some binaries
from the latter into the former, before the SDK was actuallly ready to
test and distribute.

This changes the GN build rules to build the necessary
gen_snapshot/dart_precompiled_runtime product binaries during the normal
release build.

Normally during --mode=product builds the global build config in
//build/config/BUILDCONFIG.gn will set `-fvisibility=false`.

=> Doing so results in much smaller binaries - because only explicitly
   exported symbols are visible, the rest can be tree shaken by the linker.

Since we are building --mode=release, the `-fvisibility=false` will not
be set. In order to set the flag for the 2 special product-mode binaries
we need to add -fvisibility=hidden manually, in:

  * dart_product_config: Which is used for compiling VM sources.
  * 3rd party double-conversion library
  * 3rd party boringssl library
  * 3rd party icu library

The upstream CLs are:

  * BoringSSL: https://dart-review.googlesource.com/c/boringssl_gen/+/150482
  * ICU: https://chromium-review.googlesource.com/c/chromium/deps/icu/+/2236407

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

Change-Id: I3e47664d9fadb9ed1ad033bb17d46e769442f741
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/150524
Commit-Queue: Martin Kustermann <kustermann@google.com>
Reviewed-by: Alexander Thomas <athom@google.com>
Reviewed-by: Zach Anderson <zra@google.com>
2020-06-15 15:17:35 +00:00
sgrekhov 68e17083b9 [co19] Enable Subtyping tests
* Skip tests that use type aliases on analyzer configurations.
* Shard co19 test more on VM AOT builder (to avoid shard timeouts).

Change-Id: I5834091e91f229242329ee9e7456ca822d18c0b5
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/151223
Reviewed-by: Alexander Thomas <athom@google.com>
2020-06-15 15:14:41 +00:00
Alexander Thomas bf3166be17 [infra] Shard VM and CFE nnbd builders more
These builders were quite slow:

80min->30min for vm-kernel-nnbd-linux-debug-x64-try
50min->45min for front-end-nnbd-linux-release-x64-try
40min->18min for vm-kernel-nnbd-linux-release-x64-try

Change-Id: I3d772264d82a864a5d278ada2987eadb0cb45bc2
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/150983
Reviewed-by: William Hesse <whesse@google.com>
2020-06-12 10:34:12 +00:00
Joshua Litt f9f1ca6171 [dart2js] Create tests/dart2js for nnbd.
Change-Id: Ib8721cf976803d8d1b9d723b7e691e344c768b67
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/149881
Reviewed-by: Sigmund Cherem <sigmund@google.com>
Commit-Queue: Joshua Litt <joshualitt@google.com>
2020-06-09 16:53:15 +00:00