mirror of
https://github.com/beefytech/Beef.git
synced 2025-06-08 19:48:20 +02:00
Updated GC with new type layout
This commit is contained in:
parent
9185d9f02a
commit
16af6620d9
1 changed files with 3 additions and 35 deletions
|
@ -189,6 +189,7 @@ namespace bf
|
||||||
public:
|
public:
|
||||||
int32 mSize;
|
int32 mSize;
|
||||||
TypeId mTypeId;
|
TypeId mTypeId;
|
||||||
|
TypeId mBoxedId;
|
||||||
uint16 mTypeFlags;
|
uint16 mTypeFlags;
|
||||||
int32 mMemberDataOffset;
|
int32 mMemberDataOffset;
|
||||||
uint8 mTypeCode;
|
uint8 mTypeCode;
|
||||||
|
@ -203,6 +204,7 @@ namespace bf
|
||||||
intptr mClassVData;
|
intptr mClassVData;
|
||||||
int32 mSize;
|
int32 mSize;
|
||||||
TypeId mTypeId;
|
TypeId mTypeId;
|
||||||
|
TypeId mBoxedId;
|
||||||
uint16 mTypeFlags;
|
uint16 mTypeFlags;
|
||||||
int32 mMemberDataOffset;
|
int32 mMemberDataOffset;
|
||||||
uint8 mTypeCode;
|
uint8 mTypeCode;
|
||||||
|
@ -217,45 +219,11 @@ namespace bf
|
||||||
class TypeInstance : public Type
|
class TypeInstance : public Type
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
struct FieldData
|
|
||||||
{
|
|
||||||
String* mName;
|
|
||||||
int64 mConstValue;
|
|
||||||
int32 mDataOffset;
|
|
||||||
TypeId mFieldTypeId;
|
|
||||||
FieldFlags mFlags;
|
|
||||||
int16 mCustomAttributesIdx;
|
|
||||||
};
|
|
||||||
|
|
||||||
struct MethodData
|
|
||||||
{
|
|
||||||
String* mName; // mName
|
|
||||||
void* mPtr;
|
|
||||||
};
|
|
||||||
|
|
||||||
ClassVData* mTypeClassVData;
|
ClassVData* mTypeClassVData;
|
||||||
String* mName;
|
String* mName;
|
||||||
String* mNamespace;
|
String* mNamespace;
|
||||||
int32 mInstSize;
|
int32 mInstSize;
|
||||||
int32 mInstAlign;
|
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;
|
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue