Commit graph

19501 commits

Author SHA1 Message Date
Samir Jindel bc16959fc7 Reland "[vm/ffi] Dispatch native callbacks through trampolines if we can't ensure callbacks will always be executable."
The original revision is in patchset 1.

Three bugs are fixed:

1. Fix SIMARM_X64 build: no need to generate trampolines for AOT or simulated JIT.
2. Hot-reload: Fix hot-reload: don't invalidate Code for force-optimized functions.
3. Windows: Provide shadow space to runtime routines.

Cq-Include-Trybots: luci.dart.try:vm-kernel-precomp-mac-debug-simarm_x64-try,vm-kernel-precomp-mac-release-simarm_x64-try,vm-kernel-reload-linux-debug-x64-try,vm-kernel-reload-rollback-linux-debug-x64-try,vm-kernel-win-debug-ia32-try,vm-kernel-win-debug-x64-try,vm-kernel-win-release-ia32-try,vm-kernel-win-release-x64-try
Change-Id: I326009cfacb51a84e9de4ddf9ff2d6d415460f91
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/113829
Commit-Queue: Samir Jindel <sjindel@google.com>
Reviewed-by: Martin Kustermann <kustermann@google.com>
2019-08-21 13:33:37 +00:00
Karl Klose b625152523 [infra] Remove non-essential test expectations from kernel status files
Change-Id: Id246d9abb338873ef5082c3c70f45f5650ad1dcf
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/113981
Reviewed-by: Jens Johansen <jensj@google.com>
Commit-Queue: Karl Klose <karlklose@google.com>
2019-08-21 10:37:45 +00:00
Daco Harkes c37b5b2edf [vm/ffi] Status: skip test including callbacks on DBC
Fixes status file for 670d40d808.

Change-Id: I48f59fd0767d718888a13259c368f5ea5e5879e4
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/113982
Reviewed-by: Daco Harkes <dacoharkes@google.com>
2019-08-21 09:18:56 +00:00
Karl Klose 095d1c2835 [infra] Clean up general status files
Change-Id: I421fca89e748474a585f052532b86ef3ddbed4ca
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/113681
Commit-Queue: Karl Klose <karlklose@google.com>
Reviewed-by: Alexander Thomas <athom@google.com>
2019-08-21 09:18:34 +00:00
Daco Harkes 670d40d808 [vm/ffi] regression test for 37511
I tested this test manually by reverting 48d92b3176 to confirm that it makes the test segfault.

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

Change-Id: I62cb2b83775780a2fccfd9ee4ebff793de82090a
Cq-Include-Trybots: luci.dart.try:vm-ffi-android-debug-arm-try, app-kernel-linux-debug-x64-try, vm-kernel-linux-debug-simdbc64-try,vm-kernel-linux-debug-ia32-try,vm-dartkb-linux-debug-simarm64-try,vm-kernel-win-debug-x64-try,vm-kernel-win-debug-ia32-try,vm-dartkb-linux-debug-x64-try,vm-kernel-precomp-linux-debug-x64-try,vm-dartkb-linux-release-x64-abi-try
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/109703
Commit-Queue: Daco Harkes <dacoharkes@google.com>
Reviewed-by: Samir Jindel <sjindel@google.com>
2019-08-21 08:10:34 +00:00
Mayank Patke afc259ea6b [dart2js] Add 'any' to DartType.
Change-Id: I430a754d0eb312b3f6509de72c91425da8291280
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/113755
Commit-Queue: Mayank Patke <fishythefish@google.com>
Reviewed-by: Stephen Adams <sra@google.com>
2019-08-20 22:18:43 +00:00
Mayank Patke 38ca72a3e7 [dart2js] TrivialRuntimeTypesNeed should not say non-generic classes need type arguments.
Change-Id: Idb791d3ec93ba7eedad0d85a3e12eb51318dd48f
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/113484
Reviewed-by: Johnni Winther <johnniwinther@google.com>
Commit-Queue: Mayank Patke <fishythefish@google.com>
2019-08-20 18:35:30 +00:00
Samir Jindel 663a8630e6 Revert "[vm/ffi] Dispatch native callbacks through trampolines if we can't ensure callbacks will always be executable."
This reverts commit bab592fd28.

Reason for revert: Breaks SIMARM_X64 build and crashes in hot-reload.

Original change's description:
> [vm/ffi] Dispatch native callbacks through trampolines if we can't ensure callbacks will always be executable.
> 
> Issue https://github.com/dart-lang/sdk/issues/37629
> 
> Change-Id: Ib61c32bde5a8b38d90b4da77e27e3874b8bfb7e2
> Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/111432
> Commit-Queue: Samir Jindel <sjindel@google.com>
> Reviewed-by: Martin Kustermann <kustermann@google.com>

TBR=kustermann@google.com,alexmarkov@google.com,sjindel@google.com

Change-Id: Id7dc3068a97debc7a8f757df31ef33fb68bdcb44
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/113827
Reviewed-by: Samir Jindel <sjindel@google.com>
Commit-Queue: Samir Jindel <sjindel@google.com>
2019-08-20 16:27:32 +00:00
Samir Jindel bab592fd28 [vm/ffi] Dispatch native callbacks through trampolines if we can't ensure callbacks will always be executable.
Issue https://github.com/dart-lang/sdk/issues/37629

Change-Id: Ib61c32bde5a8b38d90b4da77e27e3874b8bfb7e2
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/111432
Commit-Queue: Samir Jindel <sjindel@google.com>
Reviewed-by: Martin Kustermann <kustermann@google.com>
2019-08-20 15:54:50 +00:00
Clement Skau de45a83755 [test] Makes spawn_function_custom_class_test more robust.
Adds exit port to spawned isolate to force main isolate and runtime
to wait until spawned isolate has completed.
This should improve potential flakiness stemming from racing.

Similar to:
- https://dart-review.googlesource.com/c/sdk/+/110913
- https://dart-review.googlesource.com/c/sdk/+/108410

Change-Id: I1055ca0e23f38bcfa67f485c5b810c39ef302dde
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/113820
Commit-Queue: Clement Skau <cskau@google.com>
Reviewed-by: Daco Harkes <dacoharkes@google.com>
2019-08-20 12:16:22 +00:00
Johnni Winther d153e98447 Revert "[cfe] Gather constraints from both possibilities for FutureOr"
This reverts commit 00e9561798.

Original change's description:
> [cfe] Gather constraints from both possibilities for FutureOr
> 
> Closes #37778.
> 
> Bug: http://dartbug.com/37778
> Change-Id: Ic06da9cf4e24e397e1f2a180b743190a4165dc3e
> Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/113033
> Commit-Queue: Johnni Winther <johnniwinther@google.com>
> Reviewed-by: Johnni Winther <johnniwinther@google.com>

TBR=dmitryas@google.com,johnniwinther@google.com

Change-Id: I64677971c865180334958de13d2d82fec3daec85
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: http://dartbug.com/37778
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/113821
Reviewed-by: Johnni Winther <johnniwinther@google.com>
Commit-Queue: Johnni Winther <johnniwinther@google.com>
2019-08-20 10:57:52 +00:00
Johnni Winther 00e9561798 [cfe] Gather constraints from both possibilities for FutureOr
Closes #37778.

Bug: http://dartbug.com/37778
Change-Id: Ic06da9cf4e24e397e1f2a180b743190a4165dc3e
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/113033
Commit-Queue: Johnni Winther <johnniwinther@google.com>
Reviewed-by: Johnni Winther <johnniwinther@google.com>
2019-08-20 08:43:22 +00:00
Stephen Adams 0537c9d326 [dart2js] Fix DartType.subst
DartType.subst would accidentally drop FunctionTypeVariables that had
bounds modified by substitution.

Use a visitor for printing, with changes that make it possible to see the accidentally
free FunctionTypeVariables that were dropped.

Change-Id: Ie6c8d0bb8f2a22b11db6f009067cf64e38ab93c7
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/113600
Commit-Queue: Stephen Adams <sra@google.com>
Reviewed-by: Johnni Winther <johnniwinther@google.com>
2019-08-19 18:11:42 +00:00
William Hesse 2706114f4d Revert "[infra] Remove non-essential test expectations from kernel status files"
This reverts commit c010458732.

Reason for revert: We believed that the Crash marker had no effect in the -kernel status files, but some of these crashes were vm crashes, so they were suppressing upload of core dumps.  These uploads are failing on Windows builders.

Original change's description:
> [infra] Remove non-essential test expectations from kernel status files
> 
> Change-Id: I959b7847e93c221d77c94bd25f95e913a25e91cd
> Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/113685
> Reviewed-by: Jens Johansen <jensj@google.com>
> Commit-Queue: Karl Klose <karlklose@google.com>

TBR=karlklose@google.com,jensj@google.com

Change-Id: I57978d9253a5889c58444fce3ce6c30b79ab4040
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/113691
Reviewed-by: William Hesse <whesse@google.com>
2019-08-19 14:29:45 +00:00
Samir Jindel e64738ffbc [vm/ffi] DynamicLibrary.process() and DynamicLibrary.executable()
Change-Id: I6be84f24f0ac245ba176748e4a3ec1ba782798ce
Cq-Include-Trybots: luci.dart.try:vm-kernel-win-debug-x64-try,vm-kernel-mac-debug-x64-try,vm-ffi-android-debug-arm-try
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/113687
Commit-Queue: Samir Jindel <sjindel@google.com>
Reviewed-by: Daco Harkes <dacoharkes@google.com>
2019-08-19 14:24:01 +00:00
William Hesse a04a567801 Restore "Crash" status to test in status file, accidentally removed.
Change-Id: I9957d129f304f992fca4d56b92d82c6d586194b8
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/113690
Reviewed-by: Alexander Thomas <athom@google.com>
2019-08-19 14:10:59 +00:00
Karl Klose c010458732 [infra] Remove non-essential test expectations from kernel status files
Change-Id: I959b7847e93c221d77c94bd25f95e913a25e91cd
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/113685
Reviewed-by: Jens Johansen <jensj@google.com>
Commit-Queue: Karl Klose <karlklose@google.com>
2019-08-19 12:01:01 +00:00
Nicholas Shahan 29dc9313e6 [dartdevc] Create a new status file for DDC co19 tests
Move existing test status from the dart2js status file.

Change-Id: I8c9f296119ae23da40896581c1f1a1a9cba11494
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/112646
Reviewed-by: Bob Nystrom <rnystrom@google.com>
Commit-Queue: Nicholas Shahan <nshahan@google.com>
2019-08-16 20:42:25 +00:00
Aske Simon Christensen e611357309 [CFE] Error on bitwise or shift operation on a double constant.
Fixes https://github.com/dart-lang/sdk/issues/36823

Change-Id: I9aeb34b9f80261889434f85bf39af3d78a38202e
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/112391
Reviewed-by: Mayank Patke <fishythefish@google.com>
Commit-Queue: Aske Simon Christensen <askesc@google.com>
2019-08-16 11:11:27 +00:00
Aart Bik 1523fbd96e [vm/compiler] Fixed bug with clamping on 32-bit arch
Rationale:
Feel the power of value-guided fuzzing that, in combination
with new types, founds this issue in the graph intrinsifier.
The deopt on the speculative code for Smi was missing.

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

Change-Id: I9f310f62eb6cf1cdb3e39685caed5b7792024565
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/113203
Reviewed-by: Ben Konyi <bkonyi@google.com>
Commit-Queue: Aart Bik <ajcbik@google.com>
2019-08-15 21:05:02 +00:00
Brian Wilkerson 100d500b45 Update test expectations to match analyzer behavior
Change-Id: Ifd0528af3099086aee517813e64656dc1eaa2bdd
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/113205
Reviewed-by: Paul Berry <paulberry@google.com>
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com>
2019-08-15 18:20:21 +00:00
Zichang Guo 306f8e04bb [vm] path containing spaces when creating process On Windows
path may contain spaces. When it is passed into CreatProcessW, it will interpret in several ways. Escape path for CreateProcessW to remove ambiguity. Make sure [path] won't be escaped again.

Bug:https://github.com/dart-lang/sdk/issues/37751
Change-Id: I70914c7c2e17aad660126662ab0e83eebe348892
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/112934
Commit-Queue: Zichang Guo <zichangguo@google.com>
Reviewed-by: Siva Annamalai <asiva@google.com>
Reviewed-by: Zach Anderson <zra@google.com>
2019-08-15 18:04:10 +00:00
Johnni Winther 024052f367 [cfe+dart2js+analyzer] Remove support for libs in id testing
We now have support for a test as a directory instead.

Change-Id: I3c43e2e57ecda8e3c9d97aa8842be7093c1df5ab
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/113035
Reviewed-by: Jens Johansen <jensj@google.com>
Commit-Queue: Johnni Winther <johnniwinther@google.com>
2019-08-15 07:31:50 +00:00
Leaf Petersen 617dd903e2 Update static error expectations for
static_extension_bounds_error_test.dart .

Change-Id: Id674261e7619c3ed6fd088158209b7aa34d36aa5
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/113001
Reviewed-by: Paul Berry <paulberry@google.com>
Commit-Queue: Leaf Petersen <leafp@google.com>
2019-08-14 23:42:03 +00:00
Vijay Menon a981bfe47b [dartdevc] fix virtual method computation due to nsm
Fixes https://github.com/dart-lang/sdk/issues/37855

Change-Id: I468d66fb8e88fa92a92eb99716a1a2d2d00f54ae
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/113124
Reviewed-by: Mark Zhou <markzipan@google.com>
Commit-Queue: Vijay Menon <vsm@google.com>
2019-08-14 22:07:41 +00:00
Leaf Petersen 81e98dd47b Update comment on assignability
Change-Id: I2ff2cf3a34e2eb545ed90dd725ecd13b7f1a55b2
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/113160
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
2019-08-14 21:21:47 +00:00
Vijay Menon 1eaa7d2902 [html] cleanup JS types
This ensures JS calls in the SDK are statically typed (or, at least, don't
inadvertently trigger dynamic calls).

Analyzer has a hack where `JS('String', ...)` is typed as `String`.  Kernel
doesn't, but we get the same effect (in DDK) via `JS<String>('String', ...)`.

This should not affect dart2js which specially interprets the type string
itself.

Change-Id: I63c5f199e2c51da2beca72659261acf1faff66e8
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/112937
Reviewed-by: Mark Zhou <markzipan@google.com>
Commit-Queue: Vijay Menon <vsm@google.com>
2019-08-14 18:02:09 +00:00
Erik Ernst a58052974e Adjusted Dart.g to contain the grammar updates of language repo PR 293
This CL makes several adjustments to the spec_parser grammar Dart.g,
such that the spec_parser can parse the proposed NNBD constructs,
cf. language PR #293.

Change-Id: Ieec00259d73b6037d6a87d5c97cfac40186baef0
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/101500
Reviewed-by: Leaf Petersen <leafp@google.com>
Commit-Queue: Erik Ernst <eernst@google.com>
2019-08-14 08:17:54 +00:00
Leaf Petersen 76c99bcd01 Add tests for internal name conflicts in extension methods
Change-Id: I7c2bed173f4d945ab83ab9157fcf650ddd4990ce
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/112645
Reviewed-by: Bob Nystrom <rnystrom@google.com>
2019-08-14 02:24:44 +00:00
Zichang Guo 647f2ec309 [vm] fix file_system_watcher_test.dart on Mac
Fix the failed bot

Change-Id: I8179e9bb03d2328a6c9385207ee594fda094a127
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/112960
Reviewed-by: Siva Annamalai <asiva@google.com>
Commit-Queue: Zichang Guo <zichangguo@google.com>
2019-08-13 23:38:15 +00:00
Régis Crelier 5852f5ae92 [gardening] Mark a few co19 tests as slow on bytecode interpreter.
Change-Id: Iedcd5a5de6eac102daa5e01d81fd1de6003b8535
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/112924
Reviewed-by: Alexander Markov <alexmarkov@google.com>
Commit-Queue: Régis Crelier <regis@google.com>
2019-08-13 20:29:24 +00:00
Zichang Guo d83425be57 [vm] DirectoryWatch on windows stop immeidate issueRead after initialization
Once DirectoryWatcherHandle is created, it immediately send IssueRead() request to start monitoring the changes in the dicectory. But when changes are comming too fast, the following dart side stream has not been listened. The stream will hang forever.

Bug: https://github.com/dart-lang/sdk/issues/37233
Change-Id: I6100e62331009c2922d84c970d911867370eaeab
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/111342
Reviewed-by: Siva Annamalai <asiva@google.com>
Commit-Queue: Zichang Guo <zichangguo@google.com>
2019-08-13 19:58:01 +00:00
Aart Bik b0968395f1 [vm/compiler] Minor heuristic change to reduce code size
Rationale:
Inlining constant constructors/mixin is practically always
profitable. So the heuristics have been changed to at least
consider these even at higher depth (note that they are of
course still subject to actual heuristics while inlining).

This brings back flutter gallery size to where it was
before mixins were introduced.

head:

VMIsolate(CodeSize): 4737
Isolate(CodeSize): 2005123                     101%
ReadOnlyData(CodeSize): 2212408                103%
Instructions(CodeSize): 7006928                100%
Total(CodeSize): 11229196                      101%

improved heuristic:

VMIsolate(CodeSize): 4737
Isolate(CodeSize): 1985691
ReadOnlyData(CodeSize): 2152880
Instructions(CodeSize): 6987616
Total(CodeSize): 11130924

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

Change-Id: I28de0fa6c92a785bbc47e9fa09ed55ae68593c0a
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/112758
Commit-Queue: Aart Bik <ajcbik@google.com>
Reviewed-by: Alexander Markov <alexmarkov@google.com>
2019-08-12 23:17:43 +00:00
Stephen Adams bd47ec2f37 [dart2js] new-rti: Simplification and branch-strengthening for 'is'
Change-Id: I49d712b303400fe2f2109b6c9f8fb684917df0ef
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/112701
Reviewed-by: Mayank Patke <fishythefish@google.com>
Commit-Queue: Stephen Adams <sra@google.com>
2019-08-12 20:40:06 +00:00
Leaf Petersen b21a5f1adf Fix bugs in static_extension_syntax_test.dart
Fix #37765

Change-Id: I4af67aae1b6e5fbb28371762261d20fccc90d8b7
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/112751
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
2019-08-12 19:38:39 +00:00
Brian Wilkerson 9eb2e8d111 Stop reporting duplicate diagnostics for other ambiguous extensions
Change-Id: Ia81c43f0ccd41aa09697b6f629fd1d5a3acd3923
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/112643
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com>
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
2019-08-12 18:04:11 +00:00
Johnni Winther 9adf3c119e [dart2js] Remove testing of no-constant-update-2018 state
Change-Id: If445307c28d9989f3b3c56d905e5bbe0d5f25ac6
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/112388
Reviewed-by: Stephen Adams <sra@google.com>
Commit-Queue: Johnni Winther <johnniwinther@google.com>
2019-08-12 07:20:23 +00:00
Stephen Adams e29d6d0ecb [dart2js] HValidator - k-limit inputs and usedBy validation
Change-Id: I73207f8bb82e70222ac058ac2fcf9cbb026cbad3
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/112603
Commit-Queue: Stephen Adams <sra@google.com>
Reviewed-by: Mayank Patke <fishythefish@google.com>
2019-08-09 23:41:25 +00:00
Konstantin Shcheglov 9713ce16b9 Report EXTENSION_CONFLICTING_STATIC_AND_INSTANCE and DUPLICATE_DEFINITION for extensions.
R=brianwilkerson@google.com

Change-Id: I237ee3edc6a2196693638c12c59d1530a1f15152
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/112605
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
2019-08-09 23:09:25 +00:00
Johnni Winther 9ec8d9ff25 [ddc] Merge modular/issue37523 test into modular/nested_constants test
Change-Id: I5d60de4468f8608fe275fccd2e4f833a8bcfb89d
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/112340
Reviewed-by: Nicholas Shahan <nshahan@google.com>
Commit-Queue: Johnni Winther <johnniwinther@google.com>
2019-08-09 17:33:44 +00:00
Daco Harkes 77f545bbc4 [vm/ffi] Fix instantiation and garbage collection of NativeType objects
Fixes: https://github.com/dart-lang/sdk/issues/37780

Change-Id: I04f5788ab2dbce13fd6bd906acb91b8acf6d7fb3
Cq-Include-Trybots: luci.dart.try:vm-ffi-android-debug-arm-try, app-kernel-linux-debug-x64-try, vm-kernel-linux-debug-simdbc64-try,vm-kernel-linux-debug-ia32-try,vm-dartkb-linux-debug-simarm64-try,vm-kernel-win-debug-x64-try,vm-kernel-win-debug-ia32-try,vm-dartkb-linux-debug-x64-try,vm-kernel-precomp-linux-debug-x64-try,vm-ffi-android-product-arm-try,vm-dartkb-linux-release-x64-abi-try
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/112390
Commit-Queue: Daco Harkes <dacoharkes@google.com>
Reviewed-by: Martin Kustermann <kustermann@google.com>
Auto-Submit: Daco Harkes <dacoharkes@google.com>
2019-08-09 16:47:24 +00:00
Daco Harkes 51f4574e50 Reland "[vm/ffi] Support structs on 32bit architectures"
Fixes alignment checks on GCC <= 7 and Clang <= 7.

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

Original CL is in patchset 1.

Tested GCC 7 and Clang 7 behavior of alignof and offsetof manually (our CQ uses newer tooling).

Change-Id: I828b00ad3d36be68a0d28b0a710fea938ca17784
Cq-Include-Trybots: luci.dart.try:vm-ffi-android-debug-arm-try, app-kernel-linux-debug-x64-try, vm-kernel-linux-debug-simdbc64-try,vm-kernel-linux-debug-ia32-try,vm-dartkb-linux-debug-simarm64-try,vm-kernel-win-debug-x64-try,vm-kernel-win-debug-ia32-try,vm-dartkb-linux-debug-x64-try,vm-kernel-precomp-linux-debug-x64-try,vm-ffi-android-product-arm-try,vm-dartkb-linux-release-x64-abi-try
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/112254
Reviewed-by: Martin Kustermann <kustermann@google.com>
Commit-Queue: Daco Harkes <dacoharkes@google.com>
2019-08-09 14:14:32 +00:00
Johnni Winther 19654f30d0 [cfe+vm+ddc] Return ClassHierarchy and CoreTypes together with Component
Users of the CFE often need the ClassHierarchy and may CoreTypes after
invoking the CFE. This CL extends the result of `kernelForProgram` and
`kernelForComponent` to a `CompilerResult` that includes these objects.

Change-Id: I08491198fe876b6514e49993ad794388d6662c9c
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/112259
Commit-Queue: Johnni Winther <johnniwinther@google.com>
Reviewed-by: Alexander Markov <alexmarkov@google.com>
2019-08-09 13:02:12 +00:00
Vyacheslav Egorov 573789f7f1 [cfe] Insert default super initializer when outlining const constructor
This ensures that it is invoked when performing constant evaluation
in modular setting.

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

Bug: 37794
Change-Id: I26c891044e030ac7702f02b2d4996984f9e898c6
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/112383
Commit-Queue: Vyacheslav Egorov <vegorov@google.com>
Reviewed-by: Johnni Winther <johnniwinther@google.com>
2019-08-09 11:26:59 +00:00
Martin Kustermann a347973cb2 [vm/ffi] Fix function_gc_test to use correct native for joining a helper thread
Change-Id: I1dd326f006254024914532ed2408949666749328
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/112381
Reviewed-by: Clement Skau <cskau@google.com>
Commit-Queue: Martin Kustermann <kustermann@google.com>
2019-08-09 08:32:50 +00:00
Johnni Winther b614253cdb Test CFE constants in side-effects test
Change-Id: I720a4e1b574a19aebb93dfab17a372f987f2cb71
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/99153
Commit-Queue: Johnni Winther <johnniwinther@google.com>
Reviewed-by: Sigmund Cherem <sigmund@google.com>
2019-08-09 07:11:52 +00:00
Mayank Patke af5a466e3b [dart2js] (Old RTI) Check function subtypes after checking for FutureOr.
Change-Id: I7d2feab60295304377e48fddce901aea1c79ce19
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/112481
Reviewed-by: Stephen Adams <sra@google.com>
2019-08-09 02:41:30 +00:00
Leaf Petersen 6d9c651fdd Fix typos in static_extension_internal_resolution tests.
Fix #37791
Fix #37792

Change-Id: Id00f7e3eacb6c44ed1914ad0a5748bc800a80af4
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/112404
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
2019-08-08 22:11:00 +00:00
Nicholas Shahan 8c834efae9 [dartdevc] Skip all tests on DDC for extension methods
We expect to turn down DDC in favor of DDK before shipping extension methods so
they will never be implemented.

Change-Id: I4f4ddfbf37ccec965d53b21eac9223e75b87d93c
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/112420
Reviewed-by: Vijay Menon <vsm@google.com>
Commit-Queue: Nicholas Shahan <nshahan@google.com>
2019-08-08 22:00:22 +00:00
Alexander Thomas 17aa00cf91 [co19] Skip LayoutTests and WebPlatfromTest
These tests test the browsers more than Dart. They are outdated, flaky,
and, therefore, often ignored by the teams working web technologies.

This CL Skips them pending their removal in an upcoming co19 roll.

Change-Id: I0646fbcbd06ea9ea4d74ec07149bfe3b8011a57d
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/112344
Auto-Submit: Alexander Thomas <athom@google.com>
Reviewed-by: Vijay Menon <vsm@google.com>
Commit-Queue: Alexander Thomas <athom@google.com>
2019-08-08 18:59:09 +00:00