Commit Graph

585 Commits

Author SHA1 Message Date
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
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
Zichang Guo b942142e9e [io] add testcases for link pointing to directory
As Alex suggested, add test for links of directory. Previous cl only check links pointing to a file.
https://dart-review.googlesource.com/c/sdk/+/122028/

Change-Id: I0529c9cdde3178a3364b0d091c833b5c63a39b47
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/122422
Reviewed-by: Alexander Aprelev <aam@google.com>
Commit-Queue: Zichang Guo <zichangguo@google.com>
2019-10-21 22:31:32 +00:00
Zichang Guo 57a88fc33c Reland "[io] exclude links from isDirectory()"
This is a reland of 49d743f940

Original change's description:
> [io] exclude links from isDirectory()
> 
> isDirectory() should not return true for links.
> 
> Bug: https://github.com/dart-lang/sdk/issues/35102
> Change-Id: I737345a581d6a50d7bccab0dbc10f1a31a57e219
> Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/121900
> Commit-Queue: Zichang Guo <zichangguo@google.com>
> Reviewed-by: Siva Annamalai <asiva@google.com>

Bug: https://github.com/dart-lang/sdk/issues/35102
Change-Id: Ifa4317ec77172d3f196f6f75307b940d614e27bb
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/122028
Reviewed-by: Siva Annamalai <asiva@google.com>
Commit-Queue: Zichang Guo <zichangguo@google.com>
2019-10-18 22:17:21 +00:00
Zichang Guo 50f9dd8941 Revert "[io] exclude links from isDirectory()"
This reverts commit 49d743f940.

Reason for revert: break vm-kernel-precomp-mac-release-simarm64 bot

Original change's description:
> [io] exclude links from isDirectory()
> 
> isDirectory() should not return true for links.
> 
> Bug: https://github.com/dart-lang/sdk/issues/35102
> Change-Id: I737345a581d6a50d7bccab0dbc10f1a31a57e219
> Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/121900
> Commit-Queue: Zichang Guo <zichangguo@google.com>
> Reviewed-by: Siva Annamalai <asiva@google.com>

TBR=asiva@google.com,zichangguo@google.com

Change-Id: I66ee7d3b3f0ae2bcf80b00e0f3c68bba3e520966
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: https://github.com/dart-lang/sdk/issues/35102
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/122060
Reviewed-by: Zichang Guo <zichangguo@google.com>
Commit-Queue: Zichang Guo <zichangguo@google.com>
2019-10-17 22:20:38 +00:00
Zichang Guo 49d743f940 [io] exclude links from isDirectory()
isDirectory() should not return true for links.

Bug: https://github.com/dart-lang/sdk/issues/35102
Change-Id: I737345a581d6a50d7bccab0dbc10f1a31a57e219
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/121900
Commit-Queue: Zichang Guo <zichangguo@google.com>
Reviewed-by: Siva Annamalai <asiva@google.com>
2019-10-17 21:05:56 +00:00
Ben Konyi 4e449069f2 [VM] Skip verbose_gc_to_bmu_test on precompiled configs
Change-Id: I3ad60a97543369e18c39b62bdb8cc098a5dd2fe8
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/121943
Reviewed-by: Alexander Aprelev <aam@google.com>
2019-10-17 15:58:28 +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
Samir Jindel ca669032c3 [vm/aot] Re-enable dwarf_stack_trace_test.
Fixes https://github.com/dart-lang/sdk/issues/38836

Change-Id: I8547022951a96fa69a662b56c8335ac6fbe8ffad
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/121702
Commit-Queue: Samir Jindel <sjindel@google.com>
Reviewed-by: Martin Kustermann <kustermann@google.com>
2019-10-16 09:27:03 +00:00
Ryan Macnak 71ecb73a2b [vm] Fix one MSAN failure; add UBSAN configuration.
Change-Id: I5b1d43836f3eb09983195fc3792f369aa3f8079f
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/120750
Reviewed-by: Chinmay Garde <chinmaygarde@google.com>
Commit-Queue: Ryan Macnak <rmacnak@google.com>
2019-10-09 23:38:30 +00:00
Zichang Guo 8866cdb8be [vm] throw exception if directory buffer overflows on Windows
According to https://docs.microsoft.com/en-us/windows/win32/api/winbase/nf-winbase-readdirectorychangesw,
When using ReadDirectoryChangesW, buffer overflows will still return true. It ends up closing the stream without any notification.
Throw an exception to notify users.

Bug: https://github.com/dart-lang/sdk/issues/37233
Change-Id: I9aebed8b1f30b5e843ad37a51b87d234aa1d8ce6
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/119524
Commit-Queue: Zichang Guo <zichangguo@google.com>
Reviewed-by: Siva Annamalai <asiva@google.com>
Reviewed-by: Alexander Aprelev <aam@google.com>
2019-10-09 19:59:52 +00:00
Ryan Macnak d5feab0c53 [vm] Create builds for LeakSanitizer, MemorySanitizer and ThreadSanitizer.
Change-Id: I65905ec76fcde8b7f4063cb5b80a3d034b453153
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/120323
Commit-Queue: Ryan Macnak <rmacnak@google.com>
Reviewed-by: Chinmay Garde <chinmaygarde@google.com>
Reviewed-by: Siva Annamalai <asiva@google.com>
2019-10-07 16:24:22 +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
Samir Jindel 362ef8e67c [vm/aot] Add a custom ELF loader in dart_precompiled_runtime.
Also switch some CQ bots using blobs to ELF. Once all embedders have migrated, we will remove blobs
support entirely.

Change-Id: Ie5e8c1187ad6c1af362b5715daafd3641bc8cc0e
Cq-Include-Trybots:luci.dart.try:vm-kernel-precomp-linux-debug-x64-try,vm-kernel-precomp-linux-release-simarm-try,vm-kernel-precomp-linux-release-simarm64-try,vm-kernel-precomp-bare-linux-release-simarm-try,vm-kernel-precomp-mac-debug-simarm_x64-try,vm-kernel-precomp-mac-release-simarm64-try,vm-kernel-precomp-win-release-x64-try,vm-kernel-precomp-android-release-arm-try
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/116620
Commit-Queue: Samir Jindel <sjindel@google.com>
Reviewed-by: Martin Kustermann <kustermann@google.com>
2019-09-24 15:03:19 +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
Alexander Aprelev 95db62d6a2 [vm/io] Return data right away if it's ready.
This fixes problem with directory watching on Windows where data might be accumulated before dart stream is setup.

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

Change-Id: I601842522e76e4a6a4e6a22d6b376a49af200e6f
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/115801
Reviewed-by: Zichang Guo <zichangguo@google.com>
Commit-Queue: Alexander Aprelev <aam@google.com>
2019-09-09 23:16:52 +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
Zichang Guo 92ed74e5f1 Reland "[vm] support zoneID for http"
This is a reland of c3db2e3ee0

Original change's description:
> [vm] support zoneID for http
> 
> Coming from https://dart-review.googlesource.com/c/sdk/+/103544.
> 
> Fixes: https://github.com/dart-lang/sdk/issues/37570
> Change-Id: I0f81cb5d8009dc929fca24e03a343a7b0c1597bc
> Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/110121
> Reviewed-by: Siva Annamalai <asiva@google.com>
> Commit-Queue: Zichang Guo <zichangguo@google.com>

Change-Id: I3692bf02fd29bc3bc8b9b54de1466075fecec1f3
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/115605
Reviewed-by: Siva Annamalai <asiva@google.com>
Commit-Queue: Zichang Guo <zichangguo@google.com>
2019-09-05 14:54:48 +00:00
Zichang Guo 05b7c55e8f Revert "[vm] support zoneID for http"
This reverts commit c3db2e3ee0.

Reason for revert: <INSERT REASONING HERE>

Original change's description:
> [vm] support zoneID for http
> 
> Coming from https://dart-review.googlesource.com/c/sdk/+/103544.
> 
> Fixes: https://github.com/dart-lang/sdk/issues/37570
> Change-Id: I0f81cb5d8009dc929fca24e03a343a7b0c1597bc
> Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/110121
> Reviewed-by: Siva Annamalai <asiva@google.com>
> Commit-Queue: Zichang Guo <zichangguo@google.com>

TBR=lrn@google.com,zra@google.com,asiva@google.com,zichangguo@google.com

Change-Id: I41e52b905b112a0e6f2a6c2c8c135a9ec6ef6869
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/115604
Reviewed-by: Zichang Guo <zichangguo@google.com>
Commit-Queue: Zichang Guo <zichangguo@google.com>
2019-09-04 22:17:48 +00:00
Zichang Guo c3db2e3ee0 [vm] support zoneID for http
Coming from https://dart-review.googlesource.com/c/sdk/+/103544.

Fixes: https://github.com/dart-lang/sdk/issues/37570
Change-Id: I0f81cb5d8009dc929fca24e03a343a7b0c1597bc
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/110121
Reviewed-by: Siva Annamalai <asiva@google.com>
Commit-Queue: Zichang Guo <zichangguo@google.com>
2019-09-04 15:42:01 +00:00
Karl Klose 29ca4e670a [infra] Remove non-essential test expectations with comments from analyzer status files
Change-Id: I43a5c85fe414c4fc9ed70b926d245c291ef0d28c
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/114853
Reviewed-by: Paul Berry <paulberry@google.com>
Commit-Queue: Karl Klose <karlklose@google.com>
2019-09-02 07:12:10 +00:00
Karl Klose ed55695f6b [infra] Remove non-essential test expectations with comments from kernel status files
Change-Id: I7f49b31abdf4786365ac2a1e6cedc5ddbfae2ee8
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/114852
Reviewed-by: Jens Johansen <jensj@google.com>
Commit-Queue: Karl Klose <karlklose@google.com>
2019-09-02 07:04:06 +00:00
Samir Jindel 1b288607f1 [vm] Make fragmentation_typed_data_test less flaky on Android.
Issue https://github.com/dart-lang/sdk/issues/37772

Change-Id: If6858bafdc3983fa679a9bb4990790d3602cfe6a
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/114862
Commit-Queue: Samir Jindel <sjindel@google.com>
Reviewed-by: Martin Kustermann <kustermann@google.com>
2019-08-28 17:05:12 +00:00
Karl Klose 5428119bee [infra] Remove non-essential test expectations from analyzer status files
Change-Id: I63fdbea8f7f800a362ee5a5ad2b708bb30e4ebf8
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/114060
Reviewed-by: Paul Berry <paulberry@google.com>
Commit-Queue: Karl Klose <karlklose@google.com>
2019-08-22 10:36:29 +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
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
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
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
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
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
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
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
Teagan Strickland f822dfa3ea Reland "[vm/compiler] Implement new inlining pragmas."
This change introduces two new pragmas:

* `@pragma('vm:never-inline')`
* `@pragma('vm:prefer-inline')`

These replaces the old way of specifying AlwaysInline or NeverInline
annotations when the (now removed) --enable-inlining-annotations flag
was used.

Bug: https://github.com/dart-lang/sdk/issues/36571
Change-Id: Iee152c1d67abde8d58c58fa967449d36e77c8c93
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/110440
Commit-Queue: Teagan Strickland <sstrickl@google.com>
Reviewed-by: Samir Jindel <sjindel@google.com>
2019-07-30 12:01:06 +00:00
Clement Skau a2aec5eb06 [test] Deflakes, un-excepts http_close_test.
http_close_test was given a test exception in issue 28380.

This CL adds Expects to check for the expected number of error
on both server and client in testClientCloseWhileSendingRequest.
It also moves the server.close() into the server error handler
to make sure we don't flakily close the server before all requests
are fully sent and received in both ends.
This should get rid of:
HttpException: Connection closed while receiving data, uri = /
  #0      _HttpIncoming.listen [...]

The modified test has been unflaky across a few hundred test runs
locally.

A few lints were also fixed in the process such as 'unnecessary new'.

Bug: https://github.com/dart-lang/sdk/issues/28380
Change-Id: I3470f70f7965c34f73da71489511e1cb2d1b7e42
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/109964
Commit-Queue: Clement Skau <cskau@google.com>
Reviewed-by: Martin Kustermann <kustermann@google.com>
2019-07-25 08:27:34 +00:00
Alexander Aprelev f66964c66d [vm/concurrency] Ensure library tag handler is set up on the isolate group, shared by all isolates in the group.
The library tag handler needs to be available during set up of child isolate, during kernel loading for the isolate(due to usage of native extensions).
Setting up library tag handler in initialize_isolate callback is too late for that.

Change-Id: Ie152d2c699ce3318e90325e693b6c66d30267d7d
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/110160
Reviewed-by: Ryan Macnak <rmacnak@google.com>
Commit-Queue: Alexander Aprelev <aam@google.com>
2019-07-23 20:03:42 +00:00
Siva Annamalai 27001fb289 Revert "[vm/compiler] Implement new inlining pragmas."
This reverts commit 629f38cf87.

Reason for revert: This CL seems to depend on constant_update_2018 flag being turned on by default. The CL that turns on constant_update_2018 has been reverted, so this CL is also being reverted.

Original change's description:
> [vm/compiler] Implement new inlining pragmas.
> 
> This change introduces two new pragmas:
> 
> * `@pragma('vm:never-inline')`
> * `@pragma('vm:prefer-inline')`
> 
> These replaces the old way of specifying AlwaysInline or NeverInline
> annotations when the (now removed) --enable-inlining-annotations flag
> was used.
> 
> Bug: https://github.com/dart-lang/sdk/issues/36571
> Change-Id: I2495c72819d94e43cefc837d4eb454b7b3d4140c
> Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/99148
> Commit-Queue: Teagan Strickland <sstrickl@google.com>
> Reviewed-by: Samir Jindel <sjindel@google.com>

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

Change-Id: Idc8e8344adb026a308af20c8b0d0224edb891d9c
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: https://github.com/dart-lang/sdk/issues/36571
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/109320
Reviewed-by: Siva Annamalai <asiva@google.com>
Commit-Queue: Siva Annamalai <asiva@google.com>
2019-07-16 22:33:00 +00:00
Teagan Strickland 629f38cf87 [vm/compiler] Implement new inlining pragmas.
This change introduces two new pragmas:

* `@pragma('vm:never-inline')`
* `@pragma('vm:prefer-inline')`

These replaces the old way of specifying AlwaysInline or NeverInline
annotations when the (now removed) --enable-inlining-annotations flag
was used.

Bug: https://github.com/dart-lang/sdk/issues/36571
Change-Id: I2495c72819d94e43cefc837d4eb454b7b3d4140c
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/99148
Commit-Queue: Teagan Strickland <sstrickl@google.com>
Reviewed-by: Samir Jindel <sjindel@google.com>
2019-07-16 09:41:12 +00:00
Todd Volkert cab2ca275d Update Socket to be a Stream<Uint8List>
Bug: https://github.com/dart-lang/sdk/issues/36900
Change-Id: I600c28aebbe35f9e650f969adf356dda4eb0cacd
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/104524
Commit-Queue: Todd Volkert <tvolkert@google.com>
Reviewed-by: Lasse R.H. Nielsen <lrn@google.com>
2019-07-08 16:42:47 +00:00
Alexander Markov 1eb113ba27 [vm/bytecode] Support native extensions
Change-Id: I224f740db674e20d643191605d0a7463bf85d39f
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/107451
Commit-Queue: Alexander Markov <alexmarkov@google.com>
Reviewed-by: Ryan Macnak <rmacnak@google.com>
2019-06-27 20:24:25 +00:00
Todd Volkert ddfde57069 Update File.openRead to return Stream<Uint8List>
Bug: https://github.com/dart-lang/sdk/issues/36900
Change-Id: Ib2e417f4baa0048e2d4c2156c250d0cf454fdf87
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/104523
Commit-Queue: Todd Volkert <tvolkert@google.com>
Reviewed-by: Lasse R.H. Nielsen <lrn@google.com>
2019-06-27 00:22:17 +00:00
Todd Volkert c92af46433 Update HttpRequest and HttpClientResponse to be Stream<Uint8List>
Bug: https://github.com/dart-lang/sdk/issues/36900
Change-Id: I1306b2df7c789597e49d2033b660a3ea62d6c1a4
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/104525
Commit-Queue: Todd Volkert <tvolkert@google.com>
Reviewed-by: Lasse R.H. Nielsen <lrn@google.com>
2019-06-27 00:21:07 +00:00
Alexander Markov 7b50b7a8e6 [vm/bytecode] Bootstrapping VM from bytecode
Previously, core snapshot was generated from AST
(because --enable-interpreter/--use-bytecode-compiler was not specified
when building core snapshot).

As the result, CL
https://dart.googlesource.com/sdk/+/da8cb470cc94830a98d49532e8d5d1a5b3d80f8b
which declared libraries in bytecode also removed bytecode entirely from
core snapshot in Dart SDK.

This CL enables bytecode by default if --bytecode argument is
specified for gn.py. This enables JIT compiler from bytecode
(interpreter is still disabled by default but can be enabled
using --enable-interpreter). Core snapshot and other
snapshots now have bytecode.

This change revealed a bunch of bugs which are fixed in this CL:

* _Closure fields were treated as unboxing candidates which triggered
  assertion in LoadFieldTOS in interpreter.

* Several places should load class declarations if they are not loaded yet.

* Canonicalization of TypeRef objects which are not fully initialized
  may cause duplicate entries in the hash table of canonical
  TypeArguments. This triggers assertions when hash table is rehashed.
  The solution is to avoid canonicalization of non-root recursive types
  and recursive type arguments. Also, TypeRef::Canonicalize and
  TypeRef::Hash are reverted to assert and work only if type was set.

* Native wrapper classes are eagerly stamped as type-finalized
  which caused assertion failures when reading their class declarations
  from bytecode.

* When building flow graph for FFI trampolines kernel offset of library
  (which is now declared in bytecode) was queried. Added special case
  to Function::KernelDataProgramOffset().

* In interpreter-only mode with simulator (e.g. SIMARM64) if simulator
  is not called before code is interrupted with stack overflow check,
  simulator returns get_sp() = 0, which was treated as stack overflow.

* test standalone_2/io/platform_resolved_executable_test.dart
  spawns sub-process but it didn't pass VM options.

Change-Id: I81bc4f1a4c6725cfa246a435ebe5d8abe43abc67
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/107199
Commit-Queue: Alexander Markov <alexmarkov@google.com>
Reviewed-by: Ryan Macnak <rmacnak@google.com>
Reviewed-by: Régis Crelier <regis@google.com>
2019-06-26 18:25:26 +00:00
Nate Bosch cf03e96b90 Remove appJit and precompiled compiler options
Towards #37318

- appJit has been replaced by appJitk and is no longer.
- precompiled has been replaced by dartkp and is no longer used.
- For the precompiled runtime, default to dartkp.
- Remove status file references to these compiler options and normalize
  status files.

Change-Id: I48728db13dc84737092a92314e2f474a9309f4d9
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/106942
Reviewed-by: Alexander Thomas <athom@google.com>
Reviewed-by: Martin Kustermann <kustermann@google.com>
2019-06-24 16:07:27 +00:00
Alexander Markov 0ae10fa68d [vm/bytecode] Support --causal_async_stacks in bytecode generator
Also, standalone_2/causal_async_stack_test is updated to actually
test --causal_async_stacks after Dart 2 sync-async.

Change-Id: I28a7a281963828707461652f19494ff54bdd21c8
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/106760
Commit-Queue: Alexander Markov <alexmarkov@google.com>
Reviewed-by: Régis Crelier <regis@google.com>
Reviewed-by: Ryan Macnak <rmacnak@google.com>
2019-06-20 20:23:37 +00:00
Robert Nystrom 99e8a9fba5 Move the test runner (i.e. "test.dart"/"test.py") to pkg/.
This makes it an actual Pub package like most other code inside the SDK
repo. The main goal is to make it easier to write tests for the test
runner itself.

This change:

- Moves all of the code from tools/testing/dart/ over to
  pkg/test_runner. Most of it ends up under test_runner/lib/src.

- Move tools/testing/dart/main.dart to
  pkg/test_runner/bin/test_runner.dart.

- Move standalone_2/io/test_runner_test.dart to
  pkg/test_runner/test/test_runner_test.dart. I don't think it currently
  works, but it wasn't being run in its old location either.

- Add test_runner to the analysis-server bot. This ensures the
  test_runner package is static error clean.

- Remove standalone_2/io/test_runner_analyze_test.dart which used to
  attempt to do the above and is no longer needed.

- Update test.py to look for the test runner at its new location.

- Add test_runner to the repo .packages file and remove the weird
  test_dart pseudo-package. (I think this fixes #35279.)

- Remove status file entries for the removed standalone_2 tests.

There are no code changes to the test runner itself aside from fixing
up import paths.

Change-Id: I3d05d50d222b291848fa5a30de2846e803bc81e6
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/105821
Commit-Queue: Bob Nystrom <rnystrom@google.com>
Reviewed-by: Jonas Termansen <sortie@google.com>
2019-06-14 23:35:10 +00:00
Alexander Markov fa28d5b912 [tests] Update failing standalone_2/io/http_* tests for Dart 2
Change-Id: I80cff0d2f864828386f1b8711810e960bbe00f3d
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/105729
Reviewed-by: Ryan Macnak <rmacnak@google.com>
Commit-Queue: Alexander Markov <alexmarkov@google.com>
2019-06-12 21:17:12 +00:00
Zach Anderson d4d9f0afaa [vm,dart:io] Check for socket connection success
Prior to this change, connection errors such as "Connection refused"
etc, are caught either by some error condition being detected by
the eventhandler thread and that error condition being propagated
to the Dart thread, or by the first read or write after a
"successful" connection failing with an error.

However, posix documentation for non-blocking sockets recommends
either checking getsockopt(SO_ERROR), or calling connect() a
second time following the first write event on a socket after
the first connect call returns EINPROGRESS.

On Fuchsia, this check is mandatory because errors like
"Connection refused" are neither signaled on the socket's
underlying OS handle, nor indicated by error returns from
read() and write().

This change adds the check, which is optional on other platforms,
but mandatory on Fuchsia, to the Dart socket connection loop
after the first write signal is asserted.

Change-Id: I8aeea4665913f79e8138bdd830676ae43066a959
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/104263
Reviewed-by: Ryan Macnak <rmacnak@google.com>
Commit-Queue: Zach Anderson <zra@google.com>
2019-06-01 01:52:47 +00:00
Jonas Termansen b3a06c1933 [dart:_http] Fix http_cookie_date_test.dart compile errors.
Fixes https://github.com/dart-lang/sdk/issues/28843
Change-Id: I544f9d13e68a41412b0a7dd00b7a6d20ce3ef99e
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/91222
Commit-Queue: Jonas Termansen <sortie@google.com>
Reviewed-by: William Hesse <whesse@google.com>
2019-05-27 12:46:39 +00:00
Jonas Termansen df95340f0c [dart:_http] Fix parsing of empty cookies and double quotes.
Commit a9ad427 introduced a bug that assumed the cookie value was at least
one character, but the cookie value can also be empty.

RFC 6265 5.2 does not specify any special behavior for double quotes and as
such they should be considered part of the value. This change stops
stripping those double quotes and instead preserves them.

The io/http_cookie_test test was skipped because it was considered flaky.
This change dusts it off and tests the new behavior.

This change adds the exact offsets and source to the FormatExceptions to
help the caller understand why a malformed cookie was rejected.

Fixes https://github.com/dart-lang/sdk/issues/33327
Fixes https://github.com/dart-lang/sdk/issues/35804
Change-Id: I3479ba48be5763c485bd3ca5b5d2d86d283df971
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/91221
Commit-Queue: Jonas Termansen <sortie@google.com>
Reviewed-by: Zach Anderson <zra@google.com>
Reviewed-by: William Hesse <whesse@google.com>
2019-05-23 10:05:36 +00:00