dart-sdk/tests
Liam Appelbe edeac698c2 [vm/ffi] Closure callbacks for async callbacks
This change is almost trivial. The closure is stored on the callback's
RawReceivePort, not in the VM. So we can basically just remove the CFE
check and it pretty much works. The only problem is that we can't set
function.FfiCallbackTarget anymore, so most of the CL is dealing with
that.

A few places were deciding whether an FFI trampoline was a call or a
callback based on whether function.FfiCallbackTarget() was null. But
now the target will be null for async callbacks. So instead I've added
a new value to the FfiCallbackKind enum (and renamed it), and changed
those checks.

Sync callback closures will be a separate CL, because they're more
complicated.

Bug: https://github.com/dart-lang/sdk/issues/52689
Change-Id: I8e5dfb557362e679f66195b735c3c382e6792840
TEST=async_void_function_callbacks_test.dart
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/316160
Commit-Queue: Liam Appelbe <liama@google.com>
Reviewed-by: Daco Harkes <dacoharkes@google.com>
2023-07-26 23:23:26 +00:00
..
co19 [co19] Roll co19 to 7e4ba229fecce1affe8284b166744329182feb3e 2023-07-14 09:29:50 +00:00
co19_2 [test] Introduce status variable $simulator, and fix some cases missing simarm_x64. 2023-04-04 03:10:26 +00:00
corelib Fix bug in VM _CompactHashIterable. 2023-07-04 11:00:50 +00:00
corelib_2 [test] Skip corelib tests relying on symbol names and stack traces in obfuscated and dwarf modes 2023-05-26 20:05:08 +00:00
dartdevc [ddc] Update reified type calculation 2023-07-18 21:01:14 +00:00
dartdevc_2 [ddc] Implement new record types 2023-05-12 17:23:07 +00:00
ffi [vm/ffi] Closure callbacks for async callbacks 2023-07-26 23:23:26 +00:00
ffi_2 [infra] Make the sanitizer a first-class status variable. 2023-07-10 17:46:31 +00:00
language [analyzer] Initial refactor of _InstanceCreationEvaluator to return Constant value. 2023-07-25 19:23:02 +00:00
language_2 [analyzer] Initial refactor of _InstanceCreationEvaluator to return Constant value. 2023-07-25 19:23:02 +00:00
lib Reland "[dart:js_interop] Remove Object.toJS and JSNumber.toDart" 2023-07-17 21:16:07 +00:00
lib_2 [sdk] Provide Isolate.resolvePackageUriSync 2023-07-11 12:59:33 +00:00
modular [Reland][cfe] Support external constructor with final fields 2023-01-17 17:29:28 +00:00
standalone Clean up Platform.lineTerminator test. 2023-07-19 20:23:51 +00:00
standalone_2 Clean up Platform.lineTerminator test. 2023-07-19 20:23:51 +00:00
web [dart2js] Bailout tracing of record fields when record is bailed out 2023-07-19 23:34:46 +00:00
web_2 [dart2js] Fix failing web/deferred_fail_and_retry_test on d8 platform. 2023-06-27 18:25:30 +00:00
legacy_status_dart2js.csv Spelling tests 2022-12-19 12:56:47 +00:00
OWNERS [infra] Add OWNERS to the Dart SDK 2022-02-14 14:06:34 +00:00
README.md

This directory contains tests of the language and core library implementations. For more information, see https://github.com/dart-lang/sdk/wiki/Testing.