mirror of
https://github.com/Ed94/raddebugger.git
synced 2026-08-14 17:28:07 +00:00
extend udts w/ container info
This commit is contained in:
+8
-2
@@ -67,7 +67,7 @@ union RDI_GUID {RDI_U8 u8[16]; RDI_U64 u64[2];};
|
|||||||
|
|
||||||
// "raddbg\0\0"
|
// "raddbg\0\0"
|
||||||
#define RDI_MAGIC_CONSTANT 0x0000676264646172
|
#define RDI_MAGIC_CONSTANT 0x0000676264646172
|
||||||
#define RDI_ENCODING_VERSION 20
|
#define RDI_ENCODING_VERSION 21
|
||||||
|
|
||||||
////////////////////////////////////////////////////////////////
|
////////////////////////////////////////////////////////////////
|
||||||
//~ Format Types & Functions
|
//~ Format Types & Functions
|
||||||
@@ -363,7 +363,7 @@ RDI_TypeModifierFlag_Volatile = 1<<1,
|
|||||||
RDI_TypeModifierFlag_Restrict = 1<<2,
|
RDI_TypeModifierFlag_Restrict = 1<<2,
|
||||||
} RDI_TypeModifierFlagsEnum;
|
} RDI_TypeModifierFlagsEnum;
|
||||||
|
|
||||||
typedef RDI_U32 RDI_UDTFlags;
|
typedef RDI_U8 RDI_UDTFlags;
|
||||||
typedef enum RDI_UDTFlagsEnum
|
typedef enum RDI_UDTFlagsEnum
|
||||||
{
|
{
|
||||||
RDI_UDTFlag_EnumMembers = 1<<0,
|
RDI_UDTFlag_EnumMembers = 1<<0,
|
||||||
@@ -879,11 +879,14 @@ X(EnumMembers)\
|
|||||||
#define RDI_UDT_XList \
|
#define RDI_UDT_XList \
|
||||||
X(RDI_U32, self_type_idx)\
|
X(RDI_U32, self_type_idx)\
|
||||||
X(RDI_UDTFlags, flags)\
|
X(RDI_UDTFlags, flags)\
|
||||||
|
X(RDI_ContainerFlags, container_flags)\
|
||||||
|
X(RDI_U16, reserved_0)\
|
||||||
X(RDI_U32, member_first)\
|
X(RDI_U32, member_first)\
|
||||||
X(RDI_U32, member_count)\
|
X(RDI_U32, member_count)\
|
||||||
X(RDI_U32, file_idx)\
|
X(RDI_U32, file_idx)\
|
||||||
X(RDI_U32, line)\
|
X(RDI_U32, line)\
|
||||||
X(RDI_U32, col)\
|
X(RDI_U32, col)\
|
||||||
|
X(RDI_U32, container_idx)\
|
||||||
|
|
||||||
#define RDI_MemberKind_XList \
|
#define RDI_MemberKind_XList \
|
||||||
X(NULL)\
|
X(NULL)\
|
||||||
@@ -1427,11 +1430,14 @@ struct RDI_UDT
|
|||||||
{
|
{
|
||||||
RDI_U32 self_type_idx;
|
RDI_U32 self_type_idx;
|
||||||
RDI_UDTFlags flags;
|
RDI_UDTFlags flags;
|
||||||
|
RDI_ContainerFlags container_flags;
|
||||||
|
RDI_U16 reserved_0;
|
||||||
RDI_U32 member_first;
|
RDI_U32 member_first;
|
||||||
RDI_U32 member_count;
|
RDI_U32 member_count;
|
||||||
RDI_U32 file_idx;
|
RDI_U32 file_idx;
|
||||||
RDI_U32 line;
|
RDI_U32 line;
|
||||||
RDI_U32 col;
|
RDI_U32 col;
|
||||||
|
RDI_U32 container_idx;
|
||||||
};
|
};
|
||||||
|
|
||||||
typedef struct RDI_Member RDI_Member;
|
typedef struct RDI_Member RDI_Member;
|
||||||
|
|||||||
+5
-2
@@ -77,7 +77,7 @@
|
|||||||
"";
|
"";
|
||||||
"// \"raddbg\\0\\0\"";
|
"// \"raddbg\\0\\0\"";
|
||||||
"#define RDI_MAGIC_CONSTANT 0x0000676264646172";
|
"#define RDI_MAGIC_CONSTANT 0x0000676264646172";
|
||||||
"#define RDI_ENCODING_VERSION 20";
|
"#define RDI_ENCODING_VERSION 21";
|
||||||
"";
|
"";
|
||||||
"////////////////////////////////////////////////////////////////";
|
"////////////////////////////////////////////////////////////////";
|
||||||
"//~ Format Types & Functions";
|
"//~ Format Types & Functions";
|
||||||
@@ -827,11 +827,14 @@ RDI_UDTMemberTable:
|
|||||||
{
|
{
|
||||||
{self_type_idx RDI_U32 ""}
|
{self_type_idx RDI_U32 ""}
|
||||||
{flags RDI_UDTFlags ""}
|
{flags RDI_UDTFlags ""}
|
||||||
|
{container_flags RDI_ContainerFlags ""}
|
||||||
|
{reserved_0 RDI_U16 ""}
|
||||||
{member_first RDI_U32 ""}
|
{member_first RDI_U32 ""}
|
||||||
{member_count RDI_U32 ""}
|
{member_count RDI_U32 ""}
|
||||||
{file_idx RDI_U32 ""}
|
{file_idx RDI_U32 ""}
|
||||||
{line RDI_U32 ""}
|
{line RDI_U32 ""}
|
||||||
{col RDI_U32 ""}
|
{col RDI_U32 ""}
|
||||||
|
{container_idx RDI_U32 ""}
|
||||||
}
|
}
|
||||||
|
|
||||||
@table(name value)
|
@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)`
|
@expand(RDI_UDTFlagTable a) `$(a.name .. =>20) = $(a.value)`
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1798,17 +1798,6 @@ rdim_bake(Arena *arena, RDIM_BakeParams *params)
|
|||||||
}
|
}
|
||||||
lane_sync();
|
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
|
//- rjf: @rdim_bake_stage bake strings
|
||||||
//
|
//
|
||||||
@@ -3196,6 +3185,7 @@ rdim_bake(Arena *arena, RDIM_BakeParams *params)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
//////////////////////////////////////////////////////////////
|
//////////////////////////////////////////////////////////////
|
||||||
//- rjf: @rdim_bake_stage compute layout for constant data
|
//- rjf: @rdim_bake_stage compute layout for constant data
|
||||||
//
|
//
|
||||||
|
|||||||
Reference in New Issue
Block a user