Commit Graph

3172 Commits

Author SHA1 Message Date
Adam Barth 85b73ddd40 [fuchsia] Migrate from zx_time_get to zx_clock_get
Change-Id: I498d751037ae240cb639d30adc125e0b14d756ef
Reviewed-on: https://dart-review.googlesource.com/36321
Reviewed-by: Zach Anderson <zra@google.com>
Commit-Queue: Zach Anderson <zra@google.com>
2018-01-22 22:46:35 +00:00
Zachary Anderson 71d356d5fe [fuchsia][dart:io] Allow the embedder to specify handles for stdio
The content handlers on Fuchsia can potentially give each Isolate
different handles to use for stdout and stderr. This change provides
a hook for an embedder to call to supply the handles to Dart, and
removes hardcoding of stdio handles to 0, 1, 2.

Change-Id: Ic03b77adc9a911e9c754562fa6a91f9929e10dfc
Reviewed-on: https://dart-review.googlesource.com/36122
Commit-Queue: Zach Anderson <zra@google.com>
Reviewed-by: Ryan Macnak <rmacnak@google.com>
2018-01-22 21:09:39 +00:00
Martin Kustermann 19b0f51add Revert "Make the decision, on whether to start the kernel isolate, liberal."
This reverts commit 8986a85426.

Reason for revert: This broke our sim* builders, for example:

  python tools/test.py -mdebug -c dartk -a simdbc64 service/next_through_assign_int_test

  ...
  ../../runtime/bin/main.cc: 202: error: expected: kernel_program != NULL
  ...

Unfortunately our sim* builders don't send out emails to authors because
they were setup with the new LUCI infrastructure.  This causes failures
like this to not get noticed in time.

Change-Id: I759da4ce93817135cc5ffb6e1e6f374723e0e6d8
Reviewed-on: https://dart-review.googlesource.com/35927
Reviewed-by: Martin Kustermann <kustermann@google.com>
2018-01-19 12:45:37 +00:00
Siva Chandra 8986a85426 Make the decision, on whether to start the kernel isolate, liberal.
Also, clean up kernel service program in the destructor of DFE.

Change-Id: If7abb59a9605358e437feb28be71c6aa3f4a9f0d
Reviewed-on: https://dart-review.googlesource.com/34501
Commit-Queue: Siva Chandra <sivachandra@google.com>
Reviewed-by: Siva Annamalai <asiva@google.com>
2018-01-18 23:05:25 +00:00
Zachary Anderson 9c40a7e662 Reland: [dart:cli] Adds waitFor(Future)
This is a reland of https://dart-review.googlesource.com/#/c/sdk/+/28920/
with the following changes:
- It creates a new library dart:cli
- waitFor(Future) goes in dart:cli instead of dart:io
- Removes a flaky test, and adds a missing precompiler entrypoint
- Adds waitFor(Future)
- Improves doc comments

fixes #31102

Change-Id: I04d2c46fd0afac049dd4fd1353905dc20da18f90
Reviewed-on: https://dart-review.googlesource.com/29449
Commit-Queue: Zach Anderson <zra@google.com>
Reviewed-by: Natalie Weizenbaum <nweiz@google.com>
Reviewed-by: Keerti Parthasarathy <keertip@google.com>
Reviewed-by: Sigmund Cherem <sigmund@google.com>
Reviewed-by: Siva Annamalai <asiva@google.com>
2018-01-18 16:38:54 +00:00
James Robinson 138d587e3a [gn] Remove uses of is_fuchsia_host GN variable
Some parts of the Dart build need to be customized when running the
host steps for a build ultimately targeting a Fuchsia build. This was
set by passing a special GN variable indicating that a configuration
was a host configuration targeting a Fuchsia build, but the built-in GN
variable 'target_os' has the same result as it is the same across all
toolchains in a particular build.  This replaces the test:
  is_fuchsia || is_fuchsia_host

with the equivalent:
  target_os == "fuchsia"

and the less common:
  is_fuchsia_host

with:
  target_os != current_os && target_os == "fuchsia"

Change-Id: Iabec1fb2879b234ca44c9e03b2f4a62ffbc6fa4a
Reviewed-on: https://dart-review.googlesource.com/35542
Reviewed-by: Zach Anderson <zra@google.com>
Commit-Queue: Zach Anderson <zra@google.com>
2018-01-18 06:05:56 +00:00
Peter von der Ahé 57cdeb2a28 Fix supertype of _RawDatagramSocket
Change-Id: I6c2e4aefce19718c5283ded7e666c4c2651f865f
Reviewed-on: https://dart-review.googlesource.com/34881
Commit-Queue: Peter von der Ahé <ahe@google.com>
Reviewed-by: Vyacheslav Egorov <vegorov@google.com>
2018-01-16 15:36:22 +00:00
Martin Kustermann 0bc46de838 [VM] Support spawning isolates when the main isolate was spawned from a Kernel IR file
Issue https://github.com/dart-lang/sdk/issues/31698

Change-Id: Ifc6662a3fd56245c10f5d924f771ef85ed9b222c
Reviewed-on: https://dart-review.googlesource.com/34742
Reviewed-by: Vyacheslav Egorov <vegorov@google.com>
2018-01-15 17:51:54 +00:00
Siva Chandra 4b73d12082 Link kernel service dill with the command line dart executable.
This linked in kernel service dill file will be used to load the kernel
isolate if the attempt to lookup the kernel service snapshot fails. The
kernel service snapshot is looked up in the following order.

1. If the "--dfe" option is specified, the file specified is used.
2. If the kernel service snapshot is found next to the executable,
then it is used.
3. If the kernel service snapshot is found in the "snapshots" directory
next to the executable, then it is used.

Change-Id: I5a0e757eb27b26a274b22b4bc36350fee59a100f
Reviewed-on: https://dart-review.googlesource.com/32446
Reviewed-by: Ryan Macnak <rmacnak@google.com>
Reviewed-by: Siva Annamalai <asiva@google.com>
Commit-Queue: Siva Chandra <sivachandra@google.com>
2018-01-12 20:40:41 +00:00
Ben Konyi 6be8d47b49 Fixed incorrect condition in FileModifiedCallback which reported all libs as being modified since last reload.
Bug:
Change-Id: I2dfc9b73db960763ac60dd626d683afae09c398f
Reviewed-on: https://dart-review.googlesource.com/34021
Reviewed-by: Siva Annamalai <asiva@google.com>
2018-01-12 00:04:31 +00:00
Siva Chandra 8d7bc506e0 Add a new boolean field "load_vmservice_library" to Dart_IsolateFlags.
Attempt 2.

This reverts commit 95d9ca4776.

Change-Id: I520a3d0f047f9435b4f3b7b728a5c6ceaf2beeb2
Reviewed-on: https://dart-review.googlesource.com/34222
Reviewed-by: Siva Annamalai <asiva@google.com>
Commit-Queue: Siva Chandra <sivachandra@google.com>
2018-01-11 22:19:49 +00:00
Erik Corry 95d9ca4776 Revert "Add a new boolean field "load_vmservice_library" to Dart_IsolateFlags."
This reverts commit d858aea231.

Reason for revert: This causes assertion failures on the Windows debug build.

Original change's description:
> Add a new boolean field "load_vmservice_library" to Dart_IsolateFlags.
> 
> If this field is set, then the vmservice library will be loaded into the
> isolate by the kernel loader.
> 
> Change-Id: I194bc186ce5b67f1009c7d7ca996a8b687d5f912
> Reviewed-on: https://dart-review.googlesource.com/32500
> Commit-Queue: Siva Chandra <sivachandra@google.com>
> Reviewed-by: Siva Annamalai <asiva@google.com>

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

Change-Id: I6ea8b543940d6e08d02a81e67f67248e9164b1e9
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://dart-review.googlesource.com/33861
Reviewed-by: Erik Corry <erikcorry@google.com>
Commit-Queue: Erik Corry <erikcorry@google.com>
2018-01-11 09:33:38 +00:00
Siva Chandra d858aea231 Add a new boolean field "load_vmservice_library" to Dart_IsolateFlags.
If this field is set, then the vmservice library will be loaded into the
isolate by the kernel loader.

Change-Id: I194bc186ce5b67f1009c7d7ca996a8b687d5f912
Reviewed-on: https://dart-review.googlesource.com/32500
Commit-Queue: Siva Chandra <sivachandra@google.com>
Reviewed-by: Siva Annamalai <asiva@google.com>
2018-01-11 05:42:17 +00:00
Ryan Macnak 340995ec5d Remove unused Dart_SaveJITFeedback.
Change-Id: I6b4ce6b8f18ff2788b22873044572b2a81b7b7ef
Reviewed-on: https://dart-review.googlesource.com/30624
Reviewed-by: Alexander Markov <alexmarkov@google.com>
Commit-Queue: Ryan Macnak <rmacnak@google.com>
2018-01-10 01:29:39 +00:00
Siva Annamalai 4ba69c4df5 Fixes for some strong mode issues in the isolate tests. Not able to turn
these tests on by default yet because of an issue in the stacktrace
package (see issue 31764)

Change-Id: Ifeb5dc4fc85e7d83b3011948133ce6d2a1998248
Reviewed-on: https://dart-review.googlesource.com/29480
Commit-Queue: Siva Annamalai <asiva@google.com>
Reviewed-by: Régis Crelier <regis@google.com>
2018-01-05 06:19:33 +00:00
Siva Chandra 914720524a [gen_snapshot] Do not add any dependency file in the kernel flow.
Adding a dependency file triggers resolving its file path using the
service isolate. However, in the kernel flow, gen_snapshot does not
initialize the service isolate. This does not seem to cause any problems
on Mac and Linux, but flutter crashes on Windows. On Linux and Mac,
the behaviour with this change matches the current behavior.

The correct dependency file to add to the dependencies file in the kernel
flow is the app dill file passed as input to gen_snapshot. But, this would
call for specifyint the application sources as the dependency for the app
dill file itself somewhere. We can revisit this and fix it up correctly if
needed. For now, this change unblocks the Windows builds.

Change-Id: Ic22a7ccc96548e005b85308c3baaeedb860f4dae
Reviewed-on: https://dart-review.googlesource.com/31280
Commit-Queue: Siva Chandra <sivachandra@google.com>
Reviewed-by: Siva Annamalai <asiva@google.com>
2017-12-22 21:07:44 +00:00
Alexander Aprelev d9173c0949 Sanitize file path before sending it to frontend.
This is important on Windows, where file path has to be massaged before processed as uri.

Bug:dartbug.com/31706
Change-Id: Ifa91d4b99ed443f4c3409a343b797211f578403d
Reviewed-on: https://dart-review.googlesource.com/31281
Reviewed-by: Zach Anderson <zra@google.com>
Reviewed-by: Alexander Markov <alexmarkov@google.com>
Commit-Queue: Alexander Aprelev <aam@google.com>
2017-12-22 17:09:24 +00:00
Ryan Macnak 9f4ffb64ef Partial static mode changes for vm-service and tests (part 2).
Bug: https://github.com/dart-lang/sdk/issues/31587
Change-Id: Ie2605f5043b9f5d2f9156928e3cd39f74e726853
Reviewed-on: https://dart-review.googlesource.com/30681
Reviewed-by: Siva Annamalai <asiva@google.com>
Commit-Queue: Ryan Macnak <rmacnak@google.com>
2017-12-20 00:45:28 +00:00
Ryan Macnak d528e1651f Reapply "Misc "strong" mode fixes for dart:io."
Remove changes to Socket.flush and Socket.done.

Split socket_test and socket_exceptions_test so we can minimize suppressions.

Bug: https://github.com/dart-lang/sdk/issues/31587
Bug: https://github.com/dart-lang/sdk/issues/31685
Bug: https://github.com/dart-lang/sdk/issues/27453
Change-Id: I3c44223480554f57d66be048c0361f6d0c699be2
Reviewed-on: https://dart-review.googlesource.com/30389
Reviewed-by: Zach Anderson <zra@google.com>
Commit-Queue: Ryan Macnak <rmacnak@google.com>
2017-12-19 21:41:47 +00:00
Ryan Macnak a51b45870c Revert "Misc "strong" mode fixes for dart:io."
This reverts commit c6f1ce24f3.

Reason for revert: standalone_2/io/socket_exception_test failing

Original change's description:
> Misc "strong" mode fixes for dart:io.
> 
> Bug: https://github.com/dart-lang/sdk/issues/31587
> Change-Id: I032be8e25aa8d6a851f0bf00ec12b1a3578308c6
> Reviewed-on: https://dart-review.googlesource.com/30080
> Reviewed-by: Zach Anderson <zra@google.com>
> Commit-Queue: Ryan Macnak <rmacnak@google.com>

TBR=rmacnak@google.com,zra@google.com,asiva@google.com

Change-Id: I9af0570577009b54e3a43f083008d65c4c3f9ba3
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: https://github.com/dart-lang/sdk/issues/31587
Reviewed-on: https://dart-review.googlesource.com/30420
Reviewed-by: Ryan Macnak <rmacnak@google.com>
Commit-Queue: Ryan Macnak <rmacnak@google.com>
2017-12-19 00:04:10 +00:00
Ryan Macnak c6f1ce24f3 Misc "strong" mode fixes for dart:io.
Bug: https://github.com/dart-lang/sdk/issues/31587
Change-Id: I032be8e25aa8d6a851f0bf00ec12b1a3578308c6
Reviewed-on: https://dart-review.googlesource.com/30080
Reviewed-by: Zach Anderson <zra@google.com>
Commit-Queue: Ryan Macnak <rmacnak@google.com>
2017-12-18 22:15:06 +00:00
Vyacheslav Egorov b2eab8b96e [VM/Service] Restore zero-copying handling of JSON messages in vmservice.
In 5a44162c97 in attempt to adhere to declared
method signatures we lost zero-copying JSON decoding of responses from
VM: `Message.sendToVM` was changed to always decode the response into
string before passing it to the caller and the logic to use fused
JSON decoding was removed. This increased peak memory consumption by
the VM Service.

This commit addresses the issue by restoring the zero-copying JSON decoding
logic while adding a wrapper around responses that make it clear what kind
of data is passed around and how that data is encoded and handled.

We introduce a class `Response` which can contain either a Dart string, a
binary data (represented as a Uint8List) or utf8 encoded string (represented
as a Uint8List). This class is used in all places where previously a String
or dynamic were used, e.g. MessageRouter.routeRequest is changed to return
Future<Response> rather than Future<String>. This allows callees to
decode JSON responses without copying them into Dart heap while
maintaining sufficient level of typing to make the code easy to reason about.

This commit also removes some dead code from the VM service related to old
Service API and TAR assets unpacking (which has been long done in C++).

Bug: https://github.com/flutter/flutter/issues/13626
Change-Id: Ifbba56944a552034a0f802a965a313326a1236e7
Reviewed-on: https://dart-review.googlesource.com/30280
Reviewed-by: Ryan Macnak <rmacnak@google.com>
Commit-Queue: Vyacheslav Egorov <vegorov@google.com>
2017-12-18 19:06:06 +00:00
Florian Loitsch f3e845cf48 Revert "Reland: [dart:io] Adds waitForEventSync"
This reverts commit 3ea5e13ad7.

Change-Id: Ic9fae69f3b7ef6e41aac3c7ebca3e1d288dbffb1
Reviewed-on: https://dart-review.googlesource.com/29589
Reviewed-by: Florian Loitsch <floitsch@google.com>
2017-12-14 14:10:45 +00:00
Vyacheslav Egorov daa7cbf517 [vm/io] Fix more typing issues socket_patch
Socket.{addStream,flush,close,get:done} are returning Future<dynamic>
not Future<Socket> because they simply delegate to IOSink which returns
Future<dynamic>.

Bug:
Change-Id: I3ba33b296d750b08d867d3a4e2bac38ee7968ef2
Reviewed-on: https://dart-review.googlesource.com/29322
Reviewed-by: Zach Anderson <zra@google.com>
Commit-Queue: Vyacheslav Egorov <vegorov@google.com>
2017-12-13 21:00:54 +00:00
Martin Kustermann 6e34fa1b75 [VM] Allow run_vm_tests to load like we do in normal dart
Our build files use non-appjit snapshots for kernel-service for
certain architectures, e.g. simulators.

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

Change-Id: I5162b8fe266f97710c50c347ae20b53cd66cf75d
Reviewed-on: https://dart-review.googlesource.com/29240
Commit-Queue: Martin Kustermann <kustermann@google.com>
Reviewed-by: Vyacheslav Egorov <vegorov@google.com>
2017-12-13 18:39:54 +00:00
Zachary Anderson 3ea5e13ad7 Reland: [dart:io] Adds waitForEventSync
The only fix needed for relanding is adding _ensureScheduleImmediate
to the list of vm entrypoints in //runtime/vm/compiler/aot/precompiler.cc

Original commit message:

Adds a top-level call waitForEventSync to dart:io that blocks the
thread an Isolate is running on until messages are available.
Before the thread blocks, the microtask queue is drained.
Before waitForEventSync returns, all messages are handled.

Lifting this up from a comment:

This is apropos of the request that nweiz@ sent to the mailing list a
couple weeks back. I'm not sure we should land this. We certainly
shouldn't land it without some annotations that will make the analyzer
complain a lot in most configurations, but I don't know what those
annotations are.

fixes #31102

Change-Id: Id96de46cc5f10e1847045cfafb7cfed6a38bce16
Reviewed-on: https://dart-review.googlesource.com/28920
Reviewed-by: Siva Annamalai <asiva@google.com>
Commit-Queue: Zach Anderson <zra@google.com>
2017-12-12 23:16:50 +00:00
Zach Anderson 9d8e6453d2 Revert "[dart:io] Adds waitForEventSync"
This reverts commit 2aed87a133.

Reverting for failures on precompiled bots.

Change-Id: I758bfc72d8f5e67b0e5e12a7367a47f1df9364e2
Reviewed-on: https://dart-review.googlesource.com/28900
Reviewed-by: Zach Anderson <zra@google.com>
Commit-Queue: Zach Anderson <zra@google.com>
2017-12-12 21:05:01 +00:00
Zachary Anderson 2aed87a133 [dart:io] Adds waitForEventSync
Adds a top-level call waitForEventSync to dart:io that blocks the
thread an Isolate is running on until messages are available.
Before the thread blocks, the microtask queue is drained.
Before waitForEventSync returns, all messages are handled.

Lifting this up from a comment:

This is apropos of the request that nweiz@ sent to the mailing list a
couple weeks back. I'm not sure we should land this. We certainly
shouldn't land it without some annotations that will make the analyzer
complain a lot in most configurations, but I don't know what those
annotations are.

Change-Id: If8286f4525994a162dd4f4563fefccb9d0984f7c
Reviewed-on: https://dart-review.googlesource.com/25281
Commit-Queue: Zach Anderson <zra@google.com>
Reviewed-by: Siva Annamalai <asiva@google.com>
2017-12-12 19:12:58 +00:00
William Hesse 455b177ebb Move GN default argument to a .gni import, to avoid duplicate loads.
Bug:
Change-Id: I1e6d2cfe2e2aec5a122c431963a2b0a9f79af652
R=athom@google.com,rnystrom@google.com
TBR=rnystrom@google.com,zra@google.com
Reviewed-on: https://dart-review.googlesource.com/28700
Reviewed-by: William Hesse <whesse@google.com>
2017-12-12 13:50:01 +00:00
Alexander Markov 0352170a8f [VM] Avoid depending on --kernel-binaries if .dill file is specified
If a .dill file is specified on the VM command line (dart/dart_bootstrap),
and --kernel-binaries is not specified, then this dill file is used as
the source of platform libraries.

It supports the case of AOT-compiling a self-contained .dill file.

Change-Id: I42956a20b98958b9a2440f156fbbef17bfc359f8
Reviewed-on: https://dart-review.googlesource.com/24341
Reviewed-by: Vyacheslav Egorov <vegorov@google.com>
2017-12-11 20:53:46 +00:00
Paul Berry eb3cf7c035 Strong mode fix for vmservice_io.dart.
The method _clearFuture needs to have return type `Server` so that it
can be used in a "then" call that's expected to return a value of type
`Future<Server>`.

Change-Id: Ia63309c16a2f28457e06a52419219c93a38ef389
Reviewed-on: https://dart-review.googlesource.com/26161
Commit-Queue: Paul Berry <paulberry@google.com>
Reviewed-by: Vyacheslav Egorov <vegorov@google.com>
2017-12-05 18:19:21 +00:00
Zachary Anderson 74071c0738 [dart:io] Fix getchar() error detection
fixes #31530

Change-Id: Ic88408b39cbba8aaac6c59356381161a2db3c2b0
Reviewed-on: https://dart-review.googlesource.com/26321
Commit-Queue: Zach Anderson <zra@google.com>
Reviewed-by: Martin Kustermann <kustermann@google.com>
2017-12-05 17:26:21 +00:00
Ryan Macnak 76842f7a70 [vm] Fix leak when generating snapshot depfile.
Use depfiles for the SDK's application snapshots.

Add check that we don't try to create a script snapshot after loading from an app snapshot.

Bug: TO-596
Change-Id: Ib4209c3062dbe0f3c37b8f65e5a50ca64544a39b
Reviewed-on: https://dart-review.googlesource.com/26043
Commit-Queue: Ryan Macnak <rmacnak@google.com>
Reviewed-by: Zach Anderson <zra@google.com>
2017-12-05 17:09:52 +00:00
Martin Kustermann 6957d0aeb7 Initialize Thread also during startup for run_vm_tests
[Gardening] Mark analyzer/test/src/dart/analysis/driver_kernel_test as Slow

Reviewed-on: https://dart-review.googlesource.com/26181
Reviewed-by: Martin Kustermann <kustermann@google.com>
Commit-Queue: Martin Kustermann <kustermann@google.com>
Change-Id: Ife44f4fe2d908736dc7e3ff80f077bc5475df4ba
Reviewed-on: https://dart-review.googlesource.com/26240
2017-12-05 11:56:35 +00:00
Martin Kustermann a94395ea5b Ensure timer and eventhandler is started for reload tests
The reload tests are now using kernel-isolate which requires
eventhandler and timer functionality.

Some of ahe@'s changes cause e.g. a division-by-zero trap due to the
TimerUtils not being setup.

Change-Id: Ie56cb222aef5f689d5a16975f960a157ad986845
Reviewed-on: https://dart-review.googlesource.com/25980
Reviewed-by: Vyacheslav Egorov <vegorov@google.com>
Commit-Queue: Martin Kustermann <kustermann@google.com>
2017-12-05 10:00:21 +00:00
Adam Barth 0df9248f26 Fix namespace bypass on Fuchsia
We were opening the untransformed path, which bypasses the namespace.
The other platforms appear to correctly use the transformed path in
their analogous code.

Change-Id: Ide9e98aa5a689a3634c30ff0fb53f7e5b2f25564
Reviewed-on: https://dart-review.googlesource.com/25514
Reviewed-by: Zach Anderson <zra@google.com>
2017-12-03 07:25:12 +00:00
Siva Chandra 4a19ab4e22 [gen_snapshot] Create and write dependencies in the kernel flow.
Fixes 31502

Change-Id: Idae179c0b37dfe9d6c26fe19bc25062e947f656c
Reviewed-on: https://dart-review.googlesource.com/25510
Reviewed-by: Ryan Macnak <rmacnak@google.com>
Commit-Queue: Siva Chandra <sivachandra@google.com>
2017-12-02 00:57:42 +00:00
Siva Chandra 124d592f59 [gen_snapshot] Separate the kernel flow.
Change-Id: I289f33637485c3865bef3d05855dbfef202f36f2
Reviewed-on: https://dart-review.googlesource.com/24561
Reviewed-by: Siva Annamalai <asiva@google.com>
Commit-Queue: Siva Chandra <sivachandra@google.com>
2017-11-30 05:33:42 +00:00
Zach Anderson c36cd6b143 Revert "Remove the now unused runtime/bin/snapshot_in.cc"
This reverts commit 5853eac5c0.

The file is still used in an internal build.

Change-Id: Idb336a8c01369d16d34d1cc8f2df4203fa1a7784
Reviewed-on: https://dart-review.googlesource.com/23880
Reviewed-by: Keerti Parthasarathy <keertip@google.com>
Commit-Queue: Zach Anderson <zra@google.com>
2017-11-27 17:57:21 +00:00
P.Y. Laligand c13e40613b [fuchsia] Update path to package template.
Change-Id: I6fbac01b875627adf9fb4dab708077a1c7c94be9
Bug:
Reviewed-on: https://dart-review.googlesource.com/23240
Reviewed-by: Zach Anderson <zra@google.com>
Commit-Queue: Zach Anderson <zra@google.com>
2017-11-23 06:49:56 +00:00
Ryan Macnak d366f9619a [vm] Toward deterministic builds.
- Remove random build-id.
 - Replace build time in embedded version string with commit time.
 - Remove timestamps from Observatory tarball.
 - Zero-initialize skipped bytes in snapshot streams.
 - Fix uninitialized fields in PatchClass, Script and Library.
 - Disable (under flag) random identity hashes and concurrent GC.

Bug: https://github.com/dart-lang/sdk/issues/31427
Change-Id: I3e95de679c8372841cd27ca60df78d9b00ffbfe1
Reviewed-on: https://dart-review.googlesource.com/22901
Commit-Queue: Ryan Macnak <rmacnak@google.com>
Reviewed-by: Zach Anderson <zra@google.com>
2017-11-23 00:07:56 +00:00
Siva Chandra 5853eac5c0 Remove the now unused runtime/bin/snapshot_in.cc
Change-Id: I7b857c55a162f11b6761aee44f3461a6d8a541c7
Reviewed-on: https://dart-review.googlesource.com/22841
Reviewed-by: Ryan Macnak <rmacnak@google.com>
Commit-Queue: Siva Chandra <sivachandra@google.com>
2017-11-22 18:24:48 +00:00
Martin Kustermann d38c08d973 Revert "Allow gen_snapshot to create a core snapshot from a platform dill file."
This reverts commit 5ac157c572.

Reason for revert:

  After a roll of this into flutter engine and a roll of flutter engine
  into flutter this broke flutter tests.

  In particular it causes us to not load the entire application from the
  dill file which makes us crash during lookup of embedder entrypoints,
  or more specifically during lookup of "main" since
  `I->object_store()->root_library()` is `null`.

Bug:
Change-Id: If3b05cba47ed20c2e9bfd48c89abd8200e0bf28b
Reviewed-on: https://dart-review.googlesource.com/23001
Reviewed-by: Vyacheslav Egorov <vegorov@google.com>
2017-11-22 12:17:46 +00:00
Régis Crelier f91f67a5be [VM] Emit type checks for incoming function arguments in strong mode.
Change-Id: Icd64913f0fc6ba54a0b8517bf05ae4babfae3bdc
Reviewed-on: https://dart-review.googlesource.com/19287
Reviewed-by: Siva Annamalai <asiva@google.com>
2017-11-18 00:31:35 +00:00
Alexander Markov 58ffdbf5fc [VM] Move kernel service to pkg/vm, populate pkg/vm with necessary files
* kernel-service.dart is moved to pkg/vm/bin and renamed to
  kernel_service.dart

* LICENSE, pubspec.yaml and analysis_options.yaml added to pkg/vm.

* Kernel isolate name is corrected to be independent of URI passed
  in --dfe VM option.

Change-Id: I5b7b860297314e240e557af80913e7ac3e6324ad
Reviewed-on: https://dart-review.googlesource.com/21260
Reviewed-by: Vyacheslav Egorov <vegorov@google.com>
Reviewed-by: Sigmund Cherem <sigmund@google.com>
Commit-Queue: Alexander Markov <alexmarkov@google.com>
2017-11-17 17:45:03 +00:00
Paul Berry 7a778cf47c Strong mode fix for vmservice_io.dart.
Change-Id: I3cb1b44969779018cccff91e45eba11d60afcd58
Reviewed-on: https://dart-review.googlesource.com/21568
Commit-Queue: Vyacheslav Egorov <vegorov@google.com>
Reviewed-by: Vyacheslav Egorov <vegorov@google.com>
2017-11-17 08:31:56 +00:00
Paul Berry ff898fded5 Strong mode fix for socket_patch.dart.
Change-Id: Icf5bcc7ba370ad9880c1565faf3ace046e47abe0
Reviewed-on: https://dart-review.googlesource.com/21262
Reviewed-by: Vyacheslav Egorov <vegorov@google.com>
Commit-Queue: Paul Berry <paulberry@google.com>
2017-11-15 20:45:31 +00:00
Alexander Markov c1212311bf [VM] Fix OOM handling when allocating buffers in dart:io
Reland 1d6c1020c9 with the fix for ASAN
bots.

* Test standalone_2/file_error_test is updated for Dart 2.0 fixed-size
  integers.

* This update revealed that certain dart:io native methods do not handle
  out-of-memory properly when I/O buffers are allocated.
  This CL fixes this bug.

* Updated test point is extracted to a separate test
  standalone_2/file_error2_test as it needs custom ASAN options.

Change-Id: Ifb1fa59828f36dc03d45c18a41d45da6b989d70a
Reviewed-on: https://dart-review.googlesource.com/20908
Reviewed-by: Zach Anderson <zra@google.com>
Commit-Queue: Alexander Markov <alexmarkov@google.com>
2017-11-15 18:06:31 +00:00
Paul Berry 7cec90293e [VM,libs] Add workaround for issue 31305.
The tear-off of _NativeSocket.multiplex needs to have runtime type
`(Object) -> void` in order to be passed to the RawReceivePort
constructor.  Once issue #31305 is fixed, we should be able to fix
this by marking _NativeSocket.multiplex's argument as "covariant".
Until then, we have to type the argument as `Object` and then assign
it.

Change-Id: I1c9b7fb77dd3b0a71037459206f8de30ad77f73e
Reviewed-on: https://dart-review.googlesource.com/20822
Reviewed-by: Sigmund Cherem <sigmund@google.com>
Commit-Queue: Paul Berry <paulberry@google.com>
2017-11-14 21:46:45 +00:00
Alexander Markov f28005819b Revert "[VM] Fix OOM handling when allocating buffers in dart:io"
This reverts commit 1d6c1020c9.

Reason: failures on ASAN bots as ASAN is not configured to
accept memory allocations with huge size.
Change-Id: Ibb3b27f60017fb42e0f36caea2262125f5bb40d0
Reviewed-on: https://dart-review.googlesource.com/20900
Reviewed-by: Alexander Markov <alexmarkov@google.com>
Reviewed-by: Zach Anderson <zra@google.com>
Commit-Queue: Alexander Markov <alexmarkov@google.com>
2017-11-14 21:33:25 +00:00