Nate Bosch
8b2cacf9ca
Update to the latest package:ffi
...
Remove SDK copies of `arena.dart` which is now in `package:ffi`.
Change-Id: Ic4808c473043be7d34cd1334406897a935c19263
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/204020
Auto-Submit: Nate Bosch <nbosch@google.com >
Commit-Queue: Daco Harkes <dacoharkes@google.com >
Reviewed-by: Daco Harkes <dacoharkes@google.com >
2021-06-18 07:24:51 +00:00
Daco Harkes
f358afca9e
[vm/ffi] Migrate package:ffi Utf8 and Utf16 uses
...
Change-Id: I41d79969881015266273a3ce566ee402df11791d
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/184481
Reviewed-by: Clement Skau <cskau@google.com >
Commit-Queue: Daco Harkes <dacoharkes@google.com >
2021-02-11 13:13:32 +00:00
Daco Harkes
a45276ab91
Reland "[vm/ffi] Roll package:ffi to Allocator and Opaque"
...
This can only be landed when `Allocator`, `Opaque`, and `AllocatorAlloc`
have rolled into Flutter/engine, that into Flutter/flutter, and into g3.
Deletes all the copies of `_CallocAllocator` and uses the one from
`package:ffi` instead.
Bug: https://github.com/dart-lang/sdk/issues/44622
Bug: https://github.com/dart-lang/sdk/issues/43974
Bug: https://github.com/dart-lang/sdk/issues/44621
Bug: https://github.com/dart-lang/sdk/issues/38721
Change-Id: I486034b379b5a63cad4aefd503ccd0f2ce5dd45e
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/180188
Commit-Queue: Daco Harkes <dacoharkes@google.com >
Reviewed-by: Aske Simon Christensen <askesc@google.com >
2021-02-10 10:19:28 +00:00
Daco Harkes
3cfcc5a8e5
Revert "[vm/ffi] Roll package:ffi to Allocator and Opaque"
...
Revert submission 177862
Reason for revert: breaks g3 without https://github.com/flutter/engine/pull/23808
Reverted Changes:
I50b3b4c31:[vm/ffi] Roll `package:ffi` to `Allocator` and `Op...
I3f5b08c08:[vm/ffi] Change `Pointer<T extends Struct>.ref` to...
I6141c193b:[vm/ffi] Disallow empty structs
Change-Id: I128e7b096faea650e0ba0850a411eed3e97c00e6
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/180185
Reviewed-by: Daco Harkes <dacoharkes@google.com >
2021-01-20 21:37:11 +00:00
Daco Harkes
7d648e3ae7
[vm/ffi] Roll package:ffi to Allocator and Opaque
...
This can only be landed when `Allocator` and `Opaque` have rolled into
Flutter/engine, that into Flutter/flutter, and that into g3.
flutter/flutter/commit/a706cd211240f27be3b61f06d70f958c7a4156fe
Deletes all the copies of `_CallocAllocator` and uses the one from
`package:ffi` instead.
Issue: https://github.com/dart-lang/sdk/issues/44622
Issue: https://github.com/dart-lang/sdk/issues/43974
Issue: https://github.com/dart-lang/sdk/issues/44621
Issue: https://github.com/dart-lang/sdk/issues/38721
Change-Id: I50b3b4c31a2b839b35e3e057bd54f463b90bc55e
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/179540
Reviewed-by: Aske Simon Christensen <askesc@google.com >
2021-01-20 18:08:25 +00:00
Daco Harkes
ac805dff54
[vm/ffi] Migrate to empty Structs to Opaque
...
This CL migrates empty `Struct`s to `Opaque` native types.
It stops using `.ref` on `Pointer`s to these types.
And stops using `.ref` on `Pointer<Utf8>` which will be migrated in
`package:ffi`.
Issue: https://github.com/dart-lang/sdk/issues/44622
Issue: https://github.com/dart-lang/sdk/issues/43974
Change-Id: I3aa256af7d4ceaa8ee37b1b2ada71f870f43617b
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/179181
Reviewed-by: Vyacheslav Egorov <vegorov@google.com >
Commit-Queue: Daco Harkes <dacoharkes@google.com >
2021-01-15 10:52:53 +00:00
Daco Harkes
d37e833e23
[vm/ffi] Migrate samples(_2)/ffi to CallocAllocator
...
This CL does not yet roll `package:ffi` to use `Allocator`, because that
breaks the checked in Dart in Flutter in g3. Instead, this copies
`_CallocAllocator` from `package:ffi` into the samples.
New API landed in: https://dart-review.googlesource.com/c/sdk/+/177705
Issue: https://github.com/dart-lang/sdk/issues/44621
Issue: https://github.com/dart-lang/sdk/issues/38721
Change-Id: I83da349c2e52d7f079aa1569b4726318fee24c9d
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/177706
Commit-Queue: Daco Harkes <dacoharkes@google.com >
Reviewed-by: Aske Simon Christensen <askesc@google.com >
2021-01-14 13:57:03 +00:00
Daco Harkes
5d40d52fca
[vm/ffi] Add Opaque type
...
Issue: https://github.com/dart-lang/sdk/issues/44622
Issue: https://github.com/dart-lang/sdk/issues/43974
TEST=samples/ffi/sqlite/lib/src/bindings/types.dart
TEST=tests/ffi/vmspecific_static_checks_test.dart
Change-Id: Ib9e72df6a07b1bc2b72a7db66f945652814baf51
Cq-Include-Trybots: luci.dart.try:vm-precomp-ffi-qemu-linux-release-arm-try,analyzer-analysis-server-linux-try,analyzer-linux-release-try,analyzer-nnbd-linux-release-try,front-end-linux-release-x64-try,front-end-nnbd-linux-release-x64-try,benchmark-linux-try,dart-sdk-linux-try,pkg-linux-release-try,vm-ffi-android-release-arm-try,vm-ffi-android-release-arm64-try,vm-kernel-nnbd-win-debug-x64-try,vm-kernel-win-debug-x64-try
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/178984
Commit-Queue: Daco Harkes <dacoharkes@google.com >
Reviewed-by: Clement Skau <cskau@google.com >
2021-01-13 17:04:08 +00:00
Daco Harkes
550d580d5e
[vm/ffi] Fuchsia FFI testing package
...
This does not include enabling the FFI on Fuchsia. So these tests will
fail without the dependent CL.
This CL adds an `all_positive.dart` test file to be packaged in the
.far file, such that it is easier to run all FFI tests in one go.
We don't run tests on the bots, but we do build this test package on
the bots.
To build the .far files locally:
```
tools/build.py --os=fuchsia -m debug fuchsia_ffi_test_package
tools/build.py --os=fuchsia -m debug -a arm64 fuchsia_ffi_test_package
```
Issue: https://github.com/dart-lang/sdk/issues/44434
Change-Id: Iec418e0c10d77afbf811fb83151664bcc2710b99
Cq-Include-Trybots: luci.dart.try:vm-fuchsia-release-x64-try
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/175484
Reviewed-by: Liam Appelbe <liama@google.com >
2020-12-10 12:15:17 +00:00
Daco Harkes
da008fb3fc
[samples] Migrate ffi samples to NNBD
...
Closes: https://github.com/dart-lang/sdk/issues/43600 .
TEST=samples/ffi
Change-Id: I620e6a73c8e37dd72f8f3921fa37dd4f8966e45c
Cq-Include-Trybots: luci.dart.try:vm-kernel-nnbd-linux-debug-x64-try,vm-kernel-precomp-nnbd-linux-debug-x64-try,app-kernel-linux-debug-x64-try,vm-kernel-linux-debug-x64-try,vm-kernel-reload-linux-debug-x64-try,vm-kernel-reload-rollback-linux-debug-x64-try,vm-kernel-precomp-linux-debug-x64-try,dart-sdk-linux-try,analyzer-nnbd-linux-release-try,analyzer-linux-release-try,front-end-nnbd-linux-release-x64-try,front-end-linux-release-x64-try
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/173542
Commit-Queue: Daco Harkes <dacoharkes@google.com >
Reviewed-by: Aske Simon Christensen <askesc@google.com >
2020-11-24 18:50:28 +00:00
sheunglaili
7d64a93199
API doc issue: Update sqlite-tutorial CString section with correct ascii code
...
Closes https://github.com/dart-lang/sdk/pull/44042
https://github.com/dart-lang/sdk/pull/44042
GitOrigin-RevId: 2783fe93da270636d5453e03c6cd2c15b8e3c4cd
Change-Id: I663e840cee0d73002c401541bace0bd4016d8e36
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/170161
Reviewed-by: Daco Harkes <dacoharkes@google.com >
Commit-Queue: Daco Harkes <dacoharkes@google.com >
2020-11-04 10:31:47 +00:00
Leaf Petersen
745f112ef6
Opt out some files from null safety.
...
Opt an initial batch of files under samples, samples-dev,
utils, and runtime/tools/dartfuzz out of null safety in preparation
for switching the flag on by default.
Change-Id: Icdfd52a5a969e678a7205903332f73fe3841c223
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/166960
Reviewed-by: Daco Harkes <dacoharkes@google.com >
Commit-Queue: Leaf Petersen <leafp@google.com >
2020-10-12 22:15:42 +00:00
Alexander Aprelev
38ec554d6b
Revert "[samples/ffi] Generate sqlite3 bindings with package:ffigen"
...
This reverts commit af4940fc57 as it broke
flutter engine license script, engine autoroller - it introduced dart
file with unrecognizable license.
Bug: https://bugs.chromium.org/p/skia/issues/detail?id=10598
Change-Id: I351931808316638d9bbc1b18aaf5a2525f04ee6b
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/158108
Reviewed-by: Alexander Aprelev <aam@google.com >
Commit-Queue: Alexander Aprelev <aam@google.com >
2020-08-11 19:38:18 +00:00
Daco Harkes
af4940fc57
[samples/ffi] Generate sqlite3 bindings with package:ffigen
...
Cleanup handwritten code now that we do have a generator.
We don't need package:ffigen in the DEPS, because we don't run it
anywhere in the SDK build or tests. It is a dev dependency and the
generated file is checked in.
Change-Id: I02784ca5895b4e878a0fed696a34c546a71c2702
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/152141
Commit-Queue: Daco Harkes <dacoharkes@google.com >
Reviewed-by: Jonas Jensen <jonasfj@google.com >
2020-08-11 09:15:59 +00:00
netroby
1f791e0668
Fixed #39679 make sqlite ffi sample run success
...
Closes #39680
https://github.com/dart-lang/sdk/pull/39680
GitOrigin-RevId: 08a6f2c661d645f14ff41c13292002028bc10323
Change-Id: I5100521fa011be5167d00e5610bd87cb2f78093b
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/127456
Reviewed-by: Daco Harkes <dacoharkes@google.com >
Commit-Queue: Daco Harkes <dacoharkes@google.com >
2019-12-12 09:04:11 +00:00
Brett Morgan
740cd89ad8
Fix link markup in ffi README
...
Closes #39196
https://github.com/dart-lang/sdk/pull/39196
GitOrigin-RevId: 0a3c0cf7fb3abd496fc54c018e5603a79c767a17
Change-Id: I67d5e0a3408e24bd732a0c8f2d1f4674965acf99
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/123691
Reviewed-by: Michael Thomsen <mit@google.com >
2019-11-04 09:31:27 +00:00
Daco Harkes
aa36c1fbc5
[samples/ffi] Fix samples and run them as test
...
Change-Id: I49eeba32d99c9cf916d25150b46fa6d74ece0092
Cq-Include-Trybots: luci.dart.try:vm-ffi-android-debug-arm-try,vm-ffi-android-debug-arm64-try,app-kernel-linux-debug-x64-try,vm-kernel-linux-debug-ia32-try,vm-dartkb-linux-debug-simarm64-try,vm-kernel-win-debug-x64-try,vm-kernel-win-debug-ia32-try,vm-dartkb-linux-debug-x64-try,vm-kernel-precomp-linux-debug-x64-try,vm-dartkb-linux-release-x64-abi-try,vm-kernel-precomp-android-release-arm64-try,vm-kernel-asan-linux-release-x64-try,vm-kernel-linux-release-simarm-try,vm-kernel-linux-release-simarm64-try,vm-kernel-precomp-android-release-arm_x64-try,vm-kernel-precomp-obfuscate-linux-release-x64-try,vm-kernel-reload-rollback-linux-debug-x64-try,vm-kernel-precomp-mac-release-simarm_x64-try,dart-sdk-linux-try,analyzer-analysis-server-linux-try,analyzer-linux-release-try,front-end-linux-release-x64-try
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/122382
Commit-Queue: Daco Harkes <dacoharkes@google.com >
Reviewed-by: Martin Kustermann <kustermann@google.com >
2019-10-23 22:20:37 +00:00
Daco Harkes
d82ca1a9c7
[vm/ffi] Remove Struct type argument
...
This has coupled changes in package:ffi and package:tflite_native which are pinned in DEPS.
This CL includes the required analyzer changes from https://dart-review.googlesource.com/c/sdk/+/121647 .
Issue: https://github.com/dart-lang/sdk/issues/38611
Change-Id: I712a886fd28ce0a2954fc42c90e1dfa495057732
Cq-Include-Trybots: luci.dart.try:vm-ffi-android-debug-arm-try,vm-ffi-android-debug-arm64-try,app-kernel-linux-debug-x64-try,vm-kernel-linux-debug-ia32-try,vm-dartkb-linux-debug-simarm64-try,vm-kernel-win-debug-x64-try,vm-kernel-win-debug-ia32-try,vm-dartkb-linux-debug-x64-try,vm-kernel-precomp-linux-debug-x64-try,vm-dartkb-linux-release-x64-abi-try,vm-kernel-precomp-android-release-arm64-try,vm-kernel-asan-linux-release-x64-try,vm-kernel-linux-release-simarm-try,vm-kernel-linux-release-simarm64-try,vm-kernel-precomp-android-release-arm_x64-try,vm-kernel-reload-mac-release-simdbc64-try,vm-kernel-precomp-obfuscate-linux-release-x64-try,vm-kernel-reload-rollback-linux-debug-x64-try,vm-kernel-precomp-mac-release-simarm_x64-try,dart-sdk-linux-try
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/121422
Commit-Queue: Daco Harkes <dacoharkes@google.com >
Reviewed-by: Martin Kustermann <kustermann@google.com >
2019-10-15 18:35:57 +00:00
Samir Jindel
4ee5ef9f10
[vm/ffi] Use Pointer<Null> as the type of nullptr.
...
Also clean up test/benchmark/sample code using nullptr and fix pubspec.yaml in the SQLite sample.
Fixes https://github.com/dart-lang/sdk/issues/37362
Change-Id: I6fa0522374af28020ef8f096ac22b23712aedb5a
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/121122
Commit-Queue: Samir Jindel <sjindel@google.com >
Reviewed-by: Daco Harkes <dacoharkes@google.com >
Reviewed-by: Martin Kustermann <kustermann@google.com >
2019-10-11 14:39:47 +00:00
Samir Jindel
63d3012e68
[vm/ffi] Deprecate Pointer.allocate/free.
...
Fixes https://dart-review.googlesource.com/c/sdk/+/118442 .
Also updates untested sample code in samples/ffi.
Change-Id: Id40a7b8fbb35c5d989269646ebb22864cebcfcac
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/118441
Commit-Queue: Samir Jindel <sjindel@google.com >
Reviewed-by: Daco Harkes <dacoharkes@google.com >
Reviewed-by: Martin Kustermann <kustermann@google.com >
2019-10-10 13:17:43 +00:00
Daco Harkes
ee0b1df4a6
[vm/ffi] Migrate tests/samples/benchmarks to extension methods
...
I used the regex replaces documented on the `load` and `store` deprecated methods.
I manually replaced some `.val` to `.ref` when a regex could not detect whether something was a primitive value or a struct.
Issue: https://github.com/dart-lang/sdk/issues/37773
Change-Id: I3534b6dd00d9ac45fa1a11fe75c80fb3cccc07dc
Cq-Include-Trybots: luci.dart.try:vm-ffi-android-debug-arm-try,vm-ffi-android-debug-arm64-try,app-kernel-linux-debug-x64-try,vm-kernel-linux-debug-ia32-try,vm-dartkb-linux-debug-simarm64-try,vm-kernel-win-debug-x64-try,vm-kernel-win-debug-ia32-try,vm-dartkb-linux-debug-x64-try,vm-kernel-precomp-linux-debug-x64-try,vm-dartkb-linux-release-x64-abi-try,vm-kernel-precomp-android-release-arm64-try,vm-kernel-asan-linux-release-x64-try,vm-kernel-linux-release-simarm-try,vm-kernel-linux-release-simarm64-try,vm-kernel-mac-debug-simdbc64-try,vm-kernel-precomp-android-release-arm_x64-try,vm-kernel-reload-mac-release-simdbc64-try,vm-kernel-precomp-obfuscate-linux-release-x64-try,vm-kernel-reload-rollback-linux-debug-x64-try,vm-kernel-precomp-mac-release-simarm_x64-try
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/118993
Reviewed-by: Samir Jindel <sjindel@google.com >
Reviewed-by: Martin Kustermann <kustermann@google.com >
Commit-Queue: Daco Harkes <dacoharkes@google.com >
2019-10-08 16:49:41 +00:00
djpnewton
8678df0c4d
ffi example: android.md - fix example code
...
gradle does not expand variables if the string has single quotes
Closes #37516
https://github.com/dart-lang/sdk/pull/37516
GitOrigin-RevId: ec4cfb0e7cf56d9ec5eb613ce56d553cf44e9bb6
Change-Id: I07eb51bfdbd6a32f2739d2ff7a0882280aec40a5
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/108941
Reviewed-by: Samir Jindel <sjindel@google.com >
Commit-Queue: Samir Jindel <sjindel@google.com >
2019-07-14 23:10:15 +00:00
Samir Jindel
7acecda2cc
[vm/ffi] Fix FFI Utf8 example.
...
Change-Id: Ic6c93c94f1187595b0dab2c912ebf4851ac85fe5
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/108406
Reviewed-by: Daco Harkes <dacoharkes@google.com >
Commit-Queue: Samir Jindel <sjindel@google.com >
2019-07-09 11:37:44 +00:00
Samir Jindel
fc6cb0ac21
[vm/ffi] Revamp struct representation in FFI.
...
See dartbug.com/37229 for details.
Change-Id: I63490e41c512ffc9312803985a6f6d4be1586c0a
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/101291
Commit-Queue: Samir Jindel <sjindel@google.com >
Reviewed-by: Daco Harkes <dacoharkes@google.com >
Reviewed-by: Dmitry Stefantsov <dmitryas@google.com >
2019-07-02 23:12:13 +00:00
Daco Harkes
e7f7984995
[doc/ffi] Fix CString implementation in dart:ffi sample
...
Change-Id: I3dcb9fefe3d13f21da1c923dd69cc2a994ccf51e
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/103128
Auto-Submit: Daco Harkes <dacoharkes@google.com >
Reviewed-by: Vyacheslav Egorov <vegorov@google.com >
Commit-Queue: Daco Harkes <dacoharkes@google.com >
2019-05-21 08:53:08 +00:00
Samir Jindel
991c9da720
[vm/ffi] Add copyright headers to sqlite example and incorporate Michael's feedback.
...
Change-Id: I83555a81bb6394a8c2a740a5127175be85aabf3d
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/98007
Commit-Queue: Samir Jindel <sjindel@google.com >
Reviewed-by: Michael Thomsen <mit@google.com >
Auto-Submit: Samir Jindel <sjindel@google.com >
2019-03-27 14:11:17 +00:00
Samir Jindel
7a15b02935
[vm/ffi] Add demo docs for using FFI on Android.
...
Change-Id: I0cc753ba9f8b2880634696a07dd4bac57df9c491
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/97937
Commit-Queue: Samir Jindel <sjindel@google.com >
Reviewed-by: Michael Thomsen <mit@google.com >
Auto-Submit: Samir Jindel <sjindel@google.com >
2019-03-27 13:16:46 +00:00
Samir Jindel
28a2416320
Fix sqlite sample import.
...
Change-Id: I71bde1d7f15912a628e15572b51350bb768c78c6
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/97935
Reviewed-by: Samir Jindel <sjindel@google.com >
2019-03-26 14:47:15 +00:00
Daco Harkes
f135a49861
[doc] dart:ffi SQLite sample
...
Issue: https://github.com/dart-lang/sdk/issues/35775
Change-Id: I2ce86c554ffd6f49050cf63ead60809c08fb02e5
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/97504
Reviewed-by: Michael Thomsen <mit@google.com >
2019-03-26 14:46:09 +00:00