1
0
Fork 0
mirror of https://github.com/beefytech/Beef.git synced 2025-06-08 11:38:21 +02:00

Updated GC with new type layout

This commit is contained in:
Brian Fiete 2020-09-16 05:30:21 -07:00
parent 9185d9f02a
commit 16af6620d9

View file

@ -189,6 +189,7 @@ namespace bf
public:
int32 mSize;
TypeId mTypeId;
TypeId mBoxedId;
uint16 mTypeFlags;
int32 mMemberDataOffset;
uint8 mTypeCode;
@ -203,6 +204,7 @@ namespace bf
intptr mClassVData;
int32 mSize;
TypeId mTypeId;
TypeId mBoxedId;
uint16 mTypeFlags;
int32 mMemberDataOffset;
uint8 mTypeCode;
@ -217,45 +219,11 @@ namespace bf
class TypeInstance : public Type
{
public:
struct FieldData
{
String* mName;
int64 mConstValue;
int32 mDataOffset;
TypeId mFieldTypeId;
FieldFlags mFlags;
int16 mCustomAttributesIdx;
};
struct MethodData
{
String* mName; // mName
void* mPtr;
};
ClassVData* mTypeClassVData;
String* mName;
String* mNamespace;
int32 mInstSize;
int32 mInstAlign;
TypeId mBaseType;
TypeId mUnderlyingType;
TypeId mOuterType;
uint8 mInterfaceSlot;
uint8 mInterfaceCount;
int16 mMethodDataCount;
int16 mPropertyDataCount;
int16 mFieldDataCount;
int16 mConstructorDataCount;
void* mInterfaceDataPtr;
MethodData* mMethodDataPtr;
void* mPropertyDataPtr;
FieldData* mFieldDataPtr;
void* mConstructorDataPtr;
void** mCustomAttrDataPtr;
int32 mInstAlign;
};
}