1
0
Fork 0
mirror of https://github.com/beefytech/Beef.git synced 2025-06-10 12:32:20 +02:00

Fixed CreateObject in release mode

This commit is contained in:
Brian Fiete 2020-07-08 07:34:15 -07:00
parent 1f887608a2
commit 4a08a9702e

View file

@ -97,8 +97,18 @@ namespace System.Reflection
if (!methodInfo.IsInitialized)
return .Err;
Object obj = Internal.Dbg_ObjectAlloc(mTypeClassVData, mInstSize, mInstAlign, 1);
Object obj;
let objType = typeof(Object) as TypeInstance;
#if BF_ENABLE_OBJECT_DEBUG_FLAGS
obj = Internal.Dbg_ObjectAlloc(mTypeClassVData, mInstSize, mInstAlign, 1);
#else
void* mem = new [Align(16)] uint8[mInstSize]* {?};
obj = Internal.UnsafeCastToObject(mem);
obj.[Friend]mClassVData = (.)(void*)mTypeClassVData;
#endif
Internal.MemSet((uint8*)Internal.UnsafeCastToPtr(obj) + objType.mInstSize, 0, mInstSize - objType.mInstSize);
if (methodInfo.Invoke(obj) case .Err)
{
delete obj;
@ -129,7 +139,7 @@ namespace System.Reflection
if (!methodInfo.IsInitialized)
return .Err;
void* data = new uint8[mInstSize]*;
void* data = new [Align(16)] uint8[mInstSize]* {?};
if (methodInfo.Invoke(data) case .Err)
{