For isolates spawned by the application via `Isolate.spawn()`ed, the VM
will create a "lightweight" isolate and invoke the `initialize_isolate`
embedder callback to initialize it.
The embedder-provided callback will be invoked with the active isolate
and is expected to return with that active isolate - irrespective of
whether it succeeded to initialize or not.
=> The unsuccessful path was using `Dart_ExitIsolate()` - which is
incorrect.
This PR fixes that by not exiting the isolate. As a side-effect of the
fix, we also do less `Dart_EnterIsolate()`/`Dart_ExitIsolate()` calls in
initialization (which makes it faster) and handle failure to spawn the
root isolate. Furthermore this PR removes some dead code and replaces it
with `FML_DCHECK()`s instead.
The PR adds a test that will set the root library to null which will make the
engine fail initializing of the isolate and therefore trigger this error handling
path.
Fixes https://github.com/flutter/flutter/issues/90478
* Roll Dart SDK from e256855d07ba to a3b62f366529 (4 revisions) (#21809)
* Roll Dart SDK from e655b9a3839e to b58cfe5ab24e (1 revision) (#21920)
* Roll Dart SDK from fc82eeed7df3 to 8be6a08153cc (1 revision) (#22005)
* Roll Dart SDK from fe12b0536f42 to a188781c9fc8 (1 revision) (#22379)
* Roll Skia from 95b5fb9213d7 to 68ac3b9ec3ca (17 revisions) (#22713)
* Roll Dart SDK from 2c74e62a050c to f9760fc12871 (5 revisions) (#22881)
* Roll Dart SDK from 68d1c7504f7d to f166571c7bc4 (1 revision) (#23056)
* Roll Dart SDK from 970d74c42472 to fd72dbb5b82b (1 revision) (#23820)
* Trigger an engine build to re-open the tree (#26056)
This commit is empty and simply triggers a new build to open the tree.
Commit e9ca785106ddc672d945062758800bdf1dd0aa68 was re-built after a
succesful build; upload to the cloud storage bin failed.
* Roll Skia from d9a7c5953df3 to 827bb729a84d (2 revisions) (#26096)
* Roll Dart SDK from d616108772bd to a527411e5100 (0 revision) (#26156)
* Roll Dart SDK from bb9d96ffbafa to 7250fd6379b2 (0 revision) (#26374)
* Roll Dart SDK from 202c42e3395c to 2e9c4305a6aa (1 revision) (#26578)
* Roll buildroot to 275038b8be7196927b0f71770701f3c2c3744860 (#26945)
* [test] empty commit (#27599)
https://flutter-review.googlesource.com/c/infra/+/15660
* Roll Dart SDK from e1414001c93b to 686070850ee3 (1 revision) (#27620)
* Empty commit to apply latest LUCI config (#27767)
* Roll Dart SDK from 3b11f88c96a5 to 976f160b547f (3 revisions) (#29436)
* Empty commit to fix main tree status (#29760)
* Add option to enable serial GC
This option can be used to avoid thread contention issues for the UI thread when running on low power devices with limited number of cores.
* Fix format.
* Added test.
* Add build rule.
* Address review comments.
Co-authored-by: skia-flutter-autoroll <skia-flutter-autoroll@skia.org>
Co-authored-by: Chris Bracken <chris@bracken.jp>
Co-authored-by: Casey Hillers <chillers@google.com>
This PR changes how embedder API's SendKeyData sends ui.KeyData to the framework. The packets are now sent over the existing platform messenger, reusing the entirety of its code path and functionalities while keeping the embedder API unchanged
* Set default profiling rate on iOS 32 bit devices to 500Hz
The current default profiling rate is 1000Hz in the VM.
Fixes https://github.com/flutter/flutter/issues/92421.
* Address comments
* Reland "Use the systrace recorder if systracing is enabled at startup, and enable systracing in release mode on Android (#28903)" (#29071)"
This reverts commit a7660964b41f64991369341364a43c93317a4a51.
* More logcat
* more logs
* Remove wait
* Avoid plugin registrar exception
* DEFAULT instead of LAUNCHER
* use am instead of monkey
* Update android_systrace_test.py