mirror of
https://github.com/Ed94/raddebugger.git
synced 2026-06-13 07:32:23 -07:00
introduce separate rdi table element types for isolated line tables & inline sites
This commit is contained in:
@@ -797,6 +797,16 @@ RDI_U32 line_info_col_data_idx;
|
||||
RDI_U32 line_info_count;
|
||||
};
|
||||
|
||||
typedef struct RDI_LineTable RDI_LineTable;
|
||||
struct RDI_LineTable
|
||||
{
|
||||
RDI_U32 voffs_base_idx;
|
||||
RDI_U32 lines_base_idx;
|
||||
RDI_U32 cols_base_idx;
|
||||
RDI_U32 lines_count;
|
||||
RDI_U32 cols_count;
|
||||
};
|
||||
|
||||
typedef struct RDI_Line RDI_Line;
|
||||
struct RDI_Line
|
||||
{
|
||||
@@ -934,6 +944,18 @@ RDI_U32 static_local_idx_run_first;
|
||||
RDI_U32 static_local_count;
|
||||
};
|
||||
|
||||
typedef struct RDI_InlineSite RDI_InlineSite;
|
||||
struct RDI_InlineSite
|
||||
{
|
||||
RDI_U32 name_string_idx;
|
||||
RDI_U32 call_src_file_idx;
|
||||
RDI_U32 call_line_num;
|
||||
RDI_U32 call_col_num;
|
||||
RDI_U32 type_idx;
|
||||
RDI_U32 owner_type_idx;
|
||||
RDI_U32 line_table_idx;
|
||||
};
|
||||
|
||||
typedef struct RDI_Local RDI_Local;
|
||||
struct RDI_Local
|
||||
{
|
||||
|
||||
@@ -507,6 +507,16 @@ RDI_UnitMemberTable:
|
||||
////////////////////////////////
|
||||
//~ rjf: Line Info Type Tables
|
||||
|
||||
@table(name type desc)
|
||||
RDI_LineTableMemberTable:
|
||||
{
|
||||
{voffs_base_idx RDI_U32 ""} // U64[lines_count+1] (sorted ranges)
|
||||
{lines_base_idx RDI_U32 ""} // RDI_Line[lines_count]
|
||||
{cols_base_idx RDI_U32 ""} // RDI_Column[cols_count]
|
||||
{lines_count RDI_U32 ""}
|
||||
{cols_count RDI_U32 ""}
|
||||
}
|
||||
|
||||
@table(name type desc)
|
||||
RDI_LineMemberTable:
|
||||
{
|
||||
@@ -521,6 +531,11 @@ RDI_ColumnMemberTable:
|
||||
{col_opl RDI_U16 ""}
|
||||
}
|
||||
|
||||
@struct RDI_LineTable:
|
||||
{
|
||||
@expand(RDI_LineTableMemberTable a) `$(a.type) $(a.name)`
|
||||
}
|
||||
|
||||
@struct RDI_Line:
|
||||
{
|
||||
@expand(RDI_LineMemberTable a) `$(a.type) $(a.name)`
|
||||
@@ -808,9 +823,9 @@ RDI_LocalKindTable:
|
||||
@table(name value)
|
||||
RDI_LocationKindTable:
|
||||
{
|
||||
{NULL 0x0}
|
||||
{AddrBytecodeStream 0x1}
|
||||
{ValBytecodeStream 0x2}
|
||||
{NULL 0x0}
|
||||
{AddrBytecodeStream 0x1}
|
||||
{ValBytecodeStream 0x2}
|
||||
{AddrRegPlusU16 0x3}
|
||||
{AddrAddrRegPlusU16 0x4}
|
||||
{ValReg 0x5}
|
||||
@@ -862,6 +877,18 @@ RDI_ScopeMemberTable:
|
||||
{static_local_count RDI_U32 ""}
|
||||
}
|
||||
|
||||
@table(name type desc)
|
||||
RDI_InlineSiteMemberTable:
|
||||
{
|
||||
{name_string_idx RDI_U32 ""}
|
||||
{call_src_file_idx RDI_U32 ""}
|
||||
{call_line_num RDI_U32 ""}
|
||||
{call_col_num RDI_U32 ""}
|
||||
{type_idx RDI_U32 ""}
|
||||
{owner_type_idx RDI_U32 ""}
|
||||
{line_table_idx RDI_U32 ""}
|
||||
}
|
||||
|
||||
@table(name type desc)
|
||||
RDI_LocalMemberTable:
|
||||
{
|
||||
@@ -953,6 +980,11 @@ RDI_LocationRegMemberTable:
|
||||
@expand(RDI_ScopeMemberTable a) `$(a.type) $(a.name)`
|
||||
}
|
||||
|
||||
@struct RDI_InlineSite:
|
||||
{
|
||||
@expand(RDI_InlineSiteMemberTable a) `$(a.type) $(a.name)`
|
||||
}
|
||||
|
||||
@struct RDI_Local:
|
||||
{
|
||||
@expand(RDI_LocalMemberTable a) `$(a.type) $(a.name)`
|
||||
|
||||
Reference in New Issue
Block a user