29 Commits

Author SHA1 Message Date
Ben Konyi
74a2d90530
Changes to assets/ build/ flow/ runtime/ and shell/ to allow for compilation on Windows (#4407)
Made changes to assets/ build/ flow/ runtime/ and shell/ to allow for
compilation on Windows.
2017-11-30 19:47:20 -05:00
Ian McKellar
d917c35e72
Allow Flutter apps on Fuchsia to shut down cleanly (#4366)
The UIDartState is now always owned by the isolate and always freed in
the isolate cleanup callback.

In the isolate shutdown callback, if the isolate being shut down is the
main isolate, the RuntimeController is informed which in turn notifies
the RuntimeHolder and thus the ApplicationControllerImpl. The
ApplicationControllerImpl tears down the whole Flutter application.

This fixes Fuchsia bug: MI4-328
2017-11-15 13:28:21 -08:00
Alexander Aprelev
ec19da1c80 Initialize service isolate from kernel file, rather than from embedded sources. (#4263)
* Read core platform kernel file during Dart initialization.

Currently service isolate is initialized from the source code parsed by VM.
This CL changes it so service isolate created during Dart initialization
is created from the kernel platform.dill file if it is present in the application
bundle. Then this platform kernel file is kept in dart_init module and reused
for application sciprt isolates.

* Reformat and merge

* Use accessor method

* Avoid passing running_from_kernel param. Add TODO for cleanup. Rename param.
2017-10-24 19:37:24 -07:00
P.Y. Laligand
6fcb45991d Move //dart to //third_party/dart. (#4245) 2017-10-19 01:20:38 -07:00
Zachary Anderson
d3ebce9cf6 Allow a non-main entrypoint (#4238) 2017-10-18 14:19:28 -07:00
Siva
5003703330 Fix for issue 12526 (#4218)
* Fix for issue 12526

Ensure that child isolates do not clear the dart_ui_state_ field present in the dart controller.

The commit dd1e0b59ec implemented code to reset the dart_ui_state_ back to null when an isolate was being shutdown to ensure there was no use after free issues when the main isolate exeutes Isolate.current.kill() it however it was also clearning the field when a child isolate was shutdown causing SEGVs later.

* Address code format issues.
2017-10-17 14:47:09 -07:00
Zachary Anderson
faaf321b01 Make Engine::RunBundle* reuse an existing RuntimeController (#4229) 2017-10-17 13:44:09 -07:00
Siva
79cb2eaf65 - Remove call to DartDebugger::InitDebugger in InitDartVM (#4167)
- Remove linking of dart_debugger.cc as this is not used
(all debugging is done using the service API, this debugger implementation uses the deprecated dart debugger API)
2017-10-03 16:49:43 -07:00
Ian McKellar
dd1e0b59ec Support cleaner Dart isolate shutdown handling. (#4121)
If an isolate shuts down (for example if an app calls
Isolate.current.kill()), the UIDartState* on DartController will refer
to a freed object. This wires through notification that the is shutting
down through to the DartController so it can clean up appropriately.

This also makes gives the vm-service isolate an UIDartState* so that
the shutdown callback can behave correctly.
2017-09-19 12:11:05 -07:00
Alexander Aprelev
0e8ffa24e0 Reverting to unblock engine roll (#4109)
* Revert "Make Travis happy again (#4101)"

This reverts commit c99b2559df05f4b5f547d26bb0a61d88809f5564.

* Revert "Support cleaner Dart isolate shutdown handling. (#4096)"

This reverts commit 05751f7be993316057d772e8334a783537e10e26.
2017-09-14 12:10:11 -07:00
Alexander Aprelev
1b367b06f1 Provide callback to free fetched bytes when reading kernel binary. (#4095) 2017-09-14 08:01:25 -07:00
Ian McKellar
05751f7be9 Support cleaner Dart isolate shutdown handling. (#4096)
If an isolate shuts down (for example if an app calls
Isolate.current.kill()), the UIDartState* on DartController will refer
to a freed object. This wires through notification that the is shutting
down through to the DartController so it can clean up appropriately.
2017-09-13 10:29:21 -07:00
Michael Goderbauer
08961f8ec5 Format all c-like sources with clang-format (#4088)
* format

* license script adaptions

* updated licenses

* review comments
2017-09-12 15:36:20 -07:00
George Kulakowski
3aa7522c11 Rename ftl to fxl in Fuchsia specific code (#4090) 2017-09-11 15:58:48 -07:00
Alexander Aprelev
64ac5e8ead Pass ownership of the kernel bytes to the Dart_LoadKernel. (#4078)
This is follow-up to c7faf2dc6b, which made Dart_LoadKernel responsible for the bytes.
2017-09-08 14:33:50 -07:00
Adam Barth
73554a1c32 Add //garnet (#4043)
This repository contains FTL now in the Fuchsia build.
2017-08-31 16:47:13 -07:00
Carlo Bernaschina
f5371156d2 Remove dependency from VM isolate name convention (#4007)
Dart_DebugName should be used just to make debug outputs more readable.

We remove the dependency from this API and form the UIDartState debug
name in the engine using the predefined format:
<script_uri>$main-<main_port>

This will allow the engine to change the format of the isolate name
without breaking the engine.
Related https://codereview.chromium.org/3004563003/
2017-08-25 11:11:52 -07:00
Alexander Aprelev
ba9a525bdc Update Flutter engine kernel-loading logic. (#3886)
* Fix Flutter loading from dill files.

* Remove disable of causal async stacks.

* Include mirrors patch files as they are needed for release/profile gen_snapshot

* Free the bytes

* Add FTL_DCHECK
2017-07-24 09:47:23 -07:00
Alexander Aprelev
89d16cc4ab Use Dart_Closure instead of looking up _getMainClosure (#3850)
* Use Dart_Closure instead of looking up _getMainClosure

* Restore comment

* Fix comment

* Restore comment
2017-07-06 17:53:24 -07:00
Ryan Macnak
1084a83f11 AOT for Fuchsia. (#3570) 2017-04-11 14:53:14 -07:00
Jason Simmons
29f289acbb Remove dart:jni (#3546)
Fixes https://github.com/flutter/flutter/issues/9129
2017-03-31 13:07:52 -07:00
Dan Rubel
304355436b modify RunFrom<X> methods to return error code rather than call exit (#3428) 2017-02-21 11:31:27 -05:00
Dan Rubel
481049f9cd add kernel support (#3369) 2017-02-16 10:11:38 -05:00
Jason Simmons
d317fb3b9d Return the expected exit code if sky_shell sees a compilation error during script loading (#3389) 2017-02-03 12:14:35 -08:00
Jason Simmons
8e7d68f823 Return an exit code from sky_shell representing what kind of error occurred (#3368)
This is intended to match the exit codes returned by the Dart command line tool
2017-01-27 09:59:08 -08:00
Ryan Macnak
adef37080f Adapt to refactoring of snapshot APIs in the Dart VM. (#3354)
Adapt to refactoring of snapshot APIs in the Dart VM.
2017-01-23 12:09:59 -08:00
Adam Barth
63e71803de Unlink from mojo (#3187)
After this patch, we no longer link with Mojo. We still use some gn definitions
from //mojo to create Dart packages.
2016-10-28 15:01:07 -07:00
Ryan Macnak
8303461914 Roll Dart VM. (#3167) 2016-10-24 12:32:10 -07:00
Adam Barth
4cab94e949 Invert the relationship between lib/ui and sky/engine (#2920)
Now lib/ui depends on sky/engine rather than the reverse.
2016-08-12 16:12:07 -07:00