Commit Graph

3172 Commits

Author SHA1 Message Date
Ryan Macnak 646de0b77e Re-enable Platform.executable under precompilation.
Because the snapshot is passed explicitly, there is no longer the risk of a test that is valid running as a script becoming a fork-bomb when running as an AOT snapshot.

Fixes #26417

R=asiva@google.com

Review URL: https://codereview.chromium.org/2487363003 .
2016-11-11 16:19:02 -08:00
Siva Annamalai 4a9cc3e5fe Fix test breakage in checked mode.
BUG=
R=rmacnak@google.com

Review URL: https://codereview.chromium.org/2497693002 .
2016-11-11 15:01:32 -08:00
James Robinson e18404fd3b Revert "[gn] Consolidate exec_script calls to speed up generation"
Appears to break builds with errors like:

ninja -C xcodebuild/ProductX64 runtime
ninja: Entering directory `xcodebuild/ProductX64'
ninja: error: '../../runtime/vm/async_patch.dart', needed by 'obj/runtime/vm/concatenate_async_patch.inputdeps.stamp', missing and no known rule to make it
BUILD FAILED
step returned non-zero exit code: 1
@@@STEP_FAILURE@@@

This reverts commit ad86d6ed26.

BUG=

Review URL: https://codereview.chromium.org/2492053002 .
2016-11-10 15:17:38 -08:00
James Robinson ad86d6ed26 [gn] Consolidate exec_script calls to speed up generation
Calling out to python from GN to process gypi files is relatively
expensive with a 20-45ms fixed overhead for setup/teardown regardless
of what the script does. This makes runtime/vm/BUILD.gn take 1-1.5s
(per toolchain) to run as the template for libraries expands
out to 25 calls to gypi_to_gn.py, even though the actual time spent
processing the gypi files is negligible.

This replaces those repeated calls to gypi_to_gn.py with a call to a
custom script that process all of the gypi files needed for runtime/vm
and places the results into a single scope which can then be read from
in the template and replaces a few other scattered calls to
gypi_to_gn.py with a smaller number of calls that process multiple
gypi files and place the results into a single scope.

The end result is processing all of dart's GN files in a fuchsia build
takes ~250ms instead of >3 seconds.

R=zra@google.com

Review URL: https://codereview.chromium.org/2472813002 .
2016-11-10 15:10:45 -08:00
Zachary Anderson 630d24bec8 clang-formats remaining files and adds a presubmit check.
R=asiva@google.com, johnmccutchan@google.com

Review URL: https://codereview.chromium.org/2483363002 .
2016-11-09 12:43:57 -08:00
Ryan Macnak 0d830711bf Fix Windows build.
Review URL: https://codereview.chromium.org/2481013005 .
2016-11-07 16:38:30 -08:00
Ryan Macnak 987165f022 Reload native extensions when starting from a snapshot.
Fixes #21180
Fixes #27574

R=johnmccutchan@google.com

Review URL: https://codereview.chromium.org/2475523002 .
2016-11-07 16:17:47 -08:00
John McCutchan 14297ee480 Add an environment variable toggle to control new service protocol auth token
BUG=
R=asiva@google.com

Review URL: https://codereview.chromium.org/2486443002 .
2016-11-07 14:45:52 -08:00
Adam Barth 3581dd209e Update hardcoded file system path on Fuchsia 2016-11-05 11:10:41 -07:00
Zachary Anderson 479a97b129 clang-format runtime/bin
R=johnmccutchan@google.com

Review URL: https://codereview.chromium.org/2480793002 .
2016-11-04 12:30:56 -07:00
Zachary Anderson 52b94871a7 Fuchsia: Fix run_dart_vm_tests build
Review URL: https://codereview.chromium.org/2474273004 .
2016-11-04 08:43:31 -07:00
Adam Barth 1e4092f5a8 Use the new argument ordering for mx_cprng_draw
BUG=
R=abarth@google.com, zra@google.com

Review URL: https://codereview.chromium.org/2479683002 .
2016-11-03 15:09:53 -07:00
Adam Barth 0de5c9a03f Use the new mx_object_get_info parameter ordering
BUG=
R=zra@google.com, abarth@google.com

Review URL: https://codereview.chromium.org/2475083002 .
2016-11-03 14:17:41 -07:00
Adam Barth 7cfd287674 Move to the new mx_handle syscall argument order
BUG=
R=abarth@google.com, zra@google.com

Review URL: https://codereview.chromium.org/2475543004 .
2016-11-03 14:16:53 -07:00
Zachary Anderson 40073c3844 Remove unused handles array missed in previous patch.
BUG=
R=zra@google.com

Review URL: https://codereview.chromium.org/2479453002 .
2016-11-03 13:59:00 -07:00
Ryan Macnak 9dfbd3d2fa Suppress error dialogs on Windows.
Issue #27749

R=johnmccutchan@google.com

Review URL: https://codereview.chromium.org/2470823006 .
2016-11-03 11:00:08 -07:00
Adam Barth 46c326fae3 Update usage of mx_handle_wait_many() API.
BUG=
R=abarth@google.com

Review URL: https://codereview.chromium.org/2468423002 .
2016-11-02 22:48:18 -07:00
Ryan Macnak 0c3773fd71 Allow Platform.executable for JIT app snapshots.
Because they run on a VM that can also run from source, they don't have the same fork-bomb problem we have when running with AOT.

Related to #26417

R=asiva@google.com

Review URL: https://codereview.chromium.org/2466363003 .
2016-11-02 16:28:09 -07:00
Zachary Anderson 62f55ee76f Remove no-op SSL_CTX_set_cipher_list_tls11 call.
By configuring the same list twice, this function call doesn't do
anything. This mechanism is also no longer useful and is slowly being
wound down.

(That API is remnant of when we had RC4. Both RC4 and CBC mode ciphers
are horribly broken. For a time, whether you preferred RC4 or CBC varied
depending on what version you had since the CBC mode ciphers are
increasibly broken the further back you go. Now RC4 is completely gone
anyway, so it's not useful. Regardless, the way Dart uses it never did
anything.)

BUG=none
R=whesse@google.com

Review URL: https://codereview.chromium.org/2470553002 .
2016-11-02 10:05:16 -07:00
Vyacheslav Egorov 206daf356e Delete builtins that became unused after source loading was refactored.
BUG=
R=johnmccutchan@google.com

Review URL: https://codereview.chromium.org/2468993002 .
2016-11-02 15:02:24 +01:00
Adam Barth 823bb1a0a2 Remove use of the deprecated mx_current_time Fuchsia syscall
BUG=
R=abarth@google.com, zra@google.com

Review URL: https://codereview.chromium.org/2466003002 .
2016-11-01 14:01:04 -07:00
Adam Barth 6b52846b2c Update use of mx_handle_wait_one().
BUG=

patch from issue 2465123003 at patchset 20001 (http://crrev.com/2465123003#ps20001)
2016-11-01 13:42:31 -07:00
Ryan Macnak 4d65db8a95 Don't use IsolateData for the exit hook as multiple embedders share the dart/bin while using different isolate data structures.
Issue flutter/flutter#6506

R=asiva@google.com

Review URL: https://codereview.chromium.org/2463923002 .
2016-10-31 15:56:25 -07:00
John McCutchan 63e4f69e5e Provide an API to dart:developer to control the web server hosting the Service Protocol
- [x] Add `ServiceProtocolnfo` class to dart:developer.
- [x] Add `Service` class to dart:developer.
- [x] Add `Service.getInfo` static method to dart:developer.
- [x] Add `Service.controlWebServer` static method to dart:developer.

API:

```dart

/// Information about the service protocol.
class ServiceProtocolInfo {
  /// The major version of the protocol.
  final int majorVersion;
  /// The minor version of the protocol.
  final int minorVersion;
  /// The Uri to access the service. If the web server is not running, this
  /// will be null.
  final Uri serverUri;
}

/// Access information about the service protocol and control the web server.
class Service {
  /// Get information about the service protocol.
  static Future<ServiceProtocolInfo> getInfo();

  /// Control the web server that the service protocol is accessed through.
  static Future<ServiceProtocolInfo> controlWebServer({bool enable: false});
}
```

... and add a randomly generated authentication token path prefix that must be passed in to access the service protocol.

Old base url:

Observatory listening on http://127.0.0.1:54804/

New base url:

Observatory listening on http://127.0.0.1:54804/<token>/

For example:

Observatory listening on http://127.0.0.1:54804/PTwjm8Ii8qg=/

Many tools will need to be updated.

Fixes #23320

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

Review URL: https://codereview.chromium.org/2438613002 .
2016-10-31 12:32:23 -07:00
Zachary Anderson be11752b14 Use 'mx_channel' instead of deprecated 'mx_msgpipe' naming
BUG=
R=zra@google.com

Review URL: https://codereview.chromium.org/2458703004 .
2016-10-31 11:10:06 -07:00
Zachary Anderson e29da6037b Small cleanups and linter fixes.
Review URL: https://codereview.chromium.org/2455983002 .
2016-10-27 05:02:20 -07:00
Vyacheslav Egorov eb8c24e133 Reland "Merge more Kernel infrastructure from kernel_sdk SDK fork."
R=zra@google.com
BUG=

Review URL: https://codereview.chromium.org/2451623006 .
2016-10-27 10:09:22 +02:00
Zachary Anderson 55094eadd7 Fuchsia: fix build
Review URL: https://codereview.chromium.org/2448323005 .
2016-10-26 09:50:05 -07:00
Zachary Anderson c1313a5ec7 Format GN files and add a presubmit check that GN is properly formatted
R=johnmccutchan@google.com

Review URL: https://codereview.chromium.org/2451613005 .
2016-10-26 08:50:54 -07:00
Zachary Anderson e3f1794ba3 GN: Fix dart_bootstrap build
Makes sure we are using the no_snapshot variants of the libraries,
that we get builtin.cc instead of builtin_nolib.cc, and that all of
the right library sources get built in.

fixes=27668

R=vegorov@google.com

Review URL: https://codereview.chromium.org/2449223004 .
2016-10-26 08:24:23 -07:00
Vyacheslav Egorov 12968edb9c Revert "Reland "Merge more Kernel infrastructure from kernel_sdk SDK fork.""
This reverts commit 4e7a31262e.

Windows bots are broken now.

R=zra@google.com
BUG=

Review URL: https://codereview.chromium.org/2451893004 .
2016-10-26 17:07:18 +02:00
Vyacheslav Egorov 4e7a31262e Reland "Merge more Kernel infrastructure from kernel_sdk SDK fork."
This relands commit 2fed1c3905 with fixes to ensure that analyzer summaries are correctly created and XARM build does not try to use target binaries on the host.

R=zra@google.com
BUG=

Review URL: https://codereview.chromium.org/2453773002 .
2016-10-26 16:48:28 +02:00
Vyacheslav Egorov cf7ff42e60 Revert "Merge more Kernel infrastructure from kernel_sdk SDK fork."
This reverts commit 2fed1c3905.

SDK builds are failing

TBR=zra@google.com

Review URL: https://codereview.chromium.org/2455593002 .
2016-10-26 13:06:27 +02:00
Vyacheslav Egorov 2fed1c3905 Merge more Kernel infrastructure from kernel_sdk SDK fork.
- bring patched SDK generation scripts and VM patch tweaks that allow VM patch files to be parsed by analyzer front-end;
  Patched SDK is an SDK with all VM patches spliced into it. Kernel compiler is based on the analyzer front-end which does
  not have any patch files support/model so for it to produce Kernel files that match VM we need to generate a such patched SDKs.

- bring test script modifications that allow to test Kernel pipeline

BUG=
R=asiva@google.com, kmillikin@google.com, whesse@google.com, zra@google.com

Review URL: https://codereview.chromium.org/2434123003 .
2016-10-26 13:02:54 +02:00
Zachary Anderson 103881d01c Make header include guards great again
i.e. #ifndef VM_WHATEVER -> #ifndef RUNTIME_VM_WHATEVER

This lets us remove a hack from the PRESUBMIT.py script that existed
for reasons that are no longer valid, and sets us up to add some
presubmit checks for the GN build.

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

Review URL: https://codereview.chromium.org/2450713004 .
2016-10-26 00:26:03 -07:00
Zachary Anderson 624675349a Stub out Socket::LookAddress on Fuchsia
BUG=
R=zra@google.com

Review URL: https://codereview.chromium.org/2446343002 .
2016-10-25 13:07:23 -07:00
Ryan Macnak 7c14d5e7d7 Exit gen_snapshot and log an error if an output file path is invalid
BUG=
R=rmacnak@google.com

Review URL: https://codereview.chromium.org/2440113003 .
2016-10-21 16:04:32 -07:00
Zach Anderson b6ea87c444 [windows] Make most file_win.cc functions use malloc for string conversions.
They have been using Dart_ScopeAllocate(), which makes them impossible
to use outside of a scope.

Also turn on inlining in the GN Debug windows build to match the gyp build
and speed things up a bit.

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

Review URL: https://codereview.chromium.org/2439173002 .
2016-10-21 14:55:37 -07:00
Zachary Anderson 2312ff7cf4 Fuchsia: Use mx_handle_wait_many in the eventhandler
This is to set up for more handles coming in from sockets, etc.

R=asiva@google.com

Review URL: https://codereview.chromium.org/2438903002 .
2016-10-21 13:38:06 -07:00
Siva Annamalai 9c737d6055 Adjust help message.
R=fschneider@google.com

Review URL: https://codereview.chromium.org/2441553002 .
2016-10-20 13:54:35 -07:00
Zachary Anderson 8200955ed0 Fuchsia: Add native symbol resolver. Small fixes.
R=asiva@google.com

Review URL: https://codereview.chromium.org/2438843002 .
2016-10-20 13:39:35 -07:00
Zachary Anderson 1baa650388 Fuchsia: Fix eventhandler for changed syscall return
Review URL: https://codereview.chromium.org/2433833005 .
2016-10-20 07:47:26 -07:00
Siva Annamalai 941b0c8c39 Fix build.
BUG=

Review URL: https://codereview.chromium.org/2426383003 .
2016-10-19 18:01:41 -07:00
Siva Annamalai 36a237c88d Fix build.
Review URL: https://codereview.chromium.org/2431253004 .
2016-10-19 17:48:01 -07:00
Siva Annamalai af4d246ef1 Cleanup options for use of application snapshots
- unified kAppAfterRun and kAppJITAfterRun to kAppJIT
 - adjusted the test configuration to make dart2app and dart2appjit to mean
   the same
 - delete GenerateFullSnapshot function as it is not used anymore

R=rmacnak@google.com

Review URL: https://codereview.chromium.org/2429023002 .
2016-10-19 17:42:01 -07:00
Ryan Macnak c9c33d9db3 Implement File::Map on Windows.
R=zra@google.com

Review URL: https://codereview.chromium.org/2430473002 .
2016-10-19 16:36:01 -07:00
Zachary Anderson 16db33b7a2 Propagate errors correctly in Socket.connect
socket.port can throw an exception. The error from the
exception, if there is one, has to go to the completer,
not be thrown up the stack, otherwise it may go to the
enclosing Zone rather than e.g. a try ... catch around
await Socket.connetc().

This is a possible fix for the issue below, but it is
tough to say because I don't have a reliable repro.

related #27440

R=asiva@google.com

Review URL: https://codereview.chromium.org/2426413006 .
2016-10-19 15:12:59 -07:00
Zachary Anderson 9d29251368 Remove dependency on Fuchsia's runtime library.
This library is no longer publicly exposed. The only functionality used
by it is the utility function for printing mx errors, which has now
moved into the vDSO and is available in <magenta/status.h>.

R=zra@google.com, zra@chromium.org

Review URL: https://codereview.chromium.org/2428373005 .
2016-10-19 15:09:32 -07:00
Ryan Macnak 5ee94eb837 Generate an app snapshot even if the training run does a hard exit.
(As the analyzer and pub do.)

R=asiva@google.com

Review URL: https://codereview.chromium.org/2426843002 .
2016-10-19 09:37:47 -07:00
Zach Anderson df260e5fe7 Fix crashes on debug windows
Review URL: https://codereview.chromium.org/2426053002 .
2016-10-18 09:37:04 -07:00