mirror of
https://github.com/dart-lang/sdk
synced 2024-11-02 15:01:30 +00:00
4e2343c290
Introduces the Allocator API in `dart:ffi`. This CL does not yet roll `package:ffi` to use `Allocator`, because that breaks the checked in Dart in Fluter in g3. Instead, this coppies `_MallocAllocator` from `package:ffi` into the ffi tests for testing. This CL does not yet migrate off `allocate` and `free` in the SDK. That is done in a dependent CL. Issue: https://github.com/dart-lang/sdk/issues/44621 Issue: https://github.com/dart-lang/sdk/issues/38721 TEST=tests/ffi/allocator_test.dart TEST=tests/ffi/calloc_test.dart TEST=tests/ffi/vmspecific_static_checks_test.dart Change-Id: I173e213a750b8b3f594bb8d4fc72575f2b6b91f7 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/+/177705 Reviewed-by: Clement Skau <cskau@google.com>
24 lines
592 B
Dart
24 lines
592 B
Dart
// Copyright (c) 2021, the Dart project authors. Please see the AUTHORS file
|
|
// for details. All rights reserved. Use of this source code is governed by a
|
|
// BSD-style license that can be found in the LICENSE file.
|
|
|
|
// Tests that we can implement the Allocator interface.
|
|
|
|
import 'dart:ffi';
|
|
|
|
class MyAllocator implements Allocator {
|
|
const MyAllocator();
|
|
|
|
@override
|
|
Pointer<T> allocate<T extends NativeType>(int numBytes, {int? alignment}) {
|
|
throw "Not implemented";
|
|
}
|
|
|
|
void free(Pointer pointer) {}
|
|
}
|
|
|
|
const myAllocator = MyAllocator();
|
|
|
|
void main() {
|
|
print(myAllocator);
|
|
}
|