Add initRawStructMetadata2 for safety

This commit is contained in:
Alejandro Alonso
2024-08-20 10:26:38 -07:00
parent 9faf615c88
commit f2f82a7de6
7 changed files with 122 additions and 22 deletions

View File

@@ -2823,13 +2823,26 @@ FUNCTION(GenericInstantiateLayoutString,
UNKNOWN_MEMEFFECTS)
// void swift_initRawStructMetadata(Metadata *structType,
// StructLayoutFlags structLayoutFlags,
// StructLayoutFlags flags,
// const TypeLayout *likeType,
// intptr_t count,
// RawLayoutFlags rawLayoutFlags);
// int32_t count);
FUNCTION(InitRawStructMetadata,
swift_initRawStructMetadata,
C_CC, AlwaysAvailable,
C_CC, InitRawStructMetadataAvailability,
RETURNS(VoidTy),
ARGS(TypeMetadataPtrTy, SizeTy, Int8PtrPtrTy->getPointerTo(0), Int32Ty),
ATTRS(NoUnwind),
EFFECT(MetaData),
UNKNOWN_MEMEFFECTS)
// void swift_initRawStructMetadata2(Metadata *structType,
// StructLayoutFlags structLayoutFlags,
// const TypeLayout *likeType,
// intptr_t count,
// RawLayoutFlags rawLayoutFlags);
FUNCTION(InitRawStructMetadata2,
swift_initRawStructMetadata2,
C_CC, InitRawStructMetadata2Availability,
RETURNS(VoidTy),
ARGS(TypeMetadataPtrTy, SizeTy, Int8PtrPtrTy->getPointerTo(0), SizeTy,
SizeTy),