extend udts w/ container info

This commit is contained in:
Ryan Fleury
2026-04-20 09:57:32 -07:00
parent e6d28d40e2
commit 290590b885
3 changed files with 21 additions and 22 deletions
+8 -2
View File
@@ -67,7 +67,7 @@ union RDI_GUID {RDI_U8 u8[16]; RDI_U64 u64[2];};
// "raddbg\0\0"
#define RDI_MAGIC_CONSTANT 0x0000676264646172
#define RDI_ENCODING_VERSION 20
#define RDI_ENCODING_VERSION 21
////////////////////////////////////////////////////////////////
//~ Format Types & Functions
@@ -363,7 +363,7 @@ RDI_TypeModifierFlag_Volatile = 1<<1,
RDI_TypeModifierFlag_Restrict = 1<<2,
} RDI_TypeModifierFlagsEnum;
typedef RDI_U32 RDI_UDTFlags;
typedef RDI_U8 RDI_UDTFlags;
typedef enum RDI_UDTFlagsEnum
{
RDI_UDTFlag_EnumMembers = 1<<0,
@@ -879,11 +879,14 @@ X(EnumMembers)\
#define RDI_UDT_XList \
X(RDI_U32, self_type_idx)\
X(RDI_UDTFlags, flags)\
X(RDI_ContainerFlags, container_flags)\
X(RDI_U16, reserved_0)\
X(RDI_U32, member_first)\
X(RDI_U32, member_count)\
X(RDI_U32, file_idx)\
X(RDI_U32, line)\
X(RDI_U32, col)\
X(RDI_U32, container_idx)\
#define RDI_MemberKind_XList \
X(NULL)\
@@ -1427,11 +1430,14 @@ struct RDI_UDT
{
RDI_U32 self_type_idx;
RDI_UDTFlags flags;
RDI_ContainerFlags container_flags;
RDI_U16 reserved_0;
RDI_U32 member_first;
RDI_U32 member_count;
RDI_U32 file_idx;
RDI_U32 line;
RDI_U32 col;
RDI_U32 container_idx;
};
typedef struct RDI_Member RDI_Member;
+12 -9
View File
@@ -77,7 +77,7 @@
"";
"// \"raddbg\\0\\0\"";
"#define RDI_MAGIC_CONSTANT 0x0000676264646172";
"#define RDI_ENCODING_VERSION 20";
"#define RDI_ENCODING_VERSION 21";
"";
"////////////////////////////////////////////////////////////////";
"//~ Format Types & Functions";
@@ -825,13 +825,16 @@ RDI_UDTFlagTable:
@table(name type desc)
RDI_UDTMemberTable:
{
{self_type_idx RDI_U32 ""}
{flags RDI_UDTFlags ""}
{member_first RDI_U32 ""}
{member_count RDI_U32 ""}
{file_idx RDI_U32 ""}
{line RDI_U32 ""}
{col RDI_U32 ""}
{self_type_idx RDI_U32 ""}
{flags RDI_UDTFlags ""}
{container_flags RDI_ContainerFlags ""}
{reserved_0 RDI_U16 ""}
{member_first RDI_U32 ""}
{member_count RDI_U32 ""}
{file_idx RDI_U32 ""}
{line RDI_U32 ""}
{col RDI_U32 ""}
{container_idx RDI_U32 ""}
}
@table(name value)
@@ -942,7 +945,7 @@ RDI_EnumMemberTable:
```
}
@enum(RDI_U32) RDI_UDTFlags:
@enum(RDI_U8) RDI_UDTFlags:
{
@expand(RDI_UDTFlagTable a) `$(a.name .. =>20) = $(a.value)`
}
+1 -11
View File
@@ -1798,17 +1798,6 @@ rdim_bake(Arena *arena, RDIM_BakeParams *params)
}
lane_sync();
//////////////////////////////////////////////////////////////
//- rjf: @rdim_bake_stage build deduplicated location maps
//
RDIM_BakeStringMapTight *bake_locs__regs = 0;
RDIM_BakeStringMapTight *bake_locs__reg_plus_u16 = 0;
RDIM_BakeStringMapTight *bake_locs__bytecode = 0;
{
}
lane_sync();
//////////////////////////////////////////////////////////////
//- rjf: @rdim_bake_stage bake strings
//
@@ -3196,6 +3185,7 @@ rdim_bake(Arena *arena, RDIM_BakeParams *params)
}
}
#endif
//////////////////////////////////////////////////////////////
//- rjf: @rdim_bake_stage compute layout for constant data
//