238 Commits

Author SHA1 Message Date
Chinmay Garde
2f19645a76
Wait for Dart VM initialization before the letting the service isolate constructor access the VM object. (#6028)
The service isolate creation callback may occur on a background thread before
the call the Dart_Initialize within the DartVM construtor can finish. We store
pointers to various snapshots within the DartVM object. These snapshots are
necessary for to successfully create the service isolate. The isolate creation
callback access the global object within the ForProcessIfInitialized method.
This method can return null if the VM object has not been initialized. This
leads to the service protocol failing to start in a non-deterministic manner.
This patch moves the creation and access of the DartVM object within a critical
section.
2018-08-15 15:26:22 -07:00
Jason Simmons
9d471063cb
Do not log unwind errors during isolate shutdown (#6008) 2018-08-13 16:31:54 -07:00
Chinmay Garde
1eefcabe36
Check the kernel header magic to determine if a mapping may be a valid kernel blob. (#5997) 2018-08-10 15:12:48 -07:00
Siva
d90223fadf
Roll Dart to version 1be785ae2ddb1754a184cd638ab719e94d86b4e9 (#5985)
* Roll Dart to version 1be785ae2ddb1754a184cd638ab719e94d86b4e9

This rolls includes the following changes :

1be785ae2d Clean up some dead code
7b9fb893d2 [vm] Add a service method for 'invoke' as the dual to 'eval'.
099f1504fa Mention -O flag in CHANGELOG
79f69abace [vm/compiler] breakage fix: add missing break
96a1e9985f Fix the pkg bot
7818db20a7 Add analysis hint for invalid use of @visibleForTemplate code.
71d96019d1 [vm/compiler] Introduce 64-bit NEGATE - all archs.
5013a2ccc4 Remove spurious line.
ef2f777625 Mark some analyzer tests as being flaky
cf560fe17b Fix a couple of the tests failing on the analyzer with fasta parser bot
63c11693e6 [gardening] Fix language_2/type_variable_promotion_test.
d0f28884ff [VM] Fix expression evaluation implementation: Never register temporary/unused classes with the system.
e2a1807fc2 [gardening] Update status for io/compile_all_test in PRODUCT AOT mode
f7ff739448 Insert date of 2.0.0 release in Changelog
bcabad6014 [vm] Fix SIMARM64 build on Windows.
af02ccae83 [infra] Fix filesets for new vm-kernel-precomp builders
8e2f28e264 Update homebrew to drop the @2 tab and fix for 2.0
ba119d7292 [VM] Remove "$compiler == precompiler" sections from language_2_precompiler.status
f3a2c0e28f [release] Prepare changelog for 2.1.0-dev.0.0
88cba7d860 [vm/kernel/bytecode] Fix arguments descriptor for List._fromLiteral call in bytecode
bd45ec0c4b [vm, gc] Refactor PageSpace::CollectGarbage to ensure the safepoint and task count remain well-scoped even with early exits.
8195fd8c64 Repair dart2js/string_interpolation_test
a0b335ac6c Try no implicit casts in pkg/analyzer_cli.
3d25d3761b Update pub - leave packages directories alone
327db5e9ab [vm] Fix kernel_isolate use_field_guard flag for kbc
a1ca88f554 Resolve invocation arguments to parameters.

* Address source format error.
2018-08-09 16:24:16 -07:00
Chinmay Garde
33b412313e
Fix sundry Fuchsia build issues after the tonic/fxl migration. (#5920) 2018-08-01 13:29:45 -07:00
Jonah Williams
dcd2956f88
Initial support for more finely-grained a11y features on Window (#5901) 2018-07-31 18:18:19 -07:00
Chinmay Garde
9f8285ac6c
Remove all dependencies on Garnet. (#5869) 2018-07-26 12:49:34 -07:00
Chinmay Garde
336c23f846
Remove //flutter/glue and use FML directly. (#5862) 2018-07-25 13:20:48 -07:00
Chinmay Garde
33a4aef1d1
Fix build break caused by https://github.com/flutter/engine/pull/5830 (#5831) 2018-07-23 13:25:17 -07:00
Ryan Macnak
244ebd660c
Reapply "Fix Dart 2 reload when running from a snapshot instead of platform.dill." (#5830)
Without this flag, the VM will attempt to interpret a kernel file as source code.

Affects Fuchsia (FL-71) and code-push.
2018-07-23 12:28:17 -07:00
Jason Simmons
0bad812c72
Migrate to a standalone Tonic repository separated from Topaz (#5817) 2018-07-23 11:49:35 -07:00
Joshua Seaton
663b4925b8
[fml][fxl] Migrate AutoResetWaitableEvent to fml version. (#5808)
Thanks Jason for the speedy review
2018-07-20 10:12:38 -07:00
Stanislav Baranov
5d0e13a45b
Fix starting isolate directly from CoreJIT snapshot. (#5798) 2018-07-19 08:55:04 -07:00
sjindel-google
09ff9493e0
Re-land removal of vmservice_io from release builds. (#5784) 2018-07-19 15:21:21 +02:00
Ryan Macnak
e8d172cf30
Revert "Fix Dart 2 reload when running from a snapshot instead of platform.dill. (#5792)" (#5795)
This reverts commit 624cf7e25a2938c89975864fc2559ebcd839876e.
2018-07-18 13:18:05 -07:00
Ryan Macnak
624cf7e25a
Fix Dart 2 reload when running from a snapshot instead of platform.dill. (#5792)
Without this flag, the VM will attempt to interpret a kernel file as source code.

Affects Fuchsia (FL-71) and code-push.
2018-07-18 12:07:21 -07:00
Alexander Aprelev
1d126dab31
Enable sync-async (#5765) 2018-07-16 09:18:07 -07:00
Jonah Williams
2e57ecd38f
Revert rollback of "add assistiveTechnologyEnabled to window" (#5750) 2018-07-16 09:04:20 -07:00
Jonah Williams
9af920ef22 Revert "Add assistiveTechnologyEnabled flag to window" (#5746)
Reverts flutter/engine#5740
2018-07-13 15:55:49 -07:00
Jonah Williams
9ece2752aa
Add assistiveTechnologyEnabled flag to window (#5740) 2018-07-13 13:47:31 -07:00
Ben Konyi
672e587e74
Background Execution Implementation for iOS (#5539) 2018-07-13 10:55:24 -07:00
Jason Simmons
500f91bc49
Return a failure exit code in flutter_tester if an uncaught error occurs in a microtask (#5736) 2018-07-13 09:44:22 -07:00
Jonah Williams
48d6e1f891
Custom accessibility (local context) action support for iOS and Android. (#5597) 2018-07-11 10:27:50 -07:00
Chris Bracken
fed2ea458e
Revert "Remove vmservice_io.main from entry points. (#5625)" (#5711)
This caused failures in Flutter microbenchmarks.

See: flutter/flutter#19096 and flutter/flutter#19210

This reverts commit 4466d61a993fdbde2cb092b4da9bbef33d1962fe.
2018-07-10 16:57:23 -07:00
sjindel-google
4466d61a99 Remove vmservice_io.main from entry points. (#5625) 2018-06-29 13:10:12 +02:00
Jason Simmons
0f8386b998
Add Dart entry points accessed from native code for decodeImageFromPixels (#5613) 2018-06-25 16:05:07 -07:00
Ryan Macnak
ab1b0db966
No-copy kernel loading. (#5580)
Required by https://dart-review.googlesource.com/c/sdk/+/60202
2018-06-21 15:44:04 -07:00
Jason Simmons
efd6663344
Maintain a FontCollection for each engine instance instead of a process-wide singleton (#5521) 2018-06-13 14:28:21 -07:00
Ben Konyi
8d8d91bfc3
IsolateNameServer reland (#5519)
* Reland "Added IsolateNameServer functionality (#5410)"

This reverts commit c3976b3c7183f479717bffed3f640fb92afbd3dc.

* Fixed issue with isolate_name_server_test which caused test to timeout

* Disabled thread_annotations on Android as they aren't supported in the
NDK headers for std::mutex. Readded thread annotations to
IsolateNameServer.
2018-06-13 11:57:10 -07:00
Ben Konyi
c3976b3c71
Revert "Added IsolateNameServer functionality (#5410)" (#5516)
This reverts commit 61a2d129cfc8c52cf1ff59b03bccf67d9b07af63.
2018-06-12 17:03:13 -07:00
Ben Konyi
61a2d129cf
Added IsolateNameServer functionality (#5410)
* Added IsolateNameServer functionality, which allows for the association
of string names with isolate SendPort ids that can be used to establish
inter-isolate communications.
2018-06-12 15:50:48 -07:00
Chris Bracken
be02d0cf09
Revert "Eliminate support for Dart 1 (#5504)" (#5505)
Broke runtime_unittests, which are still running directly from source.

This reverts commit 0ea93c3a3e40426fd222ba22c2f60756c8a32097.
2018-06-11 18:12:10 -07:00
Chris Bracken
0ea93c3a3e
Eliminate support for Dart 1 (#5504)
Eliminates support for running directly from sources or script snapshots. In
debug mode, we run from a kernel snapshot; in profile and release modes, we
link in AOT-compiled code.

Renames --dart-non-checked-mode to --disable-dart-asserts since checked mode
does not make sense in Dart 2.
2018-06-11 17:00:43 -07:00
Zachary Anderson
a09b4fdcb7
Adds dynamic, interpreter configs to tools/gn (#5446)
Adds --dynamic and --interpreter flags to
tools/gn. These flags result in engines with
properties as follows:

--dynamic:
- JIT targeting native code on Android and
  DBC on iOS

--interpreter
- Target DBC even if running on Android.

For example:

gn --android --dynamic --interpreter --runtime-mode release

Will generate an engine:
- Without Dart asserts
- Without Observatory
- With JIT compililation to DBC

into out/android_dynamic_release_dbc
2018-06-05 14:52:52 -07:00
Alexander Aprelev
a83b37d35a
Roll dart to a5e41681e55d1e74684bfff530218db556d77ee8 (#5467)
* Roll dart to a5e41681e55d1e74684bfff530218db556d77ee8.

* Update license
2018-06-05 08:35:44 -07:00
Jason Simmons
78f46bd427
Log an error and cancel DartVM init if the VM/isolate snapshots are invalid (#5449)
See https://github.com/flutter/flutter/issues/18101
2018-06-01 17:34:25 -07:00
Alexander Markov
0470f1c8cc
Remove --limit-ints-to-64-bits Dart VM option (#5442) 2018-06-01 11:05:38 -07:00
Chinmay Garde
5441ee79ff
Allow embedders to specify a custom advisory URI and entrypoint. (#5408)
The Fuchsia embedder wants to specify the application name in the field for the advisory URI. This allows embedders to specify whatever they want.
2018-05-29 15:10:12 -07:00
Ben Konyi
bbbd930283
Removed sync_async flag from engine which was causing snapshot errors. (#5367)
Will be reenabled when sync-async is on by default in flutter/flutter.
2018-05-24 17:34:25 -07:00
Ryan Macnak
fb709e25e3
[fuchsia] Plumbing for sharing between AOT snapshots. (#5351) 2018-05-24 13:24:14 -07:00
Ryan Macnak
86d96fd0ce
Reapply "Don't link the core snapshot in the Android engine." (#5353)
Add back the core snapshot to runtime_unittests and embedder_unittests.
2018-05-23 17:09:51 -07:00
Ryan Macnak
2e9ff1f09a
Revert "Don't link the core snapshot in the Android engine. (#5348)" (#5352)
This reverts commit e0d4c4641386b8a81c7e9c3bc1a32172d81a785d.
2018-05-23 16:11:57 -07:00
Ryan Macnak
e0d4c46413
Don't link the core snapshot in the Android engine. (#5348)
Allows one to use a different core snapshot without a custom engine build by just packaging a different one in the APK.
2018-05-23 15:56:28 -07:00
Martin Kustermann
812423da5e
Restore functionality to run from .so file on Android (#5278)
Flutter AOT builds can be done on Android using .so files (instead of
separate instruction/data snapshots) using the `--build-shared-library`
flag.

Running from .so files stopped working after the engine refactoring in
58e84c8bf0, which this CL restores.

Issue https://github.com/flutter/flutter/issues/17236
2018-05-23 10:11:44 +02:00
Alexander Aprelev
45ebf1d4a6
Disable kernel-based expression evaluation. (#5290)
This should be reverted once dartbug.com/33087 is fixed.
2018-05-17 14:09:45 -07:00
Chinmay Garde
0167f9f908
Remove dart_vm_entry_points_fuchsia.txt as it has been moved to //topaz (#5291) 2018-05-17 13:41:36 -07:00
Ryan Macnak
30c649dd74
[fuchsia] Teach engine how to set up an isolate from a list of kernel files. (#5210) 2018-05-16 10:09:53 -07:00
Alexander Aprelev
bbfe593500
Enable flutter service protocol rpcs to run on UI isolate. (#5263)
With this change if flutter tools provides isolateId parameter, then VM will run the handler on that isolate. If no isolateId is provided, VM will continue running handlers as if they were registered wit Dart_RegisterRootServiceRequestCallback.

This goes towards fixing https://github.com/flutter/flutter/issues/17434
2018-05-16 07:29:20 -07:00
Ryan Macnak
e32e390328
Roll Dart to a5c11d7d0329432ca37e35bb249b20f60aa0aa31. (#5269)
Update engine for removal of Dart_ReadKernelBinary and refactored build targets.
2018-05-15 16:13:21 -07:00
Ryan Macnak
63fdebf209
Revert "Roll Dart to a5c11d7d0329432ca37e35bb249b20f60aa0aa31. (#5259)" (#5266)
This reverts commit 755dbeef4ac38f41e380f37ce17ffba2f7492c0a.
2018-05-15 13:26:51 -07:00