168 Commits

Author SHA1 Message Date
Michael Goderbauer
efc22ee283 Enable private field promotion (flutter/engine#45722)
New feature in upcoming Dart 3.2. See https://github.com/dart-lang/language/issues/2020. Feature is enabled by bumping the min SDK version to 3.2.

Part of https://github.com/flutter/flutter/issues/134476.
2023-09-14 21:02:03 +00:00
Brandon DeRosier
b4271c24de Add missing header guards (flutter/engine#41322)
These keep turning up, so I did a little bash-fu to find them all.
```bash
grep -lL "#pragma once" $(grep -lL "#ifndef .*_H_" $(find . | grep "\.h$")) | cut -c 3-
```
2023-04-19 21:20:21 +00:00
Michael Goderbauer
dcc4b1b535 Reland: Bump lower Dart SDK constraints to 3.0 (flutter/engine#40318)
* WIP

Bump to 3.0.0-0

* fix lints

* drop web_ui

* opt pointer_converter.dart out of dart 3

* Revert "drop web_ui"

This reverts commit b97a015d5cd0d7e0380a4231be4c31aad36671f1.
2023-03-16 08:07:39 -07:00
Zachary Anderson
32b3e66d7c Revert "Bump lower Dart SDK constraints to 3.0 (#40178)" (flutter/engine#40317)
Revert "Bump lower Dart SDK constraints to 3.0"
2023-03-15 18:53:00 +00:00
Michael Goderbauer
828f3deb86 Bump lower Dart SDK constraints to 3.0 (flutter/engine#40178)
Bump lower Dart SDK constraints to 3.0
2023-03-15 17:57:04 +00:00
Xilai Zhang
4bf5a04e84 [gn + codesign] move snapshot meta data to generators (flutter/engine#39726)
[gn + codesign] move snapshot meta data to generators
2023-02-28 00:06:43 +00:00
Zachary Anderson
daeb8316d7 Only build analyze_snapshot on Linux host (flutter/engine#39129) 2023-01-25 08:35:57 -08:00
Ahmed Ashour
51c0a9ec65 Remove superfluous words from comments (flutter/engine#39068)
* Remove superfluous words.

* Format

* Duplicate in consecutive lines.
2023-01-24 09:54:19 -08:00
Jonah Williams
da4e6080bd [Impeller] add --enable-impeller-3d flag to support scene experimentation (flutter/engine#37990)
* ++

* ++

* ++

* ++

* ++

* ++

* ++

* ++
2022-12-03 00:01:33 +00:00
Chris Bracken
ad77065cad [macOS][iOS] Eliminate strip_bitcode action (flutter/engine#36627)
Eliminates the `strip_bitcode` GN rule defined in
//flutter/sky/tools/mac.gni and the related script at
//flutter/sky/tools/strip_bitcode.py.

As of Xcode 14, bitcode is deprecated, no longer enabled by default, and
generates a warning message if a project enables it. Bitcode support
will be removed entirely from a future version of Xcode.

The `strip_bitcode` rule had two purposes:
1. Copy the binary specified by its input parameter to the path
   specified by its output parameter.
2. Strip bitcode segments as it does so.

While we no longer require the second of these functions, we still use
the first to create a `gen_snapshot` binary suffixed with the target
architecture. This replaces `strip_bitcode` with the built-in gn `copy`
rule instead.

Issue: https://github.com/flutter/flutter/issues/107884
Issue: https://github.com/flutter/flutter/issues/112896
Issue: https://github.com/flutter/flutter/issues/101138
Issue: https://github.com/flutter/flutter/issues/103386
2022-10-05 16:26:35 -07:00
Chris Bracken
f76273c029 Use strip_bitcode for create_arm_gen_snapshot (flutter/engine#36510)
This migrates the `create_arm_gen_snapshot` target used to create a
copy of gen_snapshot suffixed with its target CPU architecture using the
same `strip_bitcode` macro used for the equivalent target used for
desktop gen_snapshot.

In a followup patch, these will be merged to a single target. They
currently still have incompatible output paths.

Issue: https://github.com/flutter/flutter/issues/103386
Issue: https://github.com/flutter/flutter/issues/101138
Issue: https://github.com/flutter/flutter/issues/107884
2022-09-29 14:27:02 -07:00
Chris Bracken
d6d0909b65 Generalise gen_snapshots.py to strip_bitcode.py (flutter/engine#36496)
The gen_snapshots.py tool is used to copy an input gen_snapshot to an
output path with an architecture-specific suffix. For example, to copy
gen_snapshot to gen_snapshot_arm64. Bitcode segments, if any, are
stripped.

This moves the input/output filename hardcoding into the BUILD.gn file
and generalises the logic to simply copy an input binary to an output
path with bitcode segments stripped. Since the tool is no longer
gen_snapshot specific, we rename it from gen_snapshots.py to
strip_bitcode.py.

This also renames the generalised `macos_gen_snapshots` rule to
`strip_bitcode`.

Since we're working on removing bitcode support from the engine, this
script will eventually serve no purpose other than to copy the input
binary to an output path, at which point this script, and the associated
`strip_bitcode` template in `//flutter/sky/tools/macos_tools.gni` can be
removed.

Along with the TODO, renaming the script and the rule help ensure we'll
spot this and remove it when bitcode support is removed from the engine.

Finally, this fixes a dependency issue in the target
//flutter/lib/snapshot:create_macos_gen_snapshots. Previously, it
dependended on ":generate_snapshot_bin", but in fact, the only file it
touches is gen_snapshot. This was built transitively as part of the
":generate_snapshot_bin" target, but is now depended on directly.

This is pre-factoring for merging the iOS and macOS gen_snapshot
creation build rules in `flutter/lib/snapshot/BUILD.gn`.

Issue: https://github.com/flutter/flutter/issues/103386
Issue: https://github.com/flutter/flutter/issues/101138
Issue: https://github.com/flutter/flutter/issues/107884
2022-09-29 10:48:56 -07:00
Chris Bracken
ae41d5b3f7 [macOS] Deduplicate gen_snapshot creation targets (flutter/engine#36455)
Cleans up the logic for building gen_snapshot for macOS hosts. Also adds
a bit more documentation to the snapshot-related build targets.

Previously:
* gen_snapshot targeting macOS (on both x64, and arm64) were generated
  via the `create_macos_gen_snapshots` target.
* gen_snapshot arm/arm64 builds (on a macOS host) were generated via the
  `create_arm_gen_snapshot` target. The reason why this covers only
  arm/arm64 is simply that those are the only platforms we generate
  iOS/Android AOT builds for. x64 iOS implies a simulator build, but we
  only support debug builds for the iOS simulator, which aren't AOT
  builds, and thus don't require gen_snapshot.

These two conditions overlap in the case of arm64 (but not x64) target
builds. This separates the two cases cleanly. A later patch will merge
the two cases to use a single tool.

Note that NEITHER of these two scenarios mentions builds for macOS hosts
targeting Fuchsia. That's because this target is never invoked during
Fuchsia target builds. See:
75d2baf5fe/BUILD.gn (L93-L95)

Issue: https://github.com/flutter/flutter/issues/103386
Issue: https://github.com/flutter/flutter/issues/101138
2022-09-27 16:08:09 -07:00
Chris Bracken
32774c7671 Adds documentation for core snapshot targets (flutter/engine#36434)
Adds doc comments to lib/snapshot/BUILD.gn prior to refactoring.

Issue: https://github.com/flutter/flutter/issues/103386
Issue: https://github.com/flutter/flutter/issues/101138
2022-09-27 06:40:11 -07:00
Alexander Markov
1dac15b35e Use vm_common set of core libraries in libraries.yaml files (flutter/engine#36414) 2022-09-26 13:04:13 -07:00
Michael Thomsen
0d5560eb6b Update pubspec.yaml (flutter/engine#36378) 2022-09-26 13:24:02 +02:00
Zachary Anderson
0969d4c4a1 Adjust rules for analyze_snapshot (flutter/engine#35585) 2022-08-22 11:26:22 -07:00
Zachary Anderson
aa0adcdb7c Compute rather than hardcode the host output suffix (flutter/engine#34978) 2022-07-28 12:44:54 -07:00
Jim Graham
6e98966e70 use host_cpu in BUILD.gn to determine where to find gen_snapshot (flutter/engine#34870) 2022-07-26 22:18:04 +00:00
Zachary Anderson
8cd062be3c Remove FragmentProgram.compile() (flutter/engine#34855) 2022-07-22 18:30:54 -07:00
Dan Field
a41257c563 Reland "dart:ui conversion from native to FfiNative" (#33116)" (flutter/engine#34700)
* Reland "dart:ui conversion from native to FfiNative" (#33116)"

This reverts commit d85395558f3d72c64d9c75e00c6ebdd5bf4583e3.

Resolves merge conflicts and updates modified/newly added
methods, and fixes the incorrect argument counts
on some of the Path methods.
2022-07-18 15:51:07 -07:00
Xilai Zhang
9bbaf6212e [gn] use generated_files to encode entitlement information (flutter/engine#34216)
* generated_files

* for debugging push

* format files

* formate files

* trigger build

* add deps
2022-06-27 09:09:29 -07:00
Zachary Anderson
d85395558f Revert "dart:ui conversion from native to FfiNative" (flutter/engine#33116) 2022-05-04 16:24:06 -07:00
Clement Skau
ca1dc06bc1 dart:ui conversion from native to FfiNative (flutter/engine#29607) 2022-05-04 09:29:05 -07:00
skia-flutter-autoroll
74e1b45536 Roll Dart SDK from 760722f8224b to d80a054dc99a (16 revisions) (flutter/engine#32520)
* Roll Dart SDK from 760722f8224b to d80a054dc99a (16 revisions)

https://dart.googlesource.com/sdk.git/+log/760722f8224b..d80a054dc99a

2022-04-08 dart-internal-sdk-dev-roller@dart-ci-internal.iam.gserviceaccount.com Version 2.17.0-282.0.dev
2022-04-07 dart-internal-sdk-dev-roller@dart-ci-internal.iam.gserviceaccount.com Version 2.17.0-281.0.dev
2022-04-07 dart-internal-sdk-dev-roller@dart-ci-internal.iam.gserviceaccount.com Version 2.17.0-280.0.dev
2022-04-07 dart-internal-sdk-dev-roller@dart-ci-internal.iam.gserviceaccount.com Version 2.17.0-279.0.dev
2022-04-07 dart-internal-sdk-dev-roller@dart-ci-internal.iam.gserviceaccount.com Version 2.17.0-278.0.dev
2022-04-06 dart-internal-sdk-dev-roller@dart-ci-internal.iam.gserviceaccount.com Version 2.17.0-277.0.dev
2022-04-06 dart-internal-sdk-dev-roller@dart-ci-internal.iam.gserviceaccount.com Version 2.17.0-276.0.dev
2022-04-06 dart-internal-sdk-dev-roller@dart-ci-internal.iam.gserviceaccount.com Version 2.17.0-275.0.dev
2022-04-05 dart-internal-sdk-dev-roller@dart-ci-internal.iam.gserviceaccount.com Version 2.17.0-274.0.dev
2022-04-05 dart-internal-sdk-dev-roller@dart-ci-internal.iam.gserviceaccount.com Version 2.17.0-273.0.dev
2022-04-05 dart-internal-sdk-dev-roller@dart-ci-internal.iam.gserviceaccount.com Version 2.17.0-272.0.dev
2022-04-04 dart-internal-sdk-dev-roller@dart-ci-internal.iam.gserviceaccount.com Version 2.17.0-271.0.dev
2022-04-04 dart-internal-sdk-dev-roller@dart-ci-internal.iam.gserviceaccount.com Version 2.17.0-270.0.dev
2022-04-02 dart-internal-sdk-dev-roller@dart-ci-internal.iam.gserviceaccount.com Version 2.17.0-269.0.dev
2022-04-02 dart-internal-sdk-dev-roller@dart-ci-internal.iam.gserviceaccount.com Version 2.17.0-268.0.dev
2022-04-02 dart-internal-sdk-dev-roller@dart-ci-internal.iam.gserviceaccount.com Version 2.17.0-267.0.dev

If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/dart-sdk-flutter-engine
Please CC aaclarke@google.com,dart-vm-team@google.com,zra@google.com on the revert to ensure that a human
is aware of the problem.

To file a bug in Flutter Engine: https://github.com/flutter/flutter/issues/new/choose

To report a problem with the AutoRoller itself, please file a bug:
https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug

Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md

* Updates for bin_to_coff.py changes.

Co-authored-by: Zachary Anderson <zanderso@users.noreply.github.com>
2022-04-07 21:46:44 -07:00
Chris Bracken
932759cb03 [macOS] Generate gen_snapshot_$arch by default (flutter/engine#32326) 2022-03-30 13:30:08 -07:00
Daco Harkes
4c2fccfc57 Add VM Finalizer patch files (flutter/engine#31825) 2022-03-04 13:47:56 +01:00
Aske Simon Christensen
b98f76a687 Add hash_factories patch file (flutter/engine#31133) 2022-02-08 07:55:04 +01:00
Chris Yang
d8663f8a38 organize snapshot/BUILD.gn targets and fix create_arm_gen_snapshot (flutter/engine#28345) 2021-08-27 16:31:01 -07:00
Anthony
50adf078fd [Re-land] Add SPIR-V FragmentShader API to painting.dart (flutter/engine#28208)
[Re-land] Add SPIR-V FragmentShader API to painting.dart

- Add a SPIR-V FragmentShader interface in painting.dart
- Create end to end pixel tests for ops supported by the SPIR-V to SkSL transpiler
- The end to end tests also test the c++ fragment shader implementation

Co-authored-by: Christopher Crawford <chriscraws@gmail.com>
2021-08-20 11:24:14 -04:00
Zachary Anderson
e3f282c563 Revert "Add SPIR-V FragmentShader API to painting.dart (#26996)" (flutter/engine#28202)
This reverts commit 1b518619357cc1666a9fca183c9766d1ece16d0f.
2021-08-19 12:38:10 -07:00
Anthony
1b51861935 Add SPIR-V FragmentShader API to painting.dart (flutter/engine#26996)
Add SPIR-V FragmentShader API to painting.dart
2021-08-18 12:58:25 -04:00
Zachary Anderson
5c4431a610 Use a pool for dart actions to avoid OOMs (flutter/engine#27781)
* Use a pool for dart actions to avoid OOMs

* Add Windows support
2021-07-29 23:43:49 -07:00
Dan Field
26c9d0e22d Remove unused generate_dart_ui target (flutter/engine#27445) 2021-07-15 10:56:02 -07:00
Dan Field
233a06b114 Fix dart analysis (flutter/engine#27367) 2021-07-13 14:01:05 -07:00
Dan Field
72d7ac4ba4 Remove unnecessary experiment flag (flutter/engine#27072)
* Remove unnecessary experiment flag

* add explicit --no-sound-null-safety
2021-07-01 12:27:42 -07:00
Dan Field
81388c9511 Revert "--sound-null-safety instead of enable-experiment where possible (#26999)" (flutter/engine#27059)
This reverts commit a34de4830b50728b589903abfe69a7d809967b73.
2021-06-29 21:36:07 -07:00
Dan Field
a34de4830b --sound-null-safety instead of enable-experiment where possible (flutter/engine#26999) 2021-06-29 15:36:03 -07:00
Martin Kustermann
fde57f1f1d Remove usages of --no-causal-async-stacks (flutter/engine#26877)
Passing the --causal-async-stacks flag to the VM will cause it to error
on VM startup. The VM will remove the flag entirely, but before doing so
we'll have to remove usages of the negated version of the flag, namely
--no-causal-async-stacks.
2021-06-23 14:30:26 +02:00
Ryan Macnak
53cd841914 Remove compilation trace saving. (flutter/engine#26642) 2021-06-10 13:34:02 -07:00
Vyacheslav Egorov
02f38aa2e8 Fix create_arm_gen_snapshot target (flutter/engine#26538) 2021-06-03 14:49:01 -07:00
Daco Harkes
a5d5c05992 add ffi_allocation_patch.dart to libraries.yaml 2 (flutter/engine#23954) 2021-01-26 14:44:35 +01:00
Zachary Anderson
9b8217feaa Ensure gen_snapshot for the target is built when needed (flutter/engine#23694) 2021-01-14 14:29:02 -08:00
Siva
ae14ea248a Add missing sdk constriant in pubspec.yaml files. (flutter/engine#23124)
* Add missing sdk constriants in pubspec.yaml files.

* Update tools/android_lint/pubspec.yaml

Co-authored-by: Zachary Anderson <zanderso@users.noreply.github.com>
2020-12-17 09:45:26 -08:00
Jenn Magder
f7d898eba2 Generate gen_snapshot_armv7 and gen_snapshot_arm64 (flutter/engine#22818) 2020-12-02 12:43:51 -08:00
Siva
03706dce89 Manual roll of Dart from 24c7666def...40fd1c456e (flutter/engine#20092)
* Manual roll of Dart from 24c7666def...40fd1c456e

dart-lang/sdk@40fd1c456e Revert "[dart:io] Add Abort() on HttpClientRequest"
dart-lang/sdk@17d7296a42 [vm/nnbd/bytecode] Fix reuse of type arguments in bytecode
dart-lang/sdk@58b6f40c73 Issue 42797. Understand in legacy libraries that a function returning Never (in Null Safety library) never returns. (reland)
dart-lang/sdk@fc8a6d9f9b [VM/compiler] Dereference TypeRef literal when propagating constants.
dart-lang/sdk@0689ec527a Move "test.dart" (well, most of its contents) into pkg/test_runner.
dart-lang/sdk@1094b3c61d Prepare static error test updater tool to handle web tests.
dart-lang/sdk@b258585f2f [observatory] Migrate from deprecated isInstanceOf to isA.
dart-lang/sdk@dfe1d9b682 Disable OverrideContributor for Cider.
dart-lang/sdk@aea99b2f5c scope debug property assist to Diagnosticables
dart-lang/sdk@4b96f20a79 [dart:io] Add Abort() on HttpClientRequest
dart-lang/sdk@1b1a39708c [build] Use frameworks instead of libs
dart-lang/sdk@3fef522496 Revert "Reland "[vm] Replaces fuchsia.deprecatedtimezone""
dart-lang/sdk@8c664d4f3f Revert "Issue 42797. Understand in legacy libraries that a function returning Never (in Null Safety library) never returns."
dart-lang/sdk@2efb5bebc7 [ dart:_http ] Fix typo in HTTP response timeline event
dart-lang/sdk@0884dae36c Revert "Fix the #include path for ICU headers"
dart-lang/sdk@5171534e81 Scope tweaks. Report REFERENCED_BEFORE_DECLARATION in more places.
dart-lang/sdk@6bba75079a Issue 42797. Understand in legacy libraries that a function returning Never (in Null Safety library) never returns.
dart-lang/sdk@b4ebbb7f5c [build] Update gn to match Fuchsia
dart-lang/sdk@cb428a7a02 [dart2js] Remove old bug work around in collector.
dart-lang/sdk@08663c20ab Change flutter patch to match existing DEPS on master branch
dart-lang/sdk@146ad014d9 update js/meta for the 2.10 dev sdk
dart-lang/sdk@488c718793 [co19] Roll co19 to d79951e06e443213243e54c2c32694b79a221b65
dart-lang/sdk@ba20edd7be Add patch for flutter-engine when changing to version 2.10

* Rev buildroot to latest version.

* Update license.

* update.

* Update gn revision.

* Format BUILD.gn files as the gn revision has been updated.
2020-07-29 13:10:15 -07:00
Jonah Williams
61118a291d [nnbd] build platform dill in agnostic mode (flutter/engine#19167)
In agnostic mode, both sound and unsound modes are supported.
2020-06-19 13:26:50 -07:00
Siva
5bb06562b0 Manual roll of Dart 021a49e88c...4b9aa2bd7e (flutter/engine#19079)
1. Manual roll of Dart 021a49e88c...4b9aa2bd7e
dart-lang/sdk@4b9aa2bd7e Revert "[VM/Runtime] Cleanup package config initialization code"
dart-lang/sdk@d44457f79d [Core Libraries] Eliminate the fork in the core libraries.
dart-lang/sdk@29e93bcdbd [VM/Runtime] Cleanup package config initialization code
dart-lang/sdk@07e2921287 [ddc] Cleanup false assumption from subtype check
dart-lang/sdk@62893f9b00 Reland "[vm] Check prefix.loadLibrary is called and returns before prefix members are used."
dart-lang/sdk@ed9112e862 Sort declarations in api_test.dart
dart-lang/sdk@a9bb706ce2 Migration: allow the client to specify which files to analyze/migrate.
dart-lang/sdk@651464c909 Implement the rest of the ArgumentList ASTNode logic in the context type visitor in feature_computer.dart, tests added in feature_computer_test.dart
dart-lang/sdk@c7d9fa996b Clean up some unnecessary code in completion manager
dart-lang/sdk@e11eb2cd08 [nnbd_migration] Fix #42263, tool inserting ! on toString/hashCode

2. Adjusted all flutter libraries.yaml files to account for elimination of the
fork in the Dart core librarie

3. Adjusted flutter gn file to account for elimination of the fork in the
Dart core librarie
2020-06-16 19:41:06 -07:00
Jason Simmons
79c859b7f0 Manual Dart roll to 95e11bc2d30f7c1b9c49a4fc97a44c4b32fe66d8 (flutter/engine#18398) 2020-05-14 19:47:02 -07:00
Siva
a5281b393d Manual roll of Dart 617bc54b71...39e0e75fcf (flutter/engine#18215)
This roll unforks the Dart SDK to use the non nullable SDk,
the engine platform file is built with all the dart:* libraries
opted in except for dart:ui

dart-lang/sdk@617bc54b71 [dart2js] unit test patch for unfork cl.
dart-lang/sdk@ce5d18b0f0 [CFE] - Update exectations of CFE unit tests to account for NNBD unfork
dart-lang/sdk@be0c78a7cc [dart2js] Fix platform-binaries on bots.
dart-lang/sdk@03ce33f80c [BUILD] - Initial CL to unfork the NNBD Dart SDK
2020-05-07 20:58:44 -07:00