1
0
Fork 0
mirror of https://github.com/beefytech/Beef.git synced 2025-06-16 23:34:10 +02:00

Another pass at marking scoped raw arrays as deleted

This commit is contained in:
Brian Fiete 2020-05-18 06:58:02 -07:00
parent 81f8a95cd8
commit 76dfe97d78
5 changed files with 273 additions and 81 deletions

View file

@ -118,23 +118,20 @@ namespace System
#endif
}
static void SetDeleted1(void* dest)
{
*((uint8*)dest) = 0xDD;
}
static void SetDeleted4(void* dest)
{
*((uint32*)dest) = 0xDDDDDDDD;
}
static void SetDeleted8(void* dest)
{
*((uint64*)dest) = 0xDDDDDDDDDDDDDDDDUL;
}
static void SetDeleted16(void* dest)
{
*((uint64*)dest) = 0xDDDDDDDDDDDDDDDDUL;
*((uint64*)dest + 1) = 0xDDDDDDDDDDDDDDDDUL;
}
[Error("Cannot be called directly"), SkipCall]
static void SetDeleted1(void* dest);
[Error("Cannot be called directly"), SkipCall]
static void SetDeleted4(void* dest);
[Error("Cannot be called directly"), SkipCall]
static void SetDeleted8(void* dest);
[Error("Cannot be called directly"), SkipCall]
static void SetDeleted16(void* dest);
[Error("Cannot be called directly"), SkipCall]
static extern void SetDeletedX(void* dest, int size);
[Error("Cannot be called directly"), SkipCall]
static extern void SetDeleted(void* dest, int size, int32 align, int arrayCount);
[Error("Cannot be called directly"), SkipCall]
static extern void SetDeletedArray(void* dest, int size, int32 align, int arrayCount);
public static int MemCmp(void* memA, void* memB, int length)
{