Commit Graph

3172 Commits

Author SHA1 Message Date
John McCutchan d75edfb408 Attempt to fix loader hangs
I cannot reproduce locally so I'm going off scraps from the buildbot logs

BUG=

Review-Url: https://codereview.chromium.org/2814543002 .
2017-04-10 10:12:04 -07:00
John McCutchan 7a2d67f3ba Fix updating packages map on reload and add a regression test
- [x] Update the isolate's .packages path when requested.
- [x] Always refresh package map when loader is initialized.
- [x] Add regression test.

BUG=
R=rmacnak@google.com

Review-Url: https://codereview.chromium.org/2797923008 .
2017-04-10 08:59:10 -07:00
James Robinson 92e9a2b7c2 Declare dependency from dart_io targets to zlib
runtime/bin/filter.cc uses zlib and is included in all of the dart_io
variants, so those targets should declare a dependency on zlib. This
dependency was being picked up incidentally by other targets before.

R=zra@google.com

Review-Url: https://codereview.chromium.org/2797253003 .
2017-04-05 16:41:28 -07:00
Ben Konyi 7520a2acae Removed duplicate variable definitions in socket_unsupport and socket_base_unsupported.
TBR=zra@google.com
BUG=

Review-Url: https://codereview.chromium.org/2803793002 .
2017-04-05 13:18:40 -07:00
Ben Konyi a89332d0f6 Fixed incorrect call to get a StdHandle in socket_base_win.cc caused by a bad rebase.
TBR=zra@google.com

BUG=

Review-Url: https://codereview.chromium.org/2797323002 .
2017-04-05 13:09:45 -07:00
Ben Konyi ddc4f30d75 Re-land socket refactor with fixes for Windows.
BUG=
R=zra@google.com

Review-Url: https://codereview.chromium.org/2797993005 .
2017-04-05 12:45:31 -07:00
Zachary Anderson 8c9c54d833 [dart:io] Don't close stdin with a socket finalizer
If an Isolate touches the 'stdio' getter, a _NativeSocket with
attached finalizer is created for it. Previously, when such an
Isolate exited, the finalizer would close the underlying
file descriptor. This CL changes the finalizer for stdin such
that the native objects will be cleaned up, but the underlying
file descriptor will not be closed. The underlying file
descriptor will now only be closed if the stdin stream
subscription is explicitly canceled.

Accessing the stdin getter after the stream is explicitly
canceled will result in a FileSystemException.

See also: https://github.com/dart-lang/test/issues/583

fixes #29229

R=rmacnak@google.com

Review-Url: https://codereview.chromium.org/2791423002 .
2017-04-04 13:57:42 -07:00
Ben Konyi 0386f7ab6f Reverting until bots clear up.
Revert "Pulled a significant portion of Socket implementation into BaseSocket in order to prepare for the synchronous socket impementations which will also use these common methods."

This reverts commit 0422920142.

Revert "Updated incorrect call to Write in process_win.cc"

This reverts commit 9e1435148b.

Revert "Fixed incorrect call to Write from process_win.cc"

This reverts commit 11dcab2bed3c9ec8ec76bc200206ac202a4a5681.

Fixed incorrect call to Write from process_win.cc

BUG=

Review-Url: https://codereview.chromium.org/2791163004 .
2017-04-03 17:25:47 -07:00
Ben Konyi 418ef46bfa Fixed incorrect call to Write from process_win.cc
Updated incorrect call to Write in process_win.cc

TBR=zra@google.com
BUG=

Review-Url: https://codereview.chromium.org/2798463002 .
2017-04-03 17:17:26 -07:00
Ben Konyi 9e1435148b Updated incorrect call to Write in process_win.cc
Pulled a significant portion of Socket implementation into SocketBase in order to prepare for the synchronous socket impementations which will also use these common methods.

TBR=zra@google.com
BUG=

Review-Url: https://codereview.chromium.org/2795913002 .
2017-04-03 17:13:20 -07:00
Ben Konyi 0422920142 Pulled a significant portion of Socket implementation into BaseSocket in order to prepare for the synchronous socket impementations which will also use these common methods.
BUG=
R=zra@google.com

Review-Url: https://codereview.chromium.org/2780063002 .
2017-04-03 17:05:11 -07:00
Jens Johansen 63f1de2068 Initial steps into streaming the kernel flowgraph
- Moved stuff into .h
- Leak kernel binary blob
- "Streaming" rethrow in FlowgraphBuilder

R=kmillikin@google.com

Review-Url: https://codereview.chromium.org/2776373002 .
2017-04-03 11:40:37 +02:00
Ryan Macnak d0529c8638 Nicer message when attempting to use Observatory from dart_bootstrap, dart_precompiled_runtime or an unnamed badly configured build.
R=johnmccutchan@google.com

Review-Url: https://codereview.chromium.org/2793603002 .
2017-03-31 13:29:52 -07:00
Zach Anderson bc923bed16 [dart:io] Reland: Adds Platform.localeName
The Mac OS build broke because a typedef wasn't added until 10.12.

related #29126

Review-Url: https://codereview.chromium.org/2786183003 .
2017-03-30 13:51:46 -07:00
Zachary Anderson e75df3cce3 Revert "[dart:io] Adds Platform.localeName"
This reverts commit ae6d854ec6.

The build failed on the mac build bots. Need to investigate.

Review-Url: https://codereview.chromium.org/2791453002 .
2017-03-30 13:35:02 -07:00
Zachary Anderson ae6d854ec6 [dart:io] Adds Platform.localeName
related #29126

R=fschneider@google.com

Review-Url: https://codereview.chromium.org/2785073002 .
2017-03-30 13:31:11 -07:00
Zach Anderson cc10a46a1d [dart:io][windows] Set the last error when a signal is unsupported
fixes #28603

R=fschneider@google.com

Review-Url: https://codereview.chromium.org/2779373004 .
2017-03-29 15:39:43 -07:00
Zach Anderson 141b6351ba [dart:io][windows] Use WriteFile instead of _write
This CL changes File::Write on Windows to call directly to WriteFile()
instead of using _write(). This avoids a number of complexities:
1. Don't need to bother with text vs. binary mode.
2. Don't need to check both errno and GetLastError if _write() fails.
3. Don't need to convert to a wchar_t* for console output since we've
   already set the code page to UTF8.

fixes #29101

R=fschneider@google.com

Review-Url: https://codereview.chromium.org/2761673002 .
2017-03-29 13:19:25 -07:00
Ryan Macnak 9575657668 AOT compiler changes for dart_content_handler:
- Move some misplaced entry points from the vm list to the standalone embedder list.
 - Add missing libdart_with_precompiler to GN.
 - Add ability to reference the root library in treeshaking roots without knowing its URI (as ::).

R=zra@google.com

Review-Url: https://codereview.chromium.org/2786483002 .
2017-03-29 10:12:05 -07:00
Zachary Anderson 7c8a0a7fe1 Fix Dartium build
Review-Url: https://codereview.chromium.org/2778953005 .
2017-03-28 08:42:30 -07:00
Zachary Anderson 89dba57bcf [dart:io] Adds a finalizer to _NativeSocket to avoid socket leaks
The finalizer sends the "close" message to the EventHandler for the
file descriptor in the _NativeSocket's native field. To avoid races and
spurious messages, this CL stores a pointer to a wrapper object in the
native field instead of the file descriptor. All messsages about the
_NativeSocket sent to the EventHandler use the wrapper object instead of
the file descriptor. When the EventHandler closes the file, the file
descriptor in the wrapper object is set to -1 so that the finalizer will
instead do nothing.

On Windows, there is another level of indirection since the OS HANDLEs
were already wrapped in various kinds of Handle objects. As an additional
complication, ClientSocket close on Windows is asynchronous, so the
EventHandler may shutdown before all of the ClientSocket Handles can be
destroyed.

related #27898, #28081

R=johnmccutchan@google.com

Review-Url: https://codereview.chromium.org/2760293002 .
2017-03-28 07:44:05 -07:00
P.Y. Laligand 8f03520d2b New dart CLI option to create a snapshot depfile. (#29165) 2017-03-27 06:44:21 -07:00
Ryan Macnak a42b802bcc Standalone support for AOT as dylibs on Fuchsia.
BUG=
R=zra@google.com

Review-Url: https://codereview.chromium.org/2774993002 .
2017-03-24 14:52:18 -07:00
Ryan Macnak 442d177d3d Make gen_snapshot quiet for the Fuchsia build.
R=zra@google.com

Review-Url: https://codereview.chromium.org/2774523002 .
2017-03-22 18:14:49 -07:00
Ryan Macnak 38da7d4858 Fix Dartium build.
Review-Url: https://codereview.chromium.org/2774533002 .
2017-03-22 18:05:54 -07:00
Ryan Macnak 2aecd5e588 Make --trace-loading great again.
R=fschneider@google.com

Review-Url: https://codereview.chromium.org/2775463002 .
2017-03-22 17:06:42 -07:00
Zachary Anderson 6f45ea2247 [vm service] Have HTTP server retry binding for 10 seconds
This is for Fuchsia, where Flutter apps may start before the network
stack has finished initializing.

R=johnmccutchan@google.com

Review-Url: https://codereview.chromium.org/2772463003 .
2017-03-22 14:20:39 -07:00
Jacob Richman a129931cda The formatter struggles a bit with these files.
BUG=
R=johnmccutchan@google.com

Review-Url: https://codereview.chromium.org/2765523003 .
2017-03-21 18:00:52 -07:00
Jacob Richman 4360e99d18 Revert "Fix observatory tests broken by running dartfmt."
This reverts commit b1f7e6d94673b098c93c187fe3efc45c15f27edc.

BUG=

Committed: https://github.com/dart-lang/sdk/commit/62be0eacfbb36bdc92a05c7c35bb4506621b6a3a
Review-Url: https://codereview.chromium.org/2767533002 .
2017-03-21 10:07:26 -07:00
Jacob Richman 62be0eacfb Revert "Fix observatory tests broken by running dartfmt."
This reverts commit b1f7e6d94673b098c93c187fe3efc45c15f27edc.

BUG=

Review-Url: https://codereview.chromium.org/2767533002 .
2017-03-20 22:19:22 -07:00
Jacob Richman 88f8aacd5f Re-apply rolled back CL to apply dartfmt to runtime.
Fix observatory tests broken by running dartfmt due to line and column changes.
Temporarily reverted formatting for evaluate_activation_test.dart as dartfmt doesn't yet handle multitests.

BUG=
R=johnmccutchan@google.com

Review-Url: https://codereview.chromium.org/2759973004 .
2017-03-20 21:44:59 -07:00
Ryan Macnak ea4744a06f Revert "Run dartfmt on all files under runtime."
This reverts commit 15f393f189.

The change caused many service test failures due to changed line numbers.

TBR=jacobr@google.com

Review-Url: https://codereview.chromium.org/2762583003 .
2017-03-20 13:42:55 -07:00
Zach Anderson 0140775f90 [dart:io][windows] Don't enable ENABLE_VIRTUAL_TERMINAL_INPUT
fixes #29104

R=fschneider@google.com

Review-Url: https://codereview.chromium.org/2763543003 .
2017-03-20 13:35:24 -07:00
Jacob Richman 15f393f189 Run dartfmt on all files under runtime.
I've omitted files where the formatter output is significantly uglier
than the original code and I'll send those files in a separate CL
with options for how to make the code look reasonable while still
taking advantage of the formatter.

BUG=
R=johnmccutchan@google.com

Review-Url: https://codereview.chromium.org/2751423005 .
2017-03-20 13:13:50 -07:00
John McCutchan a4adbffb50 Remove legacy restart code
Also fixes #29092 by threading Error objects back to the message handler.

BUG=
R=asiva@google.com, rmacnak@google.com

Review-Url: https://codereview.chromium.org/2759533002 .
2017-03-20 08:47:39 -07:00
Zach Anderson 8fdab25117 [dart:io][windows] Stdout.supportsAnsiEscapes is false when not connected to a terminal
Review-Url: https://codereview.chromium.org/2760503003 .
2017-03-17 13:07:42 -07:00
Zach Anderson b3093ecee6 [dart:io] Move Platform.ansiSupported to {Stdin,Stdout}.supportsAnsiEscapes
On Windows, some Windows 10 builds support only ANSI output, but not
input, so these need to be separated.

I'm also improving the detection on Mac and Linux to avoid hardcoding
the result. Instead, supportsAnsiEscapes will be true if isatty() and
the TERM environment variable contains the string 'xterm'.

related #28614

R=lrn@google.com

Review-Url: https://codereview.chromium.org/2753233002 .
2017-03-17 12:35:36 -07:00
Ryan Macnak 877284947b Rename TARGET_OS_* to HOST_OS_*.
Like HOST_ARCH_*, HOST_OS_* describes the OS the VM is running on, which may be different from the OS the VM is generating code for during AOT compilation.

Currently we conflate the two when emitting AOT as assembly, and we get away with it because Flutter only uses assembly for targeting iOS and one can only target iOS from a Mac, but we expect to use assembly for Android as well so native tools can unwind Dart frames.

R=zra@google.com

Review-Url: https://codereview.chromium.org/2750843003 .
2017-03-15 13:11:05 -07:00
Zach Anderson 607df1c822 [dart:io][windows] Reset the console on ctrl-c
fixes #28995

R=johnmccutchan@google.com

Review-Url: https://codereview.chromium.org/2750833003 .
2017-03-15 10:17:53 -07:00
Zach Anderson a8bf498e56 [dart:io] Adds Platform.ansiSupported
This is so that flutter_tool can determine whether it can print
ANSI codes to the terminal on windows.

fixes #28614,#28984

R=asiva@google.com

Review-Url: https://codereview.chromium.org/2739683005 .
2017-03-15 08:51:50 -07:00
Zachary Anderson 2388040784 [Fuchsia] vmservice creates a file in /tmp named with its port.
This is to allow the flutter_tool to quickly query a Fuchsia
device for the open vmservice ports.

R=johnmccutchan@google.com

Review-Url: https://codereview.chromium.org/2738373003 .
2017-03-10 14:32:38 -08:00
Zachary Anderson 7114d6cdcd [dart:io] Eagerly deallocate SSLFilter internals
related #29006

R=rmacnak@google.com

Review-Url: https://codereview.chromium.org/2741063003 .
2017-03-10 10:23:48 -08:00
Zachary Anderson e73edbc5d1 [Fuchsia] Bind Observatory to ipv4 any
Also fix a command line argument for creating the test image.

R=johnmccutchan@google.com

Review-Url: https://codereview.chromium.org/2740203002 .
2017-03-09 12:50:41 -08:00
John McCutchan 5128636521 Support DevFS paths encoded as URIs
Fixes #28972

Note that the path handling logic in DevFS is now complicated with three
possible sources of path information. After we roll this we should clean it
up and unify on Uri encoding

BUG=
R=turnidge@google.com

Review-Url: https://codereview.chromium.org/2733413003 .
2017-03-08 15:41:11 -08:00
Zach Anderson c3577833be Fix Windows dartium build
Review-Url: https://codereview.chromium.org/2738913002 .
2017-03-08 12:15:35 -08:00
Zach Anderson 92b746cd43 [dart:io][windows] Set Console VT modes
Though, apparently this only works for Windows 10. Windows 7 doesn't support the needed VT modes.

related #28984,#28614

R=rmacnak@google.com

Review-Url: https://codereview.chromium.org/2734323002 .
2017-03-08 11:02:37 -08:00
Zachary Anderson cbc9564f59 Use set_min_proto_version instead of set_min_version.
To align better with OpenSSL 1.1.0, BoringSSL is transitioning the APIs
from SSL_CTX_set_min_version to (the longer but more
upstream-compatible) SSL_CTX_set_min_proto_version.

BUG=
R=zra@google.com

Review-Url: https://codereview.chromium.org/2727663007 .
2017-03-06 08:49:44 -08:00
Ryan Macnak f10d354e98 Add --print-dependencies to gen_snapshot
Needed to fix https://github.com/flutter/flutter/issues/8514.

BUG=
R=rmacnak@google.com

Review-Url: https://codereview.chromium.org/2730943003 .
2017-03-03 13:28:24 -08:00
Vyacheslav Egorov a5e1f89583 VM: Fix an app-jit related shutdown race.
IsolateData contains AppSnapshot which might own some HeapPage-s, so we can't
destroy IsolateData in the Dart_IsolateShutdownCallback, because some thread
running in the isolate (e.g. background compiler) might still touch
thoses pages or objects they host.

We need to delay destruction of AppSnapshot until after the isolate shutdown.

Current API does not allow that, so we introduce a new isolate lifecycle
callback - Dart_IsolateCleanupCallback, which is invoked at the end of the
isolote lifecycle when things like background compiler have been stopped
and no Dart code is supposed to run.

BUG=
R=rmacnak@google.com

Review-Url: https://codereview.chromium.org/2720723005 .
2017-02-28 21:10:04 +01:00
John McCutchan 7e55c12e03 Add SILENT_OBSERVATORY environment variable to Observatory web server
BUG=
R=rmacnak@google.com

Review-Url: https://codereview.chromium.org/2715423002 .
2017-02-28 07:33:33 -08:00