Commit Graph

3601 Commits

Author SHA1 Message Date
Ryan Macnak 98d31056a7 Change build.py to be like ninja.py and only use a single GN/Ninja invocation to cross-build the SDK. This step alone would fix #29580. This breaks cross-building the SDK with GYP.
Remove hack in bin/snapshot_utils.cc that avoided building a true app-jit snapshot for ARM, ARM64 and MIPS because of the multiple invocations above.

Add GN flags to choose to build script snapshots instead of app-jit snapshots, avoiding a slow training run inside a simulator.

Fixes #29580.

R=zra@google.com

Review-Url: https://codereview.chromium.org/2871713002 .
2017-05-08 13:06:09 -07:00
Zachary Anderson 4b4b8e8783 [Fuchsia] Allows non-regular files to be opened.
Fuchsia has lots of different file types that aren't covered by all of
the things that stat() understands, so we have to switch to
blacklisting directories.

See the discussion on https://codereview.chromium.org/2844493004/

R=abarth@google.com

Review-Url: https://codereview.chromium.org/2856913004 .
2017-05-02 14:47:33 -07:00
Erik Corry aa6353b6da Dart SDK Spelling b, c, and d.
R=kmillikin@google.com
BUG=

Review-Url: https://codereview.chromium.org/2850783002 .
2017-05-01 08:28:10 +02:00
Zachary Anderson be9c9f2237 [dart:io] Make Platform.localeName fall back on en_US if LANG is not defined
LANG is not defined on Fuchsia buildbots, causing some build-breakage.

R=pylaligand@google.com

Review URL: https://codereview.chromium.org/2843343002 .
2017-04-26 23:22:15 -07:00
Ryan Macnak 06080dae96 Fix some assertion failures on Fuchsia
- Fix longjmp asserts to work with -fsanitize=safe-stack.
 - Remove outdated asserts in gen_snapshot assuming generation of a core snapshot.
 - Move depfile resolution so it happens outside of the tag handler.

Issue #29458

R=asiva@google.com, johnmccutchan@google.com, zra@google.com

Review-Url: https://codereview.chromium.org/2837873005 .
2017-04-26 15:34:31 -07:00
Kevin Millikin d3fa66a559 Fix the front end compiler tests.
The front end tests run in a mode where the script is compiled to
Kernel, linked with the platform libraries, and written to disk as a
single binary containing both the script and platfrom libraries.

Ensure that this mode continues to work.

BUG=
R=asiva@google.com

Review-Url: https://codereview.chromium.org/2842913002 .
2017-04-26 00:41:44 +02:00
Kevin Millikin 71aa457a96 Fix broken precompiled runtime build.
In the precompiled runtime, none of the Kernel AST node classes are
defined.  Guard the code for reading Kernel programs by an #ifdef.

BUG=
R=zra@google.com

Review-Url: https://codereview.chromium.org/2838973002 .
2017-04-25 21:27:31 +02:00
Kevin Millikin 917cb4d80a Use a fully qualified type name.
BUG=

Review-Url: https://codereview.chromium.org/2841983002 .
2017-04-25 20:22:08 +02:00
Kevin Millikin 385f8fb054 Read platform.dill in the VM.
1. A --platform flag is added to dart to give a path to a Kernel
   binary for the platform libraries (as produced by building the
   runtime_kernel target).

2. This binary is used for bootstrapping.  Since it contains libraries
   other then the VM's bootstrap libraries, they are also loaded.

3. The frontend does not send any library with a dart: import URI
   scheme.  Note that it does not (yet) prune the canonical name
   table, which will contain a lot of unnecessary names used for
   internal linkages in the platform libraries.

4. There is a single dependency in the platform libraries on the
   script: _getMainClosure in dart:_builtin.  This is patched after
   the script is loaded.

BUG=
R=ahe@google.com, kustermann@google.com, vegorov@google.com

Review-Url: https://codereview.chromium.org/2786083002 .
2017-04-25 20:04:25 +02:00
Zachary Anderson d6cc48b8e1 [Fuchsia] Switch service protocol to bind to ipv6
This should work now.

R=rmacnak@google.com

Review-Url: https://codereview.chromium.org/2842783002 .
2017-04-25 09:53:49 -07:00
Zachary Anderson bdb4eb6338 [dart:io][windows] Implements RawSynchronousSocket
related #29343
fixes #29333

R=asiva@google.com

Review-Url: https://codereview.chromium.org/2830273002 .
2017-04-21 23:29:52 -07:00
Erik Corry 4b9bba55b4 Stoppp using trippple consonants
R=ahe@google.com
BUG=

Review-Url: https://codereview.chromium.org/2833073002 .
2017-04-21 17:50:13 +02:00
Jacob Richman b67e83eea3 Format all remaining unformatted runtime files other than multitests.
BUG=
R=johnmccutchan@google.com

Review-Url: https://codereview.chromium.org/2829463003 .
2017-04-18 15:34:03 -07:00
Zachary Anderson 9ce608e89d [dart:io] Adds ProcessInfo.{max,current}Rss. Adds OS::MaxRSS on Fuchsia.
R=rmacnak@google.com

Review-Url: https://codereview.chromium.org/2822943002 .
2017-04-17 14:41:40 -07:00
Zach Anderson d42f61155f [fuchsia] Use new mx_deadline_after interface
BUG=
R=zra@google.com

Review-Url: https://codereview.chromium.org/2822833002 .
2017-04-17 13:49:49 -07:00
Ryan Macnak b810cb2fe5 Ensure resolved packages before _Dart_kResolveAsFilePath.
R=johnmccutchan@google.com

Review-Url: https://codereview.chromium.org/2820853002 .
2017-04-14 15:55:03 -07:00
Ben Konyi 9745386d63 Added sync_socket_unsupported.cc to sources file
BUG=

Review-Url: https://codereview.chromium.org/2814293002 .
2017-04-12 15:22:41 -07:00
Ben Konyi 7549bc6b48 Added missing sync_socket_unsupported.cc and fixed issues in test which were causing analysis errors
BUG=
R=zra@google.com

Review-Url: https://codereview.chromium.org/2814283002 .
2017-04-12 15:13:10 -07:00
John McCutchan 9af072399e Fix reload bots
BUG=

Review-Url: https://codereview.chromium.org/2812373003 .
2017-04-12 14:36:38 -07:00
Ben Konyi 6fbdd19ddb Various fixes for sync socket implementation.
Revert "Revert "Added sync_socket.h include in sync_socket_win.cc""

This reverts commit 2bd6168e1ebf35f6dbd9b2724339362c493377fc.

Revert "Revert "Added synchronous socket implementation to dart:io.""

This reverts commit a47bce03f5502dac7fb12e777e87b5aa1cfc830b.

BUG=
R=zra@google.com

Review-Url: https://codereview.chromium.org/2814773004 .
2017-04-12 14:20:48 -07:00
John McCutchan 99c6a18a1b Attempt 2 -- 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.

Review-Url: https://codereview.chromium.org/2810223003 .
2017-04-12 14:02:19 -07:00
Ben Konyi b439bd9a54 Revert "Added synchronous socket implementation to dart:io."
This reverts commit a1f87ebdb8.

Revert "Added sync_socket.h include in sync_socket_win.cc"

This reverts commit bdec13e865.

BUG=

Review-Url: https://codereview.chromium.org/2812153002 .
2017-04-11 15:18:46 -07:00
Ben Konyi bdec13e865 Added sync_socket.h include in sync_socket_win.cc
BUG=
R=zra@google.com

Review-Url: https://codereview.chromium.org/2809153003 .
2017-04-11 15:14:35 -07:00
Ben Konyi a1f87ebdb8 Added synchronous socket implementation to dart:io.
BUG=
R=zra@google.com

Review-Url: https://codereview.chromium.org/2803543006 .
2017-04-11 14:41:09 -07:00
Zachary Anderson d52a6a39d5 [dart:io] Fix crash in fetching the error message from BoringSSL
fixes #29307

R=rmacnak@google.com

Review-Url: https://codereview.chromium.org/2812623005 .
2017-04-11 11:04:44 -07:00
Zachary Anderson 6756e4d3ce [fuchsia] Fix shutdown crash
R=rmacnak@google.com

Review-Url: https://codereview.chromium.org/2812753002 .
2017-04-10 15:46:08 -07:00
Ryan Macnak 42ec925a9e GN: Add libdart_jit and dart_api.
libdart_jit is always the JIT, unlike libdart which is either the JIT or AOT runtime depending on dart_runtime_mode. Clients of libdart will be updated to explicitly choose libdart_jit or libdart_precompiled_runtime.

dart_api allows libraries such as tonic or intermediate components of the Flutter engine to be agnostic as to whether they're in a JIT or AOT runtime, allowing the final executable making the choice without having to deal with a conflicting dependency brought in by a library.

Remove dead libdart_embedder_noio.

Replace all used of dart_nosnapshot* with dart_nosnapshot_with_precompiler*. We don't care about binary size of their clients, so it's better to have fewer targets.

R=zra@google.com

Review-Url: https://codereview.chromium.org/2814513003 .
2017-04-10 13:44:25 -07:00
John McCutchan 94df115e4b Revert "Fix updating packages map on reload and add a regression test"
This reverts commit 7a2d67f3ba.

BUG=

Review-Url: https://codereview.chromium.org/2808953003 .
2017-04-10 12:30:38 -07:00
John McCutchan 80c27841a3 Fix logic bug in loader code
BUG=

Review-Url: https://codereview.chromium.org/2815433002 .
2017-04-10 11:13:46 -07:00
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