1. 01 2月, 2020 1 次提交
    • C
      Remove all uses of the redundant flutter_root variable. (#16311) · f7b78e00
      Chinmay Garde 提交于
      This was only necessary when the Engine had to build in multiple buildroots
      where the sources where checked out at different paths relative to the
      buildroot. This is no longer the case and there are already cases GN rules
      have been written that mix and match variable usage with the direct
      specification of the path to the Flutter sources relative to the sole buildroot.
      f7b78e00
  2. 24 1月, 2020 1 次提交
  3. 22 1月, 2020 1 次提交
  4. 20 12月, 2019 1 次提交
  5. 04 12月, 2019 4 次提交
  6. 28 11月, 2019 1 次提交
  7. 27 11月, 2019 1 次提交
    • C
      Add a separate target for Dart coverter on FML types. (#14011) · ca68af25
      Chinmay Garde 提交于
      The converters are still in a separate target that must be included manually. This allows targets that depend on FML but not Dart runtime not have to depend on the runtime.
      
      Adds a test that includes this target and tests image decompression from assets. There is also a test for the standalone DartConvertor in shell_unittests but not in fml_unittests be cause FML uni-tests cannot yet launch a VM. I will work on adding fixtures for those.
      ca68af25
  8. 26 11月, 2019 1 次提交
  9. 23 11月, 2019 1 次提交
  10. 07 11月, 2019 1 次提交
  11. 17 10月, 2019 1 次提交
  12. 23 8月, 2019 1 次提交
    • K
      Make message loop task entry containers thread safe (#11367) · 632a37b5
      Kaushik Iska 提交于
      The core underlying issue is that vector push_back could re-allocate and cause us to segfault. I have switched the backing queues to a map per @jason-simmons suggestion in flutter/flutter#38778.
      
      I've also added a test to capture the aforementioned bug. I've run internal tests several times to validate that this is fixed.
      
      General threading note for this class is that only the following operations take a write lock on the meta mutex:
      
      1. Create
      2. Dispose
      
      The rest of the operations take read lock on the meta mutex and acquire finer grained locks for the duration of the operation. We can not grab read lock for the entire duration of NotifyObservers for example because observer can in-turn create other queues -- Which we should not block.
      
      Additional changes:
      
      1. Make as many methods as possible const. Unlocked methods are all const.
      2. Migrate all the queue members to a struct, and have a map.
      3. Get rid of the un-used Swap functionality.
      632a37b5
  13. 13 8月, 2019 1 次提交
    • K
      Allow for dynamic thread merging on IOS for embedded view mutations (#9819) · 971a6391
      Kaushik Iska 提交于
      After pre-roll we know if there have been any mutations made to the IOS embedded UIViews. If there are any mutations and the thread configuration is such chat the mutations will be committed on an illegal thread (GPU thread), we merge the threads and keep them merged until the lease expires. The lease is currently set to expire after 10 frames of no mutations. If there are any mutations in the interim we extend the lease.
      
      TaskRunnerMerger will ultimately be responsible for enforcing the correct thread configurations.
      
      This configuration will be inactive even after this change since still use the same thread when we create the iOS engine. That is slated to change in the coming PRs.
      971a6391
  14. 06 8月, 2019 1 次提交
    • N
      Use Fuchsia trace macros when targeting Fuchsia SDK (#10634) · e81aa586
      Nathan Rogers 提交于
      When |OS_FUCHSIA| is defined (even when |FUCHSIA_SDK| is defined as
      well), use the Fuchsia SDK trace macros rather than the Dart timeline.
      
      Reasons for doing this include:
      
      Fuchsia's trace macros support categories.  This allows one to
      distinguish between (e.g.) "flutter" and "skia" trace events for trace
      recording and trace visualization.
      
      Fuchsia has existing in tree benchmarks that depend on finding certain
      events under category "flutter".
      
      See the Fuchsia performance mailing list discussion for more context.
      e81aa586
  15. 13 7月, 2019 1 次提交
    • K
      Add the functionality to merge and unmerge MessageLoopTaskQueues (#9436) · 379028ab
      Kaushik Iska 提交于
      - Add the functionality to merge and unmerge MessageLoopTaskQueues
      
      This introduces a notion of a "owning" and "subsumed" queue ids.
      Owning queue will take care of the tasks submitted to both that and it's
      subsumed queue.
      
      - The tasks submitted still maintain the queue affinity
      - Same for the task observers
      
      - Also adds MergedQueuesRunner which grabs both the locks owner
        and subsumed queues in RAII fashion.
      
      - Also use task queue id to verify if we are running
        in the same thread.
      
      - This is to enable merging the backed message loop task
        queues to enable dynamic thread merging in IOS.
      379028ab
  16. 11 7月, 2019 1 次提交
  17. 20 6月, 2019 1 次提交
  18. 14 6月, 2019 2 次提交
    • K
      MessageLoopTaskQueue schedules Wakes (#9316) · 6f5347c5
      Kaushik Iska 提交于
      * Refactor to move Task Queue to its own class
      
      - This is to help with sharing task queue among
        multiple message loops going forward.
      
      - currently there is 1:1 mapping between task queue
        and message loop, we are still maintaining the semantics
        for this change.
      
      * Add mutex include
      
      * Most of the waking up changes minus test failures
      
      * Refactor MessageLoopImpl to be Wakeable
      
      - Makes testing easier by letting us putting a TestWakeable
      
      - Also move the waking up logic to the task queue
      
      * add tests
      
      * Fix formatting and license
      6f5347c5
    • K
      Refactor: move Task Queue to its own class (#9301) · fe7e444d
      Kaushik Iska 提交于
      * Refactor to move Task Queue to its own class
      
      - This is to help with sharing task queue among
        multiple message loops going forward.
      
      - currently there is 1:1 mapping between task queue
        and message loop, we are still maintaining the semantics
        for this change.
      
      * Add mutex include
      
      * Add unit tests for task queue
      
      * fix formatting
      
      * license
      fe7e444d
  19. 12 6月, 2019 1 次提交
  20. 29 5月, 2019 1 次提交
    • C
      Allow specifying both Dart and non-Dart fixtures in engine unit-tests. (#9113) · 37b367e4
      Chinmay Garde 提交于
      * Allow specifying both Dart and non-Dart fixtures in engine unittests.
      
      This fixes numerous issues in the way in which fixtures were managed
      in the engine unit-tests.
      
      * Instead of only being able to specify Dart fixtures, unit-tests may specify
        non-Dart fixtures as well. These are simply copied over to the fixtures
        directory known to the unit-test at runtime.
      * An issue where numerous Dart files could be given to the kernel snapshotter
        has been addressed. It was anticipated that such a (legal) invocation to the
        kernel snapshotter would produce a snapshot with the contents of all the Dart
        files added to the root library. This is incorrect and the behavior in this
        case is undefined.
      * Dart files referenced by the main Dart file are correctly tracked via a
        depfile.
      * The snapshotter arguments have been cleaned up to get rid of unused
        arguments (`—strong`) and  the use of the VM product mode argument has been
        corrected to no longer depend on the Flutter product mode.
      37b367e4
  21. 16 5月, 2019 1 次提交
  22. 14 5月, 2019 1 次提交
  23. 07 5月, 2019 1 次提交
  24. 27 4月, 2019 1 次提交
  25. 10 4月, 2019 2 次提交
  26. 06 3月, 2019 1 次提交
  27. 23 2月, 2019 1 次提交
  28. 14 12月, 2018 1 次提交
    • C
      [Fuchsia] Depend on libtrace when that is what's really meant (#7214) · 826f3426
      Chris Bracken 提交于
      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.
      826f3426
  29. 19 11月, 2018 2 次提交
  30. 18 11月, 2018 3 次提交
  31. 13 11月, 2018 1 次提交
  32. 08 11月, 2018 1 次提交