4#ifndef SYMS_CV_HELPERS_H
5#define SYMS_CV_HELPERS_H
239#define syms_cv_sid_from_type_index(idx) SYMS_ID_u32_u32(SYMS_CvSymbolIDKind_Index, idx)
UE_FORCEINLINE_HINT TSharedRef< CastToType, Mode > StaticCastSharedRef(TSharedRef< CastFromType, Mode > const &InSharedRef)
Definition SharedPointer.h:127
Definition syms_debug_info.h:300
Definition syms_cv_helpers.h:49
SYMS_CvC13SubSection * first
Definition syms_cv_helpers.h:50
SYMS_U64 count
Definition syms_cv_helpers.h:52
SYMS_CvC13SubSection * last
Definition syms_cv_helpers.h:51
Definition syms_cv_helpers.h:42
SYMS_CvSubSectionKind kind
Definition syms_cv_helpers.h:44
SYMS_U32 off
Definition syms_cv_helpers.h:45
SYMS_U32 size
Definition syms_cv_helpers.h:46
struct SYMS_CvC13SubSection * next
Definition syms_cv_helpers.h:43
Definition syms_cv_helpers.h:28
SYMS_U16 kind
Definition syms_cv_helpers.h:31
SYMS_U32 next_off
Definition syms_cv_helpers.h:30
SYMS_MsfRange range
Definition syms_cv_helpers.h:29
Definition syms_cv_helpers.h:58
SYMS_FileID file_ids[6]
Definition syms_cv_helpers.h:61
struct SYMS_CvFileNode * next
Definition syms_cv_helpers.h:59
SYMS_U64 count
Definition syms_cv_helpers.h:60
Definition syms_cv_helpers.h:165
SYMS_FileFormat format
Definition syms_cv_helpers.h:166
SYMS_CvTypeIndex first_ti
Definition syms_cv_helpers.h:168
SYMS_U32 align
Definition syms_cv_helpers.h:169
SYMS_UnitID uid
Definition syms_cv_helpers.h:167
Definition syms_cv_helpers.h:64
SYMS_Line * lines
Definition syms_cv_helpers.h:66
SYMS_U64 line_count
Definition syms_cv_helpers.h:67
struct SYMS_CvLineSequence * next
Definition syms_cv_helpers.h:65
Definition syms_cv_helpers.h:70
SYMS_U64 seq_count
Definition syms_cv_helpers.h:77
SYMS_CvLineSequence * last_seq
Definition syms_cv_helpers.h:76
SYMS_U64 file_count
Definition syms_cv_helpers.h:73
SYMS_CvFileNode * last_file_node
Definition syms_cv_helpers.h:72
SYMS_CvLineSequence * first_seq
Definition syms_cv_helpers.h:75
SYMS_CvFileNode * first_file_node
Definition syms_cv_helpers.h:71
SYMS_U64 line_count
Definition syms_cv_helpers.h:78
Definition syms_cv_helpers.h:141
struct SYMS_CvMemStubNode * next
Definition syms_cv_helpers.h:142
SYMS_U32 off2
Definition syms_cv_helpers.h:146
SYMS_U32 off
Definition syms_cv_helpers.h:145
SYMS_U32 num
Definition syms_cv_helpers.h:144
SYMS_String8 name
Definition syms_cv_helpers.h:143
Definition syms_cv_helpers.h:155
SYMS_CvMemStubNode ** members
Definition syms_cv_helpers.h:159
SYMS_FileFormat format
Definition syms_cv_helpers.h:156
SYMS_U64 count
Definition syms_cv_helpers.h:158
SYMS_String8 type_name
Definition syms_cv_helpers.h:157
Definition syms_cv_helpers.h:34
SYMS_TypeKind kind
Definition syms_cv_helpers.h:35
SYMS_U8 data[32]
Definition syms_cv_helpers.h:36
Definition syms_cv_helpers.h:130
SYMS_U16 kind
Definition syms_cv_helpers.h:132
SYMS_B8 is_index
Definition syms_cv_helpers.h:134
SYMS_B8 is_leaf
Definition syms_cv_helpers.h:133
SYMS_MsfRange range
Definition syms_cv_helpers.h:135
SYMS_CvStub * stub
Definition syms_cv_helpers.h:131
Definition syms_cv_helpers.h:99
struct SYMS_CvStubRef * next
Definition syms_cv_helpers.h:100
SYMS_CvStub * stub
Definition syms_cv_helpers.h:101
Definition syms_cv_helpers.h:84
struct SYMS_CvStub * parent
Definition syms_cv_helpers.h:86
SYMS_String8 name
Definition syms_cv_helpers.h:95
struct SYMS_CvStub * sibling_next
Definition syms_cv_helpers.h:87
struct SYMS_CvStub * bucket_next
Definition syms_cv_helpers.h:85
struct SYMS_CvStub * last
Definition syms_cv_helpers.h:89
SYMS_U32 index
Definition syms_cv_helpers.h:91
struct SYMS_CvStub * first
Definition syms_cv_helpers.h:88
SYMS_U32 num
Definition syms_cv_helpers.h:92
SYMS_U32 off
Definition syms_cv_helpers.h:90
SYMS_U32 num2
Definition syms_cv_helpers.h:93
Definition syms_cv_helpers.h:172
SYMS_UnitID uid
Definition syms_cv_helpers.h:175
SYMS_U32 align
Definition syms_cv_helpers.h:174
SYMS_FileFormat format
Definition syms_cv_helpers.h:173
Definition syms_cv_helpers.h:104
SYMS_U64 top_min_index
Definition syms_cv_helpers.h:110
SYMS_U64 top_count
Definition syms_cv_helpers.h:109
SYMS_CvStub ** proc_stubs
Definition syms_cv_helpers.h:118
SYMS_B32 leaf_set
Definition syms_cv_helpers.h:106
SYMS_U64 ti_count
Definition syms_cv_helpers.h:115
SYMS_U64 proc_count
Definition syms_cv_helpers.h:119
SYMS_FileFormat format
Definition syms_cv_helpers.h:105
SYMS_U64 pub_count
Definition syms_cv_helpers.h:127
SYMS_MsfStreamNumber sn
Definition syms_cv_helpers.h:107
SYMS_CvStub ** ti_indirect_stubs
Definition syms_cv_helpers.h:114
SYMS_U64 all_count
Definition syms_cv_helpers.h:113
SYMS_CvStub ** tls_var_stubs
Definition syms_cv_helpers.h:122
SYMS_CvStub ** pub_stubs
Definition syms_cv_helpers.h:126
SYMS_CvStub ** thunk_stubs
Definition syms_cv_helpers.h:124
SYMS_U64 bucket_count
Definition syms_cv_helpers.h:112
SYMS_CvStub ** buckets
Definition syms_cv_helpers.h:111
SYMS_UnitID uid
Definition syms_cv_helpers.h:116
SYMS_U64 var_count
Definition syms_cv_helpers.h:121
SYMS_U64 tls_var_count
Definition syms_cv_helpers.h:123
SYMS_U64 thunk_count
Definition syms_cv_helpers.h:125
SYMS_CvStub ** var_stubs
Definition syms_cv_helpers.h:120
SYMS_CvStub ** top_stubs
Definition syms_cv_helpers.h:108
Definition syms_debug_info.h:164
Definition syms_debug_info.h:136
Definition syms_msf_parser.h:38
Definition syms_msf_parser.h:24
Definition syms_cv_helpers.h:149
SYMS_CvMemStubNode * first
Definition syms_cv_helpers.h:150
SYMS_CvMemStubNode * last
Definition syms_cv_helpers.h:151
SYMS_U64 mem_count
Definition syms_cv_helpers.h:152
Definition syms_debug_info.h:21
Definition syms_base.h:296
Definition syms_debug_info.h:228
Definition syms_debug_info.h:264
Definition syms_base.h:280
Definition syms_base.h:264
#define SYMS_API
Definition syms_base.h:29
SYMS_S32 SYMS_B32
Definition syms_base.h:99
SYMS_S8 SYMS_B8
Definition syms_base.h:97
uint32_t SYMS_U32
Definition syms_crt_overrides.h:38
uint64_t SYMS_U64
Definition syms_crt_overrides.h:39
uint16_t SYMS_U16
Definition syms_crt_overrides.h:37
uint8_t SYMS_U8
Definition syms_crt_overrides.h:36
SYMS_U32 SYMS_CvTypeIndex
Definition syms_cv.h:10
SYMS_API SYMS_U64 syms_cv_type_index_count(SYMS_CvUnitAccel *unit)
Definition syms_cv_helpers.c:1345
SYMS_API SYMS_SecInfoArray syms_cv_sec_info_array_from_bin(SYMS_Arena *arena, SYMS_String8 data, SYMS_MsfAccel *msf, SYMS_MsfRange range)
Definition syms_cv_helpers.c:86
SYMS_API SYMS_UnitID syms_cv_uid_from_accel(SYMS_CvUnitAccel *unit)
Definition syms_cv_helpers.c:1356
SYMS_API SYMS_CvUnitAccel * syms_cv_leaf_unit_from_range(SYMS_Arena *arena, SYMS_String8 data, SYMS_MsfAccel *msf, SYMS_MsfStreamNumber sn, SYMS_U64Range range, SYMS_CvLeafConsParams *params)
Definition syms_cv_helpers.c:482
SYMS_API SYMS_CvStub * syms_cv_stub_from_unit_off(SYMS_CvUnitAccel *unit, SYMS_U32 off)
Definition syms_cv_helpers.c:1243
SYMS_CvFileIDKind
Definition syms_cv_helpers.h:17
@ SYMS_CvFileIDKind_IPIOff
Definition syms_cv_helpers.h:19
@ SYMS_CvFileIDKind_Null
Definition syms_cv_helpers.h:18
@ SYMS_CvFileIDKind_StrTblOff
Definition syms_cv_helpers.h:21
@ SYMS_CvFileIDKind_C11Off
Definition syms_cv_helpers.h:22
@ SYMS_CvFileIDKind_IPIStringID
Definition syms_cv_helpers.h:20
SYMS_API SYMS_ConstInfo syms_cv_const_info_from_sid(SYMS_String8 data, SYMS_MsfAccel *msf, SYMS_CvUnitAccel *unit, SYMS_SymbolID sid)
Definition syms_cv_helpers.c:2049
SYMS_API void sym_cv_loose_push_file_id(SYMS_Arena *arena, SYMS_CvLineTableLoose *loose, SYMS_FileID id)
SYMS_API SYMS_CvStub * syms_cv_stub_from_unit_sid(SYMS_CvUnitAccel *unit, SYMS_SymbolID sid)
Definition syms_cv_helpers.c:1273
SYMS_API SYMS_CvUnitAccel * syms_cv_sym_unit_from_ranges(SYMS_Arena *arena, SYMS_String8 data, SYMS_MsfAccel *msf, SYMS_MsfStreamNumber sn, SYMS_U64RangeArray ranges, SYMS_CvSymConsParams *params)
Definition syms_cv_helpers.c:853
SYMS_API SYMS_SymbolIDArray syms_cv_type_sid_array_from_unit(SYMS_Arena *arena, SYMS_CvUnitAccel *unit)
Definition syms_cv_helpers.c:1558
SYMS_API SYMS_Line * sym_cv_loose_push_sequence(SYMS_Arena *arena, SYMS_CvLineTableLoose *loose, SYMS_U64 line_count)
SYMS_API SYMS_LineParseOut sym_cv_line_parse_from_loose(SYMS_Arena *arena, SYMS_CvLineTableLoose *loose)
SYMS_API SYMS_TypeInfo syms_cv_type_info_from_sid(SYMS_String8 data, SYMS_MsfAccel *msf, SYMS_CvUnitAccel *unit, SYMS_SymbolID sid)
Definition syms_cv_helpers.c:1609
SYMS_API SYMS_CvResolvedElement syms_cv_resolve_from_id(SYMS_String8 data, SYMS_MsfAccel *msf, SYMS_CvUnitAccel *unit, SYMS_SymbolID id)
Definition syms_cv_helpers.c:1289
SYMS_CvSymbolIDKind
Definition syms_cv_helpers.h:12
@ SYMS_CvSymbolIDKind_Off
Definition syms_cv_helpers.h:13
@ SYMS_CvSymbolIDKind_Index
Definition syms_cv_helpers.h:14
SYMS_API void sym_cv_loose_lines_from_c11(SYMS_Arena *arena, SYMS_String8 data, SYMS_MsfAccel *msf, SYMS_MsfRange c11_range, SYMS_U64 *section_voffs, SYMS_U64 section_count, SYMS_CvLineTableLoose *loose)
SYMS_API SYMS_U32 syms_cv_u32_from_numeric(SYMS_CvNumeric num)
Definition syms_cv_helpers.c:67
SYMS_API SYMS_U64 syms_cv_type_index_first(SYMS_CvUnitAccel *unit)
Definition syms_cv_helpers.c:1336
SYMS_API SYMS_CvElement syms_cv_element(SYMS_String8 data, SYMS_MsfAccel *msf, SYMS_MsfRange range, SYMS_U32 off, SYMS_U32 align)
Definition syms_cv_helpers.c:9
SYMS_API SYMS_SymbolIDArray syms_cv_proc_sid_array_from_unit(SYMS_Arena *arena, SYMS_CvUnitAccel *unit)
Definition syms_cv_helpers.c:1510
SYMS_API SYMS_CvStub * syms_cv_stub_from_unit_index(SYMS_CvUnitAccel *unit, SYMS_U32 index)
Definition syms_cv_helpers.c:1261
SYMS_API SYMS_String8 syms_cv_symbol_name_from_sid(SYMS_Arena *arena, SYMS_CvUnitAccel *unit, SYMS_SymbolID sid)
Definition syms_cv_helpers.c:1583
SYMS_API void syms_cv_c13_sub_sections_from_range(SYMS_Arena *arena, SYMS_String8 data, SYMS_MsfAccel *msf, SYMS_MsfRange range, SYMS_CvC13SubSectionList *list_out)
Definition syms_cv_helpers.c:126
SYMS_API SYMS_SymbolIDArray syms_cv_var_sid_array_from_unit(SYMS_Arena *arena, SYMS_CvUnitAccel *unit)
Definition syms_cv_helpers.c:1534
SYMS_API SYMS_U32 syms_cv_read_numeric(SYMS_String8 data, SYMS_MsfAccel *msf, SYMS_MsfRange range, SYMS_U32 off, SYMS_CvNumeric *out)
Definition syms_cv_helpers.c:26
SYMS_API void sym_cv_loose_lines_from_c13(SYMS_Arena *arena, SYMS_String8 data, SYMS_MsfAccel *msf, SYMS_MsfRange c13_range, SYMS_CvC13SubSection *sub_sections, SYMS_U64 *section_voffs, SYMS_U64 section_count, SYMS_CvLineTableLoose *loose)
SYMS_API SYMS_CvStubRef * syms_cv_alloc_ref(SYMS_Arena *arena, SYMS_CvStubRef **free_list)
Definition syms_cv_helpers.c:74
SYMS_API SYMS_SymbolKind syms_cv_symbol_kind_from_sid(SYMS_String8 data, SYMS_MsfAccel *msf, SYMS_CvUnitAccel *unit, SYMS_SymbolID sid)
Definition syms_cv_helpers.c:1361
SYMS_U64 SYMS_UnitID
Definition syms_debug_info.h:77
SYMS_U64 SYMS_FileID
Definition syms_debug_info.h:128
SYMS_U64 SYMS_SymbolID
Definition syms_debug_info.h:215
#define SYMS_Arena
Definition syms_default_arena.h:61
SYMS_U16 SYMS_MsfStreamNumber
Definition syms_msf.h:11