Commit Graph

793 Commits

Author SHA1 Message Date
Zichang Guo 162d6c5634 Revert "[vm] Add support for real unboxed floating point fields in AOT"
This reverts commit 9eb531bde4.

Reason for revert: Bots are red. Some tests are failing.

https://ci.chromium.org/p/dart/builders/ci.sandbox/vm-kernel-precomp-obfuscate-linux-release-x64/6039

https://ci.chromium.org/p/dart/builders/ci.sandbox/vm-kernel-precomp-android-release-arm_x64/957

Original change's description:
> [vm] Add support for real unboxed floating point fields in AOT
> 
> Non-nullable floating point fields (double, Float32x4, Float64x2)
> are fully unboxed in their classes.
> 
> A bitmap for each class was added to the shared class table in order to keep
> track of the pointers of the classes. Since all classes in Flutter Gallery
> have less than 64 fields, the bitmap is represented by a 64 bit integer and
> fields whose offset is more than 64 words are not unboxed.
> 
> The instance sizes and field offsets might change between target and host
> in cross-compilation, since the number of words used to store unboxed fields
> may differ.
> 
> dart-aot Xeon
> 
>   SplayLatency               -4.62%
>   SplayHarderLatency         -4.17%
>   NavierStokes               -2.20%
>   Tracer                      8.72%
>   ParticleSystemPaint         2.90%
>   NBodySIMD                   8.35%
>   NBody                      25.59%
> 
> With hack TFA to make doubles in Rect/Offset/Size classes in flutter non-nullable:
> 
> flutter arm-v8:
> 
>   gallery total size: -1%
> 
>   matrix_utils_transform_rect_perspective   -16.70% (less is better)
>   matrix_utils_transform_rect_affine        -31.82% (less is better)
>   matrix_utils_transform_point_perspective  -24.90% (less is better)
>   matrix_utils_transform_point_affine)      -27.26% (less is better)
>   rrect_contains_bench                      -4.719% (less is better)
> 
> Change-Id: I9ae09c9c3167d99f9efd071a92937aa51093fd1d
> Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/131824
> Commit-Queue: Victor Agnez Lima <victoragnez@google.com>
> Reviewed-by: Martin Kustermann <kustermann@google.com>
> Reviewed-by: Ryan Macnak <rmacnak@google.com>
> Reviewed-by: Samir Jindel <sjindel@google.com>

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

Change-Id: Ic73858f6adb7f55c4129d4f46ff4731b378cb634
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/134020
Reviewed-by: Zichang Guo <zichangguo@google.com>
Commit-Queue: Zichang Guo <zichangguo@google.com>
2020-01-30 18:13:28 +00:00
Victor Lima 9eb531bde4 [vm] Add support for real unboxed floating point fields in AOT
Non-nullable floating point fields (double, Float32x4, Float64x2)
are fully unboxed in their classes.

A bitmap for each class was added to the shared class table in order to keep
track of the pointers of the classes. Since all classes in Flutter Gallery
have less than 64 fields, the bitmap is represented by a 64 bit integer and
fields whose offset is more than 64 words are not unboxed.

The instance sizes and field offsets might change between target and host
in cross-compilation, since the number of words used to store unboxed fields
may differ.

dart-aot Xeon

  SplayLatency               -4.62%
  SplayHarderLatency         -4.17%
  NavierStokes               -2.20%
  Tracer                      8.72%
  ParticleSystemPaint         2.90%
  NBodySIMD                   8.35%
  NBody                      25.59%

With hack TFA to make doubles in Rect/Offset/Size classes in flutter non-nullable:

flutter arm-v8:

  gallery total size: -1%

  matrix_utils_transform_rect_perspective   -16.70% (less is better)
  matrix_utils_transform_rect_affine        -31.82% (less is better)
  matrix_utils_transform_point_perspective  -24.90% (less is better)
  matrix_utils_transform_point_affine)      -27.26% (less is better)
  rrect_contains_bench                      -4.719% (less is better)

Change-Id: I9ae09c9c3167d99f9efd071a92937aa51093fd1d
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/131824
Commit-Queue: Victor Agnez Lima <victoragnez@google.com>
Reviewed-by: Martin Kustermann <kustermann@google.com>
Reviewed-by: Ryan Macnak <rmacnak@google.com>
Reviewed-by: Samir Jindel <sjindel@google.com>
2020-01-30 13:45:08 +00:00
Ryan Macnak c053468de0 [vm, service] Add a test to exercise all timeline recorders.
Change-Id: Ifbb2e95c2f4f4e2ea6513589987ccc3527af79b9
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/133743
Reviewed-by: Ben Konyi <bkonyi@google.com>
Commit-Queue: Ryan Macnak <rmacnak@google.com>
2020-01-30 01:26:51 +00:00
Ryan Macnak bd6cd9cd3a [test] Move and migrate dart:profiler tests.
Move tests from tests/lib_2/profiler to tests/lib_2/developer since `dart:profiler` no longer exists.

Bug: https://github.com/dart-lang/sdk/issues/40142
Change-Id: Iccf68ea2922caa52122d48c91fe5fa35a241b051
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/133281
Reviewed-by: Ben Konyi <bkonyi@google.com>
Commit-Queue: Ryan Macnak <rmacnak@google.com>
2020-01-24 20:15:48 +00:00
Lasse R.H. Nielsen 0c71fb2d95 Add new constructors to TypedData classes.
The new constructor creates a view of a (sub range) of the elements of another TypedData object.
It works for both typed lists and ByteData.

The advantage over the .view constructors is that it handles other views properly, including their
offsetInBytes in the start computation, which it is easy to forget to do when you call

  SomethingList.view(other.buffer)

directly, and that constructor cannot compensate for the information because it only existed on the object
that the buffer was extracted from, not on the buffer itself.

Change-Id: I8abafbf2a81a32ea67f5d4c0f65dcfea08b49bb7
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/127321
Commit-Queue: Lasse R.H. Nielsen <lrn@google.com>
Reviewed-by: Jake Macdonald <jakemac@google.com>
Reviewed-by: Jonas Termansen <sortie@google.com>
2020-01-22 14:39:48 +00:00
Ryan Macnak 439cabaec0 [test] Changes to mirrors tests to make them more Dart 3 compatible.
These changes are not sufficient by themselves, but the subset that can still run in Dart 2.

Bug: https://github.com/dart-lang/sdk/issues/40045
Change-Id: Ie8f61fc9ee94b85329a701f97b5d3f91dbc1f889
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/132422
Commit-Queue: Ryan Macnak <rmacnak@google.com>
Reviewed-by: Siva Annamalai <asiva@google.com>
Reviewed-by: Ben Konyi <bkonyi@google.com>
2020-01-22 01:30:05 +00:00
Ryan Macnak 7295841073 [test] Remove dart2js tests of MirrorsUsed. Remove MirrorsUsed annotations for all tests.
Remove tests using both dart:mirrors and dart:html.

Bug: https://github.com/dart-lang/sdk/issues/40045
Change-Id: Ib0fcaab497fee6c18460199ae2db18451408b015
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/132740
Reviewed-by: Ben Konyi <bkonyi@google.com>
Reviewed-by: Siva Annamalai <asiva@google.com>
Commit-Queue: Ryan Macnak <rmacnak@google.com>
2020-01-22 00:06:24 +00:00
Vijay Menon 36b7d07f6e use old function syntax on null_test
Change-Id: I29a401b875285cf709b1f69629dc0ac4420c3341
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/132120
Auto-Submit: Vijay Menon <vsm@google.com>
Reviewed-by: Sigmund Cherem <sigmund@google.com>
Commit-Queue: Vijay Menon <vsm@google.com>
2020-01-17 01:49:35 +00:00
Vijay Menon 17f80f0d1f [nnbd] port dart:js to nnbd
This tests static analysis on the ddc patch, but not the dart2js one yet.

It also fixes js/null_test.dart to ensure it passes.  Note, that test was broken independent of NNBD.

Change-Id: I5a6bfdfaac845eaba6f154d30f2c1e30199574d0
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/131300
Commit-Queue: Vijay Menon <vsm@google.com>
Reviewed-by: Sigmund Cherem <sigmund@google.com>
2020-01-16 19:26:18 +00:00
William Hesse c9a9db63e3 Revert "Reland "Reland "[infra] Add failing test to test CI systems and approvals workflow"""
This reverts commit 4b5d757bea.

Reason for revert: This intentionally failing test should have been reverted immediately, after verifying that it was detected by the CI.
Original change's description:
> Reland "Reland "[infra] Add failing test to test CI systems and approvals workflow""
> 
> This reverts commit 84a4bbcabc.
> 
> Reason for revert: Another try to land, to get more logging data.
> 
> Original change's description:
> > Revert "Reland "[infra] Add failing test to test CI systems and approvals workflow""
> > 
> > This reverts commit c716068538.
> > 
> > Reason for revert: Trying again to diagnose failure to copy approvals.
> > 
> > Original change's description:
> > > Reland "[infra] Add failing test to test CI systems and approvals workflow"
> > > 
> > > This reverts commit 25def20f5d.
> > > 
> > > Reason for revert: Retrying, now that we are copying CQ approvals for all commits in the blamelist of a builder.
> > > 
> > > Original change's description:
> > > > Revert "[infra] Add failing test to test CI systems and approvals workflow"
> > > > 
> > > > This reverts commit e578eeb235.
> > > > 
> > > > Reason for revert: The reverted commit is a test of the new approvals UI for tryjobs and the CI. It includes an intentionally failing test, that we now remove again.
> > > > 
> > > > Original change's description:
> > > > > [infra] Add failing test to test CI systems and approvals workflow
> > > > > 
> > > > > The failing test lib_2/collection/failing_list_test.dart is added,
> > > > > which imports dart:io.  So it will be a compile-time failure on
> > > > > some dart2js platforms, and a run-time failure on dart:io.
> > > > > 
> > > > > This commit is just to test the UI and backend for test failure
> > > > > approvals on tryjobs and on CI results. It will be reverted after
> > > > > the CI builders have run on it.
> > > > > 
> > > > > Change-Id: Icc3d11e72511cb0dbd9a62cb4fa80e754c203c8c
> > > > > Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/127883
> > > > > Reviewed-by: Jonas Termansen <sortie@google.com>
> > > > 
> > > > TBR=whesse@google.com,sortie@google.com
> > > > 
> > > > Change-Id: I32b900e25dc562ac88f5cb496cdbca726fc70445
> > > > No-Presubmit: true
> > > > No-Tree-Checks: true
> > > > No-Try: true
> > > > Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/127885
> > > > Reviewed-by: William Hesse <whesse@google.com>
> > > 
> > > TBR=whesse@google.com,sortie@google.com
> > > 
> > > Change-Id: I64e528131c779c8d20c007ff715b57b599cd3f07
> > > No-Presubmit: true
> > > No-Tree-Checks: true
> > > No-Try: true
> > > Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/127886
> > > Reviewed-by: William Hesse <whesse@google.com>
> > > Reviewed-by: Jonas Termansen <sortie@google.com>
> > 
> > TBR=whesse@google.com,sortie@google.com,athom@google.com
> > 
> > Change-Id: Icf68fd813d5f8f98d5ebf40c34e35811e8fffaf5
> > No-Presubmit: true
> > No-Tree-Checks: true
> > No-Try: true
> > Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/127892
> > Reviewed-by: William Hesse <whesse@google.com>
> 
> TBR=whesse@google.com,sortie@google.com,athom@google.com
> 
> Change-Id: Ic63f74bf660e71e5e1853a391013368ce640bbc1
> No-Presubmit: true
> No-Tree-Checks: true
> No-Try: true
> Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/127895
> Reviewed-by: William Hesse <whesse@google.com>
> Reviewed-by: Jonas Termansen <sortie@google.com>

TBR=whesse@google.com,sortie@google.com,athom@google.com

# Not skipping CQ checks because original CL landed > 1 day ago.

Change-Id: Ib82dadb2c82f2329164b29e60997320b775c104d
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/130378
Reviewed-by: William Hesse <whesse@google.com>
2020-01-08 10:30:23 +00:00
Ben Konyi c2734309f0 [ VM / dart:typed_data ] Fixed more cases where null was a valid parameter for typed data functions in AOT
Fixes https://github.com/dart-lang/sdk/issues/39812

Change-Id: I66d5808d16b203b8e50e77631203eca6f4452c07
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/129743
Commit-Queue: Ben Konyi <bkonyi@google.com>
Reviewed-by: Alexander Markov <alexmarkov@google.com>
2019-12-27 20:04:35 +00:00
Martin Kustermann fd1a6667b2 [vm/concurrency] Skip isolate tests on hot-reload mode to avoid unnecessary coredumps for CI
Unfortunately individual tests cannot be skipped via /0 since they are
not proper multitests.

Change-Id: Ib8ff7ec2bb52f716c70ebbfb9358278509809d52
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/128550
Reviewed-by: Alexander Thomas <athom@google.com>
Commit-Queue: Martin Kustermann <kustermann@google.com>
2019-12-16 15:49:52 +00:00
Srujan Gaddam 719b34d701 Add test to enumerate media devices
Bug: https://github.com/dart-lang/sdk/issues/39627

Enumerating media devices gives back a cast error in html_dart2js. This
test should fail and the cast should be fixed such that it passes.

Change-Id: Ie2502f265448d078578113cbea57dd81d20015c7
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/128104
Commit-Queue: Srujan Gaddam <srujzs@google.com>
Reviewed-by: Sigmund Cherem <sigmund@google.com>
2019-12-13 22:13:00 +00:00
Srujan Gaddam a5caa5222d Skip all html tests for d8
Bug:N/A
Change-Id: I39bccf7c6272830f8d6db52b1ea027fdb1d4c35f
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/128109
Commit-Queue: Srujan Gaddam <srujzs@google.com>
Reviewed-by: Sigmund Cherem <sigmund@google.com>
2019-12-13 00:24:36 +00:00
William Hesse 4b5d757bea Reland "Reland "[infra] Add failing test to test CI systems and approvals workflow""
This reverts commit 84a4bbcabc.

Reason for revert: Another try to land, to get more logging data.

Original change's description:
> Revert "Reland "[infra] Add failing test to test CI systems and approvals workflow""
> 
> This reverts commit c716068538.
> 
> Reason for revert: Trying again to diagnose failure to copy approvals.
> 
> Original change's description:
> > Reland "[infra] Add failing test to test CI systems and approvals workflow"
> > 
> > This reverts commit 25def20f5d.
> > 
> > Reason for revert: Retrying, now that we are copying CQ approvals for all commits in the blamelist of a builder.
> > 
> > Original change's description:
> > > Revert "[infra] Add failing test to test CI systems and approvals workflow"
> > > 
> > > This reverts commit e578eeb235.
> > > 
> > > Reason for revert: The reverted commit is a test of the new approvals UI for tryjobs and the CI. It includes an intentionally failing test, that we now remove again.
> > > 
> > > Original change's description:
> > > > [infra] Add failing test to test CI systems and approvals workflow
> > > > 
> > > > The failing test lib_2/collection/failing_list_test.dart is added,
> > > > which imports dart:io.  So it will be a compile-time failure on
> > > > some dart2js platforms, and a run-time failure on dart:io.
> > > > 
> > > > This commit is just to test the UI and backend for test failure
> > > > approvals on tryjobs and on CI results. It will be reverted after
> > > > the CI builders have run on it.
> > > > 
> > > > Change-Id: Icc3d11e72511cb0dbd9a62cb4fa80e754c203c8c
> > > > Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/127883
> > > > Reviewed-by: Jonas Termansen <sortie@google.com>
> > > 
> > > TBR=whesse@google.com,sortie@google.com
> > > 
> > > Change-Id: I32b900e25dc562ac88f5cb496cdbca726fc70445
> > > No-Presubmit: true
> > > No-Tree-Checks: true
> > > No-Try: true
> > > Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/127885
> > > Reviewed-by: William Hesse <whesse@google.com>
> > 
> > TBR=whesse@google.com,sortie@google.com
> > 
> > Change-Id: I64e528131c779c8d20c007ff715b57b599cd3f07
> > No-Presubmit: true
> > No-Tree-Checks: true
> > No-Try: true
> > Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/127886
> > Reviewed-by: William Hesse <whesse@google.com>
> > Reviewed-by: Jonas Termansen <sortie@google.com>
> 
> TBR=whesse@google.com,sortie@google.com,athom@google.com
> 
> Change-Id: Icf68fd813d5f8f98d5ebf40c34e35811e8fffaf5
> No-Presubmit: true
> No-Tree-Checks: true
> No-Try: true
> Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/127892
> Reviewed-by: William Hesse <whesse@google.com>

TBR=whesse@google.com,sortie@google.com,athom@google.com

Change-Id: Ic63f74bf660e71e5e1853a391013368ce640bbc1
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/127895
Reviewed-by: William Hesse <whesse@google.com>
Reviewed-by: Jonas Termansen <sortie@google.com>
2019-12-12 15:40:01 +00:00
William Hesse 84a4bbcabc Revert "Reland "[infra] Add failing test to test CI systems and approvals workflow""
This reverts commit c716068538.

Reason for revert: Trying again to diagnose failure to copy approvals.

Original change's description:
> Reland "[infra] Add failing test to test CI systems and approvals workflow"
> 
> This reverts commit 25def20f5d.
> 
> Reason for revert: Retrying, now that we are copying CQ approvals for all commits in the blamelist of a builder.
> 
> Original change's description:
> > Revert "[infra] Add failing test to test CI systems and approvals workflow"
> > 
> > This reverts commit e578eeb235.
> > 
> > Reason for revert: The reverted commit is a test of the new approvals UI for tryjobs and the CI. It includes an intentionally failing test, that we now remove again.
> > 
> > Original change's description:
> > > [infra] Add failing test to test CI systems and approvals workflow
> > > 
> > > The failing test lib_2/collection/failing_list_test.dart is added,
> > > which imports dart:io.  So it will be a compile-time failure on
> > > some dart2js platforms, and a run-time failure on dart:io.
> > > 
> > > This commit is just to test the UI and backend for test failure
> > > approvals on tryjobs and on CI results. It will be reverted after
> > > the CI builders have run on it.
> > > 
> > > Change-Id: Icc3d11e72511cb0dbd9a62cb4fa80e754c203c8c
> > > Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/127883
> > > Reviewed-by: Jonas Termansen <sortie@google.com>
> > 
> > TBR=whesse@google.com,sortie@google.com
> > 
> > Change-Id: I32b900e25dc562ac88f5cb496cdbca726fc70445
> > No-Presubmit: true
> > No-Tree-Checks: true
> > No-Try: true
> > Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/127885
> > Reviewed-by: William Hesse <whesse@google.com>
> 
> TBR=whesse@google.com,sortie@google.com
> 
> Change-Id: I64e528131c779c8d20c007ff715b57b599cd3f07
> No-Presubmit: true
> No-Tree-Checks: true
> No-Try: true
> Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/127886
> Reviewed-by: William Hesse <whesse@google.com>
> Reviewed-by: Jonas Termansen <sortie@google.com>

TBR=whesse@google.com,sortie@google.com,athom@google.com

Change-Id: Icf68fd813d5f8f98d5ebf40c34e35811e8fffaf5
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/127892
Reviewed-by: William Hesse <whesse@google.com>
2019-12-11 11:36:59 +00:00
William Hesse c716068538 Reland "[infra] Add failing test to test CI systems and approvals workflow"
This reverts commit 25def20f5d.

Reason for revert: Retrying, now that we are copying CQ approvals for all commits in the blamelist of a builder.

Original change's description:
> Revert "[infra] Add failing test to test CI systems and approvals workflow"
> 
> This reverts commit e578eeb235.
> 
> Reason for revert: The reverted commit is a test of the new approvals UI for tryjobs and the CI. It includes an intentionally failing test, that we now remove again.
> 
> Original change's description:
> > [infra] Add failing test to test CI systems and approvals workflow
> > 
> > The failing test lib_2/collection/failing_list_test.dart is added,
> > which imports dart:io.  So it will be a compile-time failure on
> > some dart2js platforms, and a run-time failure on dart:io.
> > 
> > This commit is just to test the UI and backend for test failure
> > approvals on tryjobs and on CI results. It will be reverted after
> > the CI builders have run on it.
> > 
> > Change-Id: Icc3d11e72511cb0dbd9a62cb4fa80e754c203c8c
> > Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/127883
> > Reviewed-by: Jonas Termansen <sortie@google.com>
> 
> TBR=whesse@google.com,sortie@google.com
> 
> Change-Id: I32b900e25dc562ac88f5cb496cdbca726fc70445
> No-Presubmit: true
> No-Tree-Checks: true
> No-Try: true
> Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/127885
> Reviewed-by: William Hesse <whesse@google.com>

TBR=whesse@google.com,sortie@google.com

Change-Id: I64e528131c779c8d20c007ff715b57b599cd3f07
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/127886
Reviewed-by: William Hesse <whesse@google.com>
Reviewed-by: Jonas Termansen <sortie@google.com>
2019-12-11 08:43:52 +00:00
William Hesse 25def20f5d Revert "[infra] Add failing test to test CI systems and approvals workflow"
This reverts commit e578eeb235.

Reason for revert: The reverted commit is a test of the new approvals UI for tryjobs and the CI. It includes an intentionally failing test, that we now remove again.

Original change's description:
> [infra] Add failing test to test CI systems and approvals workflow
> 
> The failing test lib_2/collection/failing_list_test.dart is added,
> which imports dart:io.  So it will be a compile-time failure on
> some dart2js platforms, and a run-time failure on dart:io.
> 
> This commit is just to test the UI and backend for test failure
> approvals on tryjobs and on CI results. It will be reverted after
> the CI builders have run on it.
> 
> Change-Id: Icc3d11e72511cb0dbd9a62cb4fa80e754c203c8c
> Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/127883
> Reviewed-by: Jonas Termansen <sortie@google.com>

TBR=whesse@google.com,sortie@google.com

Change-Id: I32b900e25dc562ac88f5cb496cdbca726fc70445
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/127885
Reviewed-by: William Hesse <whesse@google.com>
2019-12-10 17:42:31 +00:00
William Hesse e578eeb235 [infra] Add failing test to test CI systems and approvals workflow
The failing test lib_2/collection/failing_list_test.dart is added,
which imports dart:io.  So it will be a compile-time failure on
some dart2js platforms, and a run-time failure on dart:io.

This commit is just to test the UI and backend for test failure
approvals on tryjobs and on CI results. It will be reverted after
the CI builders have run on it.

Change-Id: Icc3d11e72511cb0dbd9a62cb4fa80e754c203c8c
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/127883
Reviewed-by: Jonas Termansen <sortie@google.com>
2019-12-10 16:11:24 +00:00
Ben Konyi 16e7647c86 [ VM / dart:typed_data ] Fixed issue where null could be passed for simd types in AOT
Arguments to simd type constructors were being checked in the bootstrap
natives entrypoint but not elsewhere. Checking for null in Dart code
ensures that we don't accidentally miss these checks in AOT.

The changes to sdk_nnbd are required in order to ensure the number of
arguments passed to native code match the number of arguments from the
non-NNBD implementation (we needed to remove the implicit type args
parameter).

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

Change-Id: Iaf7d8790c154f1e85db613b6dc84004c8013df9a
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/126905
Reviewed-by: Alexander Markov <alexmarkov@google.com>
Commit-Queue: Ben Konyi <bkonyi@google.com>
2019-12-09 15:29:27 +00:00
Nicholas Shahan 2a13b1fe26 Reland "[dartdevc] Break dart:_debugger dependency on dart:html"
Original change was broken by the fact that DDC expects all types marked as
native have all their superclasses marked as native when the super classes are
compiled.

In this case `MapMixin` from dart:collection was not being marked as native and
the only reason it was working before was that the library dependency enforced
the necessary order.

* Now `MapMixin` is explicitly marked as native.
* Added a test case to use some of the API on `window.localStorage` that is
  inherited from the MapMixin class.

Change-Id: I1584bfb86179016ee12c2acc5cfbbe81d086841e
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/126906
Reviewed-by: Sigmund Cherem <sigmund@google.com>
Reviewed-by: Mark Zhou <markzipan@google.com>
Commit-Queue: Nicholas Shahan <nshahan@google.com>
2019-12-04 00:51:18 +00:00
Martin Kustermann 5aa86eb123 [vm/concurrency] Run all isolate related tests with/without enabling isolate groups
Issue https://github.com/dart-lang/sdk/issues/36097

Change-Id: I0b7eca744bc49ab5ba09da3ce2a9286b1ed3c70f
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/126340
Commit-Queue: Martin Kustermann <kustermann@google.com>
Reviewed-by: Alexander Aprelev <aam@google.com>
2019-11-27 17:23:31 +00:00
Ryan Macnak d6b0a27665 [test] Explicitly mark streamed_conversion_json_utf8_decode_test as slow in reload test modes.
Change-Id: I60777b0fd3a20b340b12225a24529474eb75b2af
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/125483
Reviewed-by: Alexander Markov <alexmarkov@google.com>
Commit-Queue: Ryan Macnak <rmacnak@google.com>
2019-11-16 01:14:28 +00:00
Derek Xu 6d28f59c54 Added promiseToFuture function to js_util.dart
Change-Id: I1bfd3fadb0a212ec0ff150cad02bdf285e2e7edb
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/122240
Reviewed-by: Nate Bosch <nbosch@google.com>
Reviewed-by: Sigmund Cherem <sigmund@google.com>
Commit-Queue: Derek Xu <derekx@google.com>
2019-11-04 22:56:45 +00:00
Ryan Macnak acc9ffc327 [test] Remove unnecessary slow heap growth flag from streamed_conversion_json_utf8_decode_test.
This test already has several GCs under the default growth policy, so the verifier runs enough with this flag omitted.

Also, re-enable the background compiler in this test.

Change-Id: I5b874984f45766be76d5ab429df84c2f64bf7e17
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/123330
Reviewed-by: Martin Kustermann <kustermann@google.com>
Commit-Queue: Ryan Macnak <rmacnak@google.com>
2019-10-29 19:43:06 +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
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
asiva a551c507bd [VM] Implement name demangling of extension methods.
Change-Id: Id64ae1aa0de89260b6bf2d6f40260a0dc9ef5c16
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/121000
Reviewed-by: Ryan Macnak <rmacnak@google.com>
Commit-Queue: Siva Annamalai <asiva@google.com>
2019-10-14 20:40:09 +00:00
asiva b12bed36a8 [VM] Implement isExtensionMember in MethodMirror and VariableMirror
Added ability to recognize a MethodMirror to be a mirror of an extension member
Added ability to recognize a VariableMirror to be a mirror of a static
extension field.

Change-Id: I56715a491bba0d8cafb2796ebb755bd339e147c6
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/120760
Reviewed-by: Siva Annamalai <asiva@google.com>
Reviewed-by: Ryan Macnak <rmacnak@google.com>
Commit-Queue: Siva Annamalai <asiva@google.com>
2019-10-09 00:27:30 +00:00
Liam Appelbe 26c49d5578 [vm] Wasm memory exports, and emscripten hello world
I got the hello world wasm file from the emscripten team and got it
running using a fake implementation of WASI's fd_write function. This
necessitated adding support for memory exports.

Bug: https://github.com/dart-lang/sdk/issues/37882
Change-Id: I139a4e868d437e2232bf4260e5cc26d8c598ac2c
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/119061
Commit-Queue: Liam Appelbe <liama@google.com>
Reviewed-by: Alexander Markov <alexmarkov@google.com>
2019-10-01 18:19:56 +00:00
Karl Klose 16bb96aa25 [infra] Remove non-essential test expectations with comments from general status files
Change-Id: I8aa918b4065eaa9ae8e4501c6a77328659784f9f
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/114848
Commit-Queue: Karl Klose <karlklose@google.com>
Reviewed-by: Alexander Thomas <athom@google.com>
2019-10-01 06:18:59 +00:00
Liam Appelbe 6da8c39c5a [vm] Small WasmImports API change, and more WASM error tests
Bug: https://github.com/dart-lang/sdk/issues/37882
Change-Id: I3044d588398ccb19e3ebcebe6cd506b047a37857
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/118601
Commit-Queue: Liam Appelbe <liama@google.com>
Reviewed-by: Alexander Markov <alexmarkov@google.com>
2019-09-27 23:36:11 +00:00
Liam Appelbe d2a0900a50 Reland "[vm] Wasm function imports"
This reverts commit a7cb8ee88b.

Reason for revert: Fixed the crash

Original change's description:
> Revert "[vm] Wasm function imports"
> 
> This reverts commit 7a24aec8f4.
> 
> Reason for revert: debug-mode gen_snapshot crashes on all programs
> 
> Original change's description:
> > [vm] Wasm function imports
> > 
> > Bug: https://github.com/dart-lang/sdk/issues/37882
> > Change-Id: Ia8aa9a87803d5e8b899ddab5479b8cd93e03fd71
> > Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/118204
> > Commit-Queue: Liam Appelbe <liama@google.com>
> > Reviewed-by: Ryan Macnak <rmacnak@google.com>
> > Reviewed-by: Alexander Markov <alexmarkov@google.com>
> 
> TBR=rmacnak@google.com,alexmarkov@google.com,liama@google.com
> 
> Change-Id: Ib5d348e25854af010b1d8a64a87406da443981df
> No-Presubmit: true
> No-Tree-Checks: true
> No-Try: true
> Bug: https://github.com/dart-lang/sdk/issues/37882
> Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/119143
> Reviewed-by: Samir Jindel <sjindel@google.com>
> Commit-Queue: Samir Jindel <sjindel@google.com>

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

Change-Id: I4fd073a087eae7bb95c75079446d9111e7bc8c40
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: https://github.com/dart-lang/sdk/issues/37882
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/119168
Reviewed-by: Liam Appelbe <liama@google.com>
Reviewed-by: Alexander Markov <alexmarkov@google.com>
Commit-Queue: Liam Appelbe <liama@google.com>
2019-09-27 21:29:12 +00:00
Liam Appelbe 4aa10d0aeb Skip all dart:wasm tests
Bug: https://github.com/dart-lang/sdk/issues/37882
Change-Id: I8f6c3f9b8d69a43ef6382a3d07579ea14d335c35
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/119173
Commit-Queue: Liam Appelbe <liama@google.com>
Reviewed-by: Alexander Markov <alexmarkov@google.com>
2019-09-27 21:12:32 +00:00
Samir Jindel a7cb8ee88b Revert "[vm] Wasm function imports"
This reverts commit 7a24aec8f4.

Reason for revert: debug-mode gen_snapshot crashes on all programs

Original change's description:
> [vm] Wasm function imports
> 
> Bug: https://github.com/dart-lang/sdk/issues/37882
> Change-Id: Ia8aa9a87803d5e8b899ddab5479b8cd93e03fd71
> Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/118204
> Commit-Queue: Liam Appelbe <liama@google.com>
> Reviewed-by: Ryan Macnak <rmacnak@google.com>
> Reviewed-by: Alexander Markov <alexmarkov@google.com>

TBR=rmacnak@google.com,alexmarkov@google.com,liama@google.com

Change-Id: Ib5d348e25854af010b1d8a64a87406da443981df
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: https://github.com/dart-lang/sdk/issues/37882
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/119143
Reviewed-by: Samir Jindel <sjindel@google.com>
Commit-Queue: Samir Jindel <sjindel@google.com>
2019-09-27 12:22:58 +00:00
Liam Appelbe 7a24aec8f4 [vm] Wasm function imports
Bug: https://github.com/dart-lang/sdk/issues/37882
Change-Id: Ia8aa9a87803d5e8b899ddab5479b8cd93e03fd71
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/118204
Commit-Queue: Liam Appelbe <liama@google.com>
Reviewed-by: Ryan Macnak <rmacnak@google.com>
Reviewed-by: Alexander Markov <alexmarkov@google.com>
2019-09-26 22:08:12 +00:00
Liam Appelbe 0fe9634425 Skip wasm tests on dart2js
Bug: https://github.com/dart-lang/sdk/issues/37882
Change-Id: Iceccc5805bcdadf003d8e753c7f86f915d72bf39
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/118662
Commit-Queue: Liam Appelbe <liama@google.com>
Reviewed-by: Alexander Markov <alexmarkov@google.com>
2019-09-25 00:48:43 +00:00
Liam Appelbe fd0a89971c [vm] More wasm cleanup
Fix some VM/native transition issues, and add a describe() function that
prints all the imports and exports of a module.

Bug: https://github.com/dart-lang/sdk/issues/37882
Change-Id: I68a8860857c3fcb37c49a9e92731629a13fd9449
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/118363
Reviewed-by: Ryan Macnak <rmacnak@google.com>
Commit-Queue: Liam Appelbe <liama@google.com>
2019-09-24 21:24:57 +00:00
Karl Klose 9203453183 [infra] Remove non-essential test expectations with comments from dart2js status files
Change-Id: I55d13632e701f8c5627e418faaee71a09e48fe57
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/114851
Commit-Queue: Karl Klose <karlklose@google.com>
Reviewed-by: Stephen Adams <sra@google.com>
2019-09-24 06:44:11 +00:00
Mark Zhou d012dfc7a6 Removing 'webkit' prefix, as most modern web browsers will accept 'RTCPeerConnection'
Fixes #38325

Change-Id: I08589781c8e8647c1e6d403baf4d6106d5308181
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/116941
Reviewed-by: Nicholas Shahan <nshahan@google.com>
Commit-Queue: Mark Zhou <markzipan@google.com>
Auto-Submit: Mark Zhou <markzipan@google.com>
2019-09-24 00:04:00 +00:00
Ryan Macnak 39ff937afa [vm] Rename _LocalXMirror to _XMirror.
Remote mirrors ended up being implemented as the service protocol instead of a Dart API.

Change-Id: I03b6c92d6acdde28e7b55044d98e075f5a1fe57e
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/109321
Commit-Queue: Ryan Macnak <rmacnak@google.com>
Reviewed-by: Siva Annamalai <asiva@google.com>
2019-09-18 20:28:25 +00:00
Alexander Markov 2e34231c8e [vm] Do not mirror default values of parameters of abstract methods
In bytecode mode default values are part of the method body, which is
omitted for abstract methods.

In anticipation for this future change, default values of parameters of
abstract methods are no longer available through dart:mirrors.

Please also see https://github.com/dart-lang/sdk/issues/38464

Change-Id: I47742b588690ea96cb3ca636ff86e4e042bfe5a2
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/117299
Commit-Queue: Alexander Markov <alexmarkov@google.com>
Reviewed-by: Ryan Macnak <rmacnak@google.com>
Reviewed-by: Siva Annamalai <asiva@google.com>
2019-09-18 20:12:50 +00:00
Mayank Patke f057e2506e [dart2js] Extended structured clone algorithm to JSObject.
Change-Id: I0d8b20184f1b88e4bb24f67c2237b2095370118d
Bug: https://github.com/dart-lang/sdk/issues/37438
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/114043
Commit-Queue: Mayank Patke <fishythefish@google.com>
Reviewed-by: Stephen Adams <sra@google.com>
2019-09-18 18:44:29 +00:00
Mayank Patke ecc99cca3b Fix lib_2/async/stream_distinct_test.
Change-Id: Ib301d71f0158fe0c2ce9d486cf5848c60180d701
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/117217
Auto-Submit: Mayank Patke <fishythefish@google.com>
Reviewed-by: Bob Nystrom <rnystrom@google.com>
Commit-Queue: Mayank Patke <fishythefish@google.com>
2019-09-16 20:05:46 +00:00
Liam Appelbe f234830998 Cut dart:ffi dependency to fix simarm build
Change-Id: I4124163000e2990a6037d36a4f87ccfcddf5a933
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/117210
Commit-Queue: Liam Appelbe <liama@google.com>
Reviewed-by: Aart Bik <ajcbik@google.com>
2019-09-13 23:23:34 +00:00
Liam Appelbe ed9e89ea38 Implement a basic WASM API using wasmer.
Currently this only supports functions that take and return numeric
types. Byte arrays, and callbacks will come later, in a separate
wrapper package.

Bug: https://github.com/dart-lang/sdk/issues/37882
Change-Id: I7bb82be83cbbb6062736b3e958f89d021f1af4bb
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/114586
Commit-Queue: Liam Appelbe <liama@google.com>
Reviewed-by: Samir Jindel <sjindel@google.com>
Reviewed-by: Ryan Macnak <rmacnak@google.com>
2019-09-13 18:25:16 +00:00
Mayank Patke c858519064 Delete lib_2/async/timer_not_available_test.
Change-Id: If24b2652f3b8fa22e844b20fab8034d13e3003ef
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/117066
Commit-Queue: Mayank Patke <fishythefish@google.com>
Commit-Queue: Bob Nystrom <rnystrom@google.com>
Auto-Submit: Mayank Patke <fishythefish@google.com>
Reviewed-by: Bob Nystrom <rnystrom@google.com>
2019-09-12 22:58:07 +00:00
Ryan Macnak 9a9c0f3374 [test] Update status for some mirrors tests under reload stress testing.
Change-Id: Ia1b9adf1b83fe5cb5be8a853d1561fd1519f1df3
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/116550
Reviewed-by: Régis Crelier <regis@google.com>
Commit-Queue: Ryan Macnak <rmacnak@google.com>
2019-09-10 23:07:38 +00:00
Dmitry Stefantsov ccb6ba948b [cfe] Gather constraints from both possibilities for FutureOr
Closes #37778.

Bug: http://dartbug.com/37778.
Change-Id: Ia8828c27ccc912831a0fea8a473c547184c99229
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/115243
Reviewed-by: Johnni Winther <johnniwinther@google.com>
Commit-Queue: Dmitry Stefantsov <dmitryas@google.com>
2019-09-10 09:50:30 +00:00
Robert Nystrom 89ad636b58 Remove the old "preview Dart 2" flags from the test runner.
Dart 2 shipped a year ago, so we're pretty well past a "preview". :)

Change-Id: I6c5d21ae4181e4228cc1fc49b6344cdb8fc43794
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/115544
Commit-Queue: Bob Nystrom <rnystrom@google.com>
Reviewed-by: Mayank Patke <fishythefish@google.com>
Auto-Submit: Bob Nystrom <rnystrom@google.com>
2019-09-05 16:59:43 +00:00