dart-sdk/tests/ffi_2
Daco Harkes 7eac9f355e [vm/ffi] Expose a subset of dart_(native_)api.h for dynamic linking.
This CL introduces dart_api_dl.h which exposes a subset of dart_api.h
and dart_native_api.h for dynamic linking at runtime through the FFI.
Dynamic linking is done through including dart_api_dl.cc in a shared
library and passing NativeApi.initializeApiDLData to the init function.

This CL also includes Native API versioning to deal with possible
version skew between native api version against which native libraries
are compiled and the version in the DartVM the code is run on.

The subset of symbols in the CL includes handle related symbols, error
related symbols, handle scope symbols, and native port sumbols.

Design: http://go/dart-ffi-expose-dart-api

Closes: https://github.com/dart-lang/sdk/issues/40607
Closes: https://github.com/dart-lang/sdk/issues/36858
Closes: https://github.com/dart-lang/sdk/issues/41319
Closes: https://github.com/flutter/flutter/issues/46887
Closes: https://github.com/flutter/flutter/issues/47061

Misc:
Closes: https://github.com/dart-lang/sdk/issues/42260

Change-Id: I9e557808dbc99b341f23964cbddbb05f26d7a6c5
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-kernel-win-debug-x64-try,vm-kernel-win-debug-ia32-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-msan-linux-release-x64-try,vm-kernel-precomp-msan-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,dart-sdk-linux-try,analyzer-analysis-server-linux-try,analyzer-linux-release-try,front-end-linux-release-x64-try,vm-kernel-precomp-win-release-x64-try,vm-kernel-mac-debug-x64-try,vm-precomp-ffi-qemu-linux-release-arm-try,vm-kernel-nnbd-linux-debug-x64-try,analyzer-nnbd-linux-release-try,front-end-nnbd-linux-release-x64-try
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/145592
Commit-Queue: Daco Harkes <dacoharkes@google.com>
Reviewed-by: Martin Kustermann <kustermann@google.com>
Reviewed-by: Alexander Markov <alexmarkov@google.com>
2020-06-18 07:30:43 +00:00
..
aliasing_test.dart
analysis_options.yaml
callback_tests_utils.dart
coordinate.dart
coordinate_bare.dart
data_not_asan_test.dart
data_test.dart
dylib_utils.dart
extension_methods_test.dart
external_typed_data_test.dart
ffi_2.status [test/ffi] Disable handles test on msan 2020-06-17 08:26:39 +00:00
ffi_test_helpers.dart
function_callbacks_many_test.dart
function_callbacks_test.dart
function_callbacks_very_many_test copy.dart
function_callbacks_very_many_test.dart
function_structs_test.dart
function_test.dart
hardfp_test.dart
negative_function_test.dart [vm/ffi] Change asFunction and lookFunction to extension methods 2020-02-14 15:46:37 +00:00
null_regress_39068_test.dart
null_test.dart
prepare_flutter_bundle.dart
regress_37254_test.dart
regress_39044_test.dart
regress_39063_test.dart
regress_39885_test.dart
regress_40537_test.dart [vm/ffi] Fix sign extension for small int arguments on x64 Linux/MacOS 2020-02-10 17:05:14 +00:00
sizeof_test.dart
snapshot_test.dart
stacktrace_regress_37910_test.dart
structs_test.dart
variance_function_test.dart
very_large_struct.dart
vmspecific_dynamic_library_test.dart
vmspecific_enable_ffi_test.dart
vmspecific_function_callbacks_exit_test.dart
vmspecific_function_callbacks_negative_test.dart
vmspecific_function_callbacks_test.dart
vmspecific_function_gc_test.dart
vmspecific_function_test.dart
vmspecific_handle_dynamically_linked_test.dart [vm/ffi] Expose a subset of dart_(native_)api.h for dynamic linking. 2020-06-18 07:30:43 +00:00
vmspecific_handle_test.dart [vm/ffi] Convert Objects to Dart_Handles in FFI calls 2020-06-12 11:14:22 +00:00
vmspecific_highmem_32bit_test.dart
vmspecific_null_test.dart
vmspecific_object_gc_test.dart
vmspecific_regress_37100_test.dart
vmspecific_regress_37511_callbacks_test.dart
vmspecific_regress_37511_test.dart
vmspecific_regress_37780_test.dart
vmspecific_regress_38993_test.dart
vmspecific_send_port_id_test.dart
vmspecific_static_checks_test.dart [vm/ffi] Convert Objects to Dart_Handles in FFI calls 2020-06-12 11:14:22 +00:00
vmspecific_variance_function_checks_test.dart