* Turn on strong mode by default when a platform file is present in the
bundle instead of using a flag passed into the engine which might not be
true when we invoke an installed app.
* - Roll dart to version fe96de2858f078e4ad04f8f30640184bf3d8102d
* Update license file.
* Roll Dart to 93d8c9fe2a2c22dc95ec85866af108cfab71ad06.
* Fix analyzer nits
* Try to pin dependency for tools/licenses to convert 2.0.1. Add verbose flag to pub get
* Pin dart to dev.16 to overcome pub issue
* Revert "Try to pin dependency for tools/licenses to convert 2.0.1. Add verbose flag to pub get"
This reverts commit d525a83f4494a511996226d328a5208d4651d46e as it is no
longer needed, was added to diagnose the problem, which turned out to be
a problem with pub in latest dart dev release.
* Fix license hash
* Reintroduce api methods and tests
* Add a --strong option to the front end server so we can use strong mode with preview-dart-2.
* Plumb the --strong option through the dart controller into the VM.
* - Build a strong version of platform.dill for use with the engine.
- Fix a strong mode static error in the assert statement
* Enable asserts when running debug version even in strong mode.
* Use the correct platform dill file for linking when doing the aot builds.
* Fix formatting issue.
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
* 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.
* 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.
- 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)
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.
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.
* 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
In a previous change I re-included the observatory assets in the Fuchsia build, but didn't notice this bit here.
After this, if Settings::enable_observatory can be set to true somehow, the Observatory will come up in Flutter apps on Fuchsia. Unfortunately, I'm not sure how to do that.