100 Commits

Author SHA1 Message Date
Chinmay Garde
ad5b722a72
Simplify the fallback waiter and add traces for vsync scheduling overhead. (#8185) 2019-03-18 15:49:16 -07:00
Chinmay Garde
4b01d795fe
Add frame and target time metadata to vsync events and connect platform vsync events using flows. (#8172)
This will allow us to easily visualize the time the platform informed the engine of a vsync event, its arguments, and when the engine began its UI thread workload using this information.
2019-03-14 16:48:01 -07:00
Chinmay Garde
246f0e3f4a
Add an allocator specific check to ensure that strings passed to the timeline are not heap allocated. (#8168)
Verified that the tests fail on issues like https://github.com/flutter/engine/pull/8166. Unfortunately, there is no x-platform way to perform this check but this should gate incorrect traces being added to the engine.
2019-03-14 14:15:46 -07:00
Jason Simmons
403337ebb8
Do not pass short-lived buffers as labels to Dart_TimelineEvent (#8166)
Dart no longer makes a copy of the label string when recording events.

See https://github.com/flutter/engine/pull/8152
2019-03-14 12:49:42 -07:00
Chinmay Garde
906d684a77
Reland ""Add support for trace counters with variable arguments and instrument the raster cache." (#8145)
This reverts commit bc901324faf5a24f9220cc7ecbcf5b97b96ae09f and fixes the
discovered on Windows builds.
2019-03-13 13:53:22 -07:00
liyuqian
fc2e6b61c8
Typo "fast an inline" to "fast and inline" (#8142) 2019-03-12 15:27:33 -07:00
Chinmay Garde
bc901324fa
Revert "Add support for trace counters with variable arguments and instrument the raster cache. (#8094)" (#8122)
This reverts commit 2a0d3542851ae59c2d2f490d1111eeb57b0da388.
2019-03-11 15:09:24 -07:00
Chinmay Garde
2a0d354285
Add support for trace counters with variable arguments and instrument the raster cache. (#8094) 2019-03-11 14:44:43 -07:00
Chinmay Garde
7f16789b2e
Remove redundant thread checker in FML. (#8053)
There is already fml/memory/thread_checker.h
2019-03-05 20:07:10 -08:00
Chinmay Garde
8529dbc865
Remove unused FML file export.h (#7926)
We should not be exporting anything from FML anyway.
2019-02-22 12:44:09 -08:00
Alexander Aprelev
2acd79480a
Add fml::FileExists implementation for Windows (#7845) 2019-02-15 12:42:41 -08:00
Jason Simmons
050dcaad60
Embed ICU data inside libflutter.so on Android (#7588)
Prior to this the Android embedder code would extract the icudtl.dat asset out
of the APK and write it to local disk during the first startup of the app.

This change will make that work unnecessary and eliminate the risk of ICU
failures due to errors in the extraction process.
2019-01-30 11:56:17 -08:00
Chris Bracken
826f342641
[Fuchsia] Depend on libtrace when that is what's really meant (#7214)
libtrace-provider has libtrace listed as a dependency when really it
does not have any such dependency. This lets trace clients use
libtrace-provider as a dependency when what they really mean is libtrace.

This errant dependency in trace-provider is being fixed, which
means we need to fix these clients.
2018-12-13 13:13:38 -08:00
Alexander Aprelev
cebde437a1
Guard the service protocol's global handlers list with a reader/writer lock. (#6900)
* Revert "Revert "Guard the service protocol's global handlers list with a reader/writer lock (#6888) #6895" (#6899)"

This reverts commit b6e93759faa92a96650e326b0e82578a6803c46d and applies fix for tests on Windows.

* Reland guard the service protocol's global handlers list with a reader/writer lock.

* Remove blank line
2018-11-18 14:36:15 -08:00
Todd Volkert
b6e93759fa
Revert "Guard the service protocol's global handlers list with a reader/writer lock (#6888) #6895" (#6899) 2018-11-18 09:28:26 -08:00
Jason Simmons
fd0911cc0f Guard the service protocol's global handlers list with a reader/writer lock (#6888) (#6895)
The service protocol holds the lock while waiting for completion of service
RPC tasks.  These tasks (specifically hot restart/RunInView) may need to
modify a handler's description data.

Task execution and ServiceProtocol::SetHandlerDescription will obtain a shared
lock to make this possible.  AddHandler and RemoveHandler will obtain an
exclusive lock in order to guard against a handler being deleted while a
service task is running.
2018-11-17 22:04:37 -08:00
Jason Simmons
9ba5561566
Revert "Guard the service protocol's global handlers list with a reader/writer lock (#6888)" (#6893)
This reverts commit 9352360c8bdc14bc746f8db1142925f960cf2c38.

(shared_timed_mutex is unavailable in the iOS build)
2018-11-17 12:27:06 -08:00
Jason Simmons
9352360c8b
Guard the service protocol's global handlers list with a reader/writer lock (#6888)
The service protocol holds the lock while waiting for completion of service
RPC tasks.  These tasks (specifically hot restart/RunInView) may need to
modify a handler's description data.

Task execution and ServiceProtocol::SetHandlerDescription will obtain a shared
lock to make this possible.  AddHandler and RemoveHandler will obtain an
exclusive lock in order to guard against a handler being deleted while a
service task is running.
2018-11-17 10:53:26 -08:00
Michael Goderbauer
6a132f80f4
Fix Windows Engine Bot (#6844)
Follow-up to https://github.com/flutter/engine/pull/6833
2018-11-13 09:46:30 -08:00
Michael Goderbauer
09ef73ff6e
Fix code smells reported by chrome's clang plugin (#6833) 2018-11-12 19:59:29 -08:00
Michael Goderbauer
70a1106b50
Unify copyright lines (#6757) 2018-11-07 12:24:35 -08:00
Chinmay Garde
ba8f6aa71c
Handle Windows headers defining ERROR to 0 in log levels. (#6677) 2018-10-26 16:47:14 -07:00
Chinmay Garde
979de076b3
Add a CountDownLatch to fml with tests. (#6574) 2018-10-17 17:20:44 -07:00
Chinmay Garde
f2a3df97e2
Wire up the Skia persistent GPU related artifacts cache. (#6278)
Also teaches FML to create files and directories.
2018-09-26 14:54:09 -07:00
Chinmay Garde
ef98dcb11f
Add support for counter timeline traces from the engine. (#6315) 2018-09-26 13:26:23 -07:00
Chinmay Garde
57fd394e59
Ensure that objects on stack that close traces have unique variable names. (#6298) 2018-09-22 14:46:29 -07:00
Mehmet Fidanboylu
2b25fd7da0
Don't use unix or win namespaces (#6277) 2018-09-18 19:43:26 -07:00
Jason Simmons
85d47fb03c
Accept file URIs as parameters in the RunInView service RPC (#6191)
See https://github.com/flutter/flutter/issues/21348
2018-09-07 09:34:45 -07:00
Michael Goderbauer
58a1894a1c
Update to latest clang (#6174)
* Roll buildroot to be483cb1cd3a9c4313b2e534034d23a05c3d849e
* Rolls buildtools to c1408453246f0475547b6fe634c2f3dad71c6457
2018-09-06 15:29:04 -07:00
Michael Goderbauer
842546824c
Roll buildroot to pick up new NDK r17b (#6131) 2018-08-31 11:28:18 -07:00
Chinmay Garde
7e39999187
Add message encoding/decoding utility to FML. (#6017) 2018-08-15 12:30:02 -07:00
Chinmay Garde
de5f535e50
Make FML task runner methods virtual so that FXL adaptors in Fuchsia are possible. (#5921) 2018-08-01 14:18:33 -07:00
Chinmay Garde
33b412313e
Fix sundry Fuchsia build issues after the tonic/fxl migration. (#5920) 2018-08-01 13:29:45 -07:00
Chinmay Garde
de206ea953 Update GetDirectoryName namespace to the one in FML on Linux. (#5879) 2018-07-26 13:40:29 -07:00
Chinmay Garde
9f8285ac6c
Remove all dependencies on Garnet. (#5869) 2018-07-26 12:49:34 -07:00
liyuqian
aef291b1e2
Unify trailing spaces / new lines (#5871) 2018-07-26 00:14:43 -07:00
Chinmay Garde
336c23f846
Remove //flutter/glue and use FML directly. (#5862) 2018-07-25 13:20:48 -07:00
Joshua Seaton
4c9f40a320
[fml] Remove unused ResourceMapping code. (#5811)
ResourceMapping-related code is no longer used.Moreover, there is an
ASan related-error in ResourceMappingDarwin:
https://logs.chromium.org/logs/fuchsia/buildbucket/cr-buildbucket.appspot.com/8940466063445826656/+/steps/test_results/0/steps/s___out_release-x64_host_tests_dart_schema_tests/0/logs/stdio/0
2018-07-20 10:53:27 -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
李少杰
4b310f3658 Implement UniqueFDTraits::Free on non-win system (#5705) 2018-07-10 17:12:57 -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
Chinmay Garde
37f456cac0
Fix file flags for directories and backslashes on Windows. (#5387) 2018-05-25 15:28:36 -07:00
Ryan Macnak
0e1966cd50
Reduce log spam: failing to find an instructions buffer isn't an error for ordinary core snapshots. (#5370) 2018-05-25 10:31:56 -07:00
Chinmay Garde
7fb90810df
Remove the only user of fxl::StringView in FML. (#5314) 2018-05-18 16:43:13 -07:00
Chinmay Garde
2e6aad39a2
Import synchronization utilities into FML. (#5312) 2018-05-18 16:25:29 -07:00
Chinmay Garde
ef7a459cbf
Fix missing include on Windows. (#5313) 2018-05-18 16:22:48 -07:00
Chinmay Garde
99a1dde524
Import FXL timing utilities into FML. (#5311) 2018-05-18 16:02:01 -07:00
Chinmay Garde
fbf07dc332
Import logging utilities from FXL. (#5310) 2018-05-18 15:43:49 -07:00
Chinmay Garde
79b9ffb14b
Fixup Fuchsia content handler post shell refactor. (#5072) 2018-04-23 20:16:01 -07:00
Chinmay Garde
3b84a47024
Apply unaddressed comments in pull/5062 (#5065) 2018-04-23 12:16:15 -07:00