[vm] Add FFI library to more targets and Flutter file libraries.json (in patch).

Change-Id: I65421efbc708b5192f871a0dae5f739352c5c3d9
Reviewed-on: https://dart-review.googlesource.com/c/93080
Reviewed-by: Samir Jindel <sjindel@google.com>
diff --git a/pkg/vm/lib/target/dart_runner.dart b/pkg/vm/lib/target/dart_runner.dart
index ba877f2..923898e 100644
--- a/pkg/vm/lib/target/dart_runner.dart
+++ b/pkg/vm/lib/target/dart_runner.dart
@@ -23,6 +23,7 @@
         'dart:collection',
         'dart:convert',
         'dart:developer',
+        'dart:ffi',
         'dart:_internal',
         'dart:isolate',
         'dart:math',
diff --git a/pkg/vm/lib/target/flutter.dart b/pkg/vm/lib/target/flutter.dart
index 3be0d7c..1faa9a2 100644
--- a/pkg/vm/lib/target/flutter.dart
+++ b/pkg/vm/lib/target/flutter.dart
@@ -23,6 +23,7 @@
         'dart:collection',
         'dart:convert',
         'dart:developer',
+        'dart:ffi',
         'dart:_internal',
         'dart:isolate',
         'dart:math',
diff --git a/pkg/vm/lib/target/flutter_runner.dart b/pkg/vm/lib/target/flutter_runner.dart
index acb04e8..3ffde3c 100644
--- a/pkg/vm/lib/target/flutter_runner.dart
+++ b/pkg/vm/lib/target/flutter_runner.dart
@@ -23,6 +23,7 @@
         'dart:collection',
         'dart:convert',
         'dart:developer',
+        'dart:ffi',
         'dart:_internal',
         'dart:isolate',
         'dart:math',
diff --git a/pkg/vm/lib/target/vm.dart b/pkg/vm/lib/target/vm.dart
index 3719f09..4cd95e2 100644
--- a/pkg/vm/lib/target/vm.dart
+++ b/pkg/vm/lib/target/vm.dart
@@ -58,6 +58,7 @@
         'dart:collection',
         'dart:convert',
         'dart:developer',
+        'dart:ffi',
         'dart:_internal',
         'dart:isolate',
         'dart:math',
@@ -74,7 +75,6 @@
         'dart:nativewrappers',
         'dart:io',
         'dart:cli',
-        'dart:ffi',
       ];
 
   @override
diff --git a/tools/patches/flutter-engine/ecd7a88606a4bf896316f56f1b0db6f5469c2623.patch b/tools/patches/flutter-engine/ecd7a88606a4bf896316f56f1b0db6f5469c2623.patch
new file mode 100644
index 0000000..60a8135
--- /dev/null
+++ b/tools/patches/flutter-engine/ecd7a88606a4bf896316f56f1b0db6f5469c2623.patch
@@ -0,0 +1,37 @@
+diff --git a/lib/snapshot/libraries.json b/lib/snapshot/libraries.json
+index a59ae6c66..99ef4cd77 100644
+--- a/lib/snapshot/libraries.json
++++ b/lib/snapshot/libraries.json
+@@ -57,6 +57,14 @@
+         ],
+         "uri": "../../../third_party/dart/sdk/lib/collection/collection.dart"
+       },
++      "ffi": {
++        "patches": [
++          "../../../third_party/dart/runtime/lib/ffi_dynamic_library_patch.dart",
++          "../../../third_party/dart/runtime/lib/ffi_native_type_patch.dart",
++          "../../../third_party/dart/runtime/lib/ffi_patch.dart"
++        ],
++        "uri": "../../../third_party/dart/sdk/lib/ffi/ffi.dart"
++      },
+       "typed_data": {
+         "patches": "../../../third_party/dart/runtime/lib/typed_data_patch.dart",
+         "uri": "../../../third_party/dart/sdk/lib/typed_data/typed_data.dart"
+diff --git a/lib/snapshot/libraries.yaml b/lib/snapshot/libraries.yaml
+index 26c327705..c4244eaff 100644
+--- a/lib/snapshot/libraries.yaml
++++ b/lib/snapshot/libraries.yaml
+@@ -84,6 +84,13 @@ flutter:
+         - "../../../third_party/dart/runtime/lib/profiler.dart"
+         - "../../../third_party/dart/runtime/lib/timeline.dart"
+ 
++    ffi:
++      uri: "../../../third_party/dart/sdk/lib/ffi/ffi.dart"
++      patches:
++        - "../../../third_party/dart/runtime/lib/ffi_dynamic_library_patch.dart"
++        - "../../../third_party/dart/runtime/lib/ffi_native_type_patch.dart"
++        - "../../../third_party/dart/runtime/lib/ffi_patch.dart"
++
+     _http:
+       uri: "../../../third_party/dart/sdk/lib/_http/http.dart"
+