[vm/ffi] Disallow Pointers and structs in finalizers and expandos
`Dart_NewWeakPersistentHandle` and `Dart_NewFinalizableHandle` in `dart_api.h` do no longer accept `Pointer`s and subtypes of `Struct`s as values passed in to the `object` parameter. Expandos no longer accept `Pointer`s and subtypes of `Struct`s as values passed in to the `object` parameter. Cleans up unused object_store->ffi_struct_class. Closes: https://github.com/dart-lang/sdk/issues/45071 Breaking change: https://github.com/dart-lang/sdk/issues/45072 TEST=vm/cc/DartAPI_FinalizableHandleErrors TEST=vm/cc/DartAPI_WeakPersistentHandleErrors TEST=tests/ffi(_2)/expando_test.dart Change-Id: I1f11adfa073c7d2c979f3c2bb15c7444c7c767a0 Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/186280 Commit-Queue: Daco Harkes <dacoharkes@google.com> Reviewed-by: Martin Kustermann <kustermann@google.com>
This commit is contained in:
committed by
commit-bot@chromium.org
parent
64460ec47f
commit
2376ab5186
@@ -475,7 +475,7 @@ DART_EXPORT void Dart_DeletePersistentHandle(Dart_PersistentHandle object);
|
||||
*
|
||||
* Requires there to be a current isolate.
|
||||
*
|
||||
* \param object An object.
|
||||
* \param object An object with identity.
|
||||
* \param peer A pointer to a native object or NULL. This value is
|
||||
* provided to callback when it is invoked.
|
||||
* \param external_allocation_size The number of externally allocated
|
||||
@@ -531,7 +531,7 @@ DART_EXPORT void Dart_UpdateExternalSize(Dart_WeakPersistentHandle object,
|
||||
*
|
||||
* Requires there to be a current isolate.
|
||||
*
|
||||
* \param object An object.
|
||||
* \param object An object with identity. Pointers do not have identity.
|
||||
* \param peer A pointer to a native object or NULL. This value is
|
||||
* provided to callback when it is invoked.
|
||||
* \param external_allocation_size The number of externally allocated
|
||||
|
||||
Reference in New Issue
Block a user