4#ifndef SYMS_DWARF_EXPR_H
5#define SYMS_DWARF_EXPR_H
UE_FORCEINLINE_HINT TSharedRef< CastToType, Mode > StaticCastSharedRef(TSharedRef< CastFromType, Mode > const &InSharedRef)
Definition SharedPointer.h:127
Definition syms_dwarf_expr.h:119
struct SYMS_DwExprAnalysisTask * next
Definition syms_dwarf_expr.h:120
SYMS_String8 data
Definition syms_dwarf_expr.h:122
SYMS_U64 p
Definition syms_dwarf_expr.h:121
Definition syms_dwarf_expr.h:115
SYMS_DwExprFlags flags
Definition syms_dwarf_expr.h:116
Definition syms_dwarf_expr.h:237
SYMS_DwExprCall * stack
Definition syms_dwarf_expr.h:238
SYMS_DwExprCall * free_calls
Definition syms_dwarf_expr.h:239
SYMS_U64 depth
Definition syms_dwarf_expr.h:240
Definition syms_dwarf_expr.h:230
struct SYMS_DwExprCall * next
Definition syms_dwarf_expr.h:231
SYMS_U64 size
Definition syms_dwarf_expr.h:233
void * ptr
Definition syms_dwarf_expr.h:232
SYMS_U64 cursor
Definition syms_dwarf_expr.h:234
Definition syms_dwarf_expr.h:78
SYMS_DwExprResolveCallFunc * func
Definition syms_dwarf_expr.h:80
void * user_ptr
Definition syms_dwarf_expr.h:79
Definition syms_dwarf_expr.h:83
SYMS_U64 * frame_base
Definition syms_dwarf_expr.h:89
SYMS_U64 * tls_address
Definition syms_dwarf_expr.h:91
SYMS_MemoryView * memview
Definition syms_dwarf_expr.h:86
SYMS_DwRegsX64 * regs
Definition syms_dwarf_expr.h:87
SYMS_DwExprMachineCallConfig call
Definition syms_dwarf_expr.h:93
SYMS_U64 * object_address
Definition syms_dwarf_expr.h:90
SYMS_U64 max_step_count
Definition syms_dwarf_expr.h:85
SYMS_U64 * cfa
Definition syms_dwarf_expr.h:92
SYMS_U64 * text_section_base
Definition syms_dwarf_expr.h:88
Definition syms_dwarf_expr.h:219
struct SYMS_DwExprStackNode * next
Definition syms_dwarf_expr.h:220
SYMS_U64 val
Definition syms_dwarf_expr.h:221
Definition syms_dwarf_expr.h:224
SYMS_U64 count
Definition syms_dwarf_expr.h:227
SYMS_DwExprStackNode * free_nodes
Definition syms_dwarf_expr.h:226
SYMS_DwExprStackNode * stack
Definition syms_dwarf_expr.h:225
Definition syms_dwarf_expr.h:186
SYMS_DwPiece * last_piece
Definition syms_dwarf_expr.h:211
SYMS_DwSimpleLoc non_piece_loc
Definition syms_dwarf_expr.h:214
SYMS_U64 count
Definition syms_dwarf_expr.h:212
SYMS_DwPiece * first_piece
Definition syms_dwarf_expr.h:210
Definition syms_dwarf_expr.h:173
struct SYMS_DwPiece * next
Definition syms_dwarf_expr.h:179
SYMS_B32 is_bit_loc
Definition syms_dwarf_expr.h:183
SYMS_U64 bit_size
Definition syms_dwarf_expr.h:181
SYMS_DwSimpleLoc loc
Definition syms_dwarf_expr.h:180
SYMS_U64 bit_off
Definition syms_dwarf_expr.h:182
Definition syms_dwarf_expr.h:15
SYMS_U64 rbp
Definition syms_dwarf_expr.h:24
SYMS_U64 r8
Definition syms_dwarf_expr.h:26
SYMS_U64 rcx
Definition syms_dwarf_expr.h:20
SYMS_U64 rip
Definition syms_dwarf_expr.h:34
SYMS_U64 r15
Definition syms_dwarf_expr.h:33
SYMS_U64 rax
Definition syms_dwarf_expr.h:18
SYMS_U64 r9
Definition syms_dwarf_expr.h:27
SYMS_U64 r[17]
Definition syms_dwarf_expr.h:36
SYMS_U64 rdi
Definition syms_dwarf_expr.h:23
SYMS_U64 rbx
Definition syms_dwarf_expr.h:21
SYMS_U64 rsp
Definition syms_dwarf_expr.h:25
SYMS_U64 r11
Definition syms_dwarf_expr.h:29
SYMS_U64 r12
Definition syms_dwarf_expr.h:30
SYMS_U64 rsi
Definition syms_dwarf_expr.h:22
SYMS_U64 r13
Definition syms_dwarf_expr.h:31
SYMS_U64 r10
Definition syms_dwarf_expr.h:28
SYMS_U64 rdx
Definition syms_dwarf_expr.h:19
SYMS_U64 r14
Definition syms_dwarf_expr.h:32
Definition syms_dwarf_expr.h:159
SYMS_U64 fail_data
Definition syms_dwarf_expr.h:168
SYMS_DwSimpleLocKind kind
Definition syms_dwarf_expr.h:160
SYMS_U64 reg_idx
Definition syms_dwarf_expr.h:163
SYMS_U64 val
Definition syms_dwarf_expr.h:164
SYMS_U64 addr
Definition syms_dwarf_expr.h:162
SYMS_DwLocFailKind fail_kind
Definition syms_dwarf_expr.h:167
SYMS_String8 val_long
Definition syms_dwarf_expr.h:165
Definition syms_base.h:410
Definition syms_base.h:296
Definition syms_base.h:264
#define SYMS_READ_ONLY
Definition syms_base.h:57
#define SYMS_API
Definition syms_base.h:29
SYMS_U32 SYMS_RegID
Definition syms_base.h:107
SYMS_S32 SYMS_B32
Definition syms_base.h:99
#define SYMS_GLOBAL
Definition syms_base.h:42
uint32_t SYMS_U32
Definition syms_crt_overrides.h:38
uint64_t SYMS_U64
Definition syms_crt_overrides.h:39
#define SYMS_Arena
Definition syms_default_arena.h:61
SYMS_API void syms_dw_expr__call_pop(SYMS_DwExprCallStack *stack)
Definition syms_dwarf_expr.c:1450
SYMS_API SYMS_U64 syms_dw_expr__stack_pick(SYMS_DwExprStack *stack, SYMS_U64 idx)
Definition syms_dwarf_expr.c:1407
SYMS_GLOBAL SYMS_READ_ONLY SYMS_RegID syms_dw_reg_table_x86[]
Definition syms_dwarf_expr.h:60
SYMS_API SYMS_B32 syms_dw_expr__stack_is_empty(SYMS_DwExprStack *stack)
Definition syms_dwarf_expr.c:1422
SYMS_API SYMS_U64 syms_dw_expr__stack_pop(SYMS_DwExprStack *stack)
Definition syms_dwarf_expr.c:1395
SYMS_DwSimpleLocKind
Definition syms_dwarf_expr.h:127
@ SYMS_DwSimpleLocKind_Empty
Definition syms_dwarf_expr.h:132
@ SYMS_DwSimpleLocKind_Register
Definition syms_dwarf_expr.h:129
@ SYMS_DwSimpleLocKind_Address
Definition syms_dwarf_expr.h:128
@ SYMS_DwSimpleLocKind_ValueLong
Definition syms_dwarf_expr.h:131
@ SYMS_DwSimpleLocKind_Value
Definition syms_dwarf_expr.h:130
@ SYMS_DwSimpleLocKind_Fail
Definition syms_dwarf_expr.h:133
SYMS_API SYMS_DwLocation syms_dw_expr__eval(SYMS_Arena *arena_optional, void *base, SYMS_U64Range range, SYMS_DwExprMachineConfig *config)
Definition syms_dwarf_expr.c:578
SYMS_API SYMS_DwExprCall * syms_dw_expr__call_top(SYMS_DwExprCallStack *stack)
Definition syms_dwarf_expr.c:1430
SYMS_String8 SYMS_DwExprResolveCallFunc(void *call_user_ptr, SYMS_U64 p)
Definition syms_dwarf_expr.h:76
@ SYMS_DwExprFlag_NonLinearFlow
Definition syms_dwarf_expr.h:112
@ SYMS_DwExprFlag_NotSupported
Definition syms_dwarf_expr.h:110
@ SYMS_DwExprFlag_UsesTLSAddress
Definition syms_dwarf_expr.h:105
@ SYMS_DwExprFlag_UsesMemory
Definition syms_dwarf_expr.h:101
@ SYMS_DwExprFlag_UsesCallResolution
Definition syms_dwarf_expr.h:107
@ SYMS_DwExprFlag_UsesComposite
Definition syms_dwarf_expr.h:108
@ SYMS_DwExprFlag_UsesRegisters
Definition syms_dwarf_expr.h:102
@ SYMS_DwExprFlag_UsesCFA
Definition syms_dwarf_expr.h:106
@ SYMS_DwExprFlag_UsesObjectAddress
Definition syms_dwarf_expr.h:104
@ SYMS_DwExprFlag_BadData
Definition syms_dwarf_expr.h:111
@ SYMS_DwExprFlag_UsesTextBase
Definition syms_dwarf_expr.h:100
@ SYMS_DwExprFlag_UsesFrameBase
Definition syms_dwarf_expr.h:103
SYMS_API SYMS_DwSimpleLoc syms_dw_expr__analyze_fast(void *base, SYMS_U64Range range, SYMS_U64 text_section_base)
Definition syms_dwarf_expr.c:17
SYMS_API void syms_dw_expr__stack_push(SYMS_Arena *arena, SYMS_DwExprStack *stack, SYMS_U64 x)
Definition syms_dwarf_expr.c:1381
SYMS_API void syms_dw_expr__call_push(SYMS_Arena *arena, SYMS_DwExprCallStack *stack, void *ptr, SYMS_U64 size)
Definition syms_dwarf_expr.c:1436
SYMS_DwLocFailKind
Definition syms_dwarf_expr.h:136
@ SYMS_DwLocFailKind_TimeOut
Definition syms_dwarf_expr.h:146
@ SYMS_DwLocFailKind_MissingObjectAddress
Definition syms_dwarf_expr.h:152
@ SYMS_DwLocFailKind_NotSupported
Definition syms_dwarf_expr.h:145
@ SYMS_DwLocFailKind_MissingMemory
Definition syms_dwarf_expr.h:149
@ SYMS_DwLocFailKind_MissingFrameBase
Definition syms_dwarf_expr.h:151
@ SYMS_DwLocFailKind_MissingCFA
Definition syms_dwarf_expr.h:154
@ SYMS_DwLocFailKind_MissingArenaForComposite
Definition syms_dwarf_expr.h:156
@ SYMS_DwLocFailKind_MissingTextBase
Definition syms_dwarf_expr.h:148
@ SYMS_DwLocFailKind_MissingRegisters
Definition syms_dwarf_expr.h:150
@ SYMS_DwLocFailKind_MissingCallResolution
Definition syms_dwarf_expr.h:155
@ SYMS_DwLocFailKind_BadData
Definition syms_dwarf_expr.h:144
@ SYMS_DwLocFailKind_TooComplicated
Definition syms_dwarf_expr.h:147
@ SYMS_DwLocFailKind_MissingTLSAddress
Definition syms_dwarf_expr.h:153
SYMS_U32 SYMS_DwExprFlags
Definition syms_dwarf_expr.h:98
SYMS_API SYMS_DwExprAnalysis syms_dw_expr__analyze_details(void *base, SYMS_U64Range range, SYMS_DwExprMachineCallConfig *call_config)
Definition syms_dwarf_expr.c:192
SYMS_GLOBAL SYMS_READ_ONLY SYMS_RegID syms_dw_reg_table_x64[]
Definition syms_dwarf_expr.h:40
SYMS_API SYMS_DwExprStack syms_dw_expr__stack_make(SYMS_Arena *arena)
Definition syms_dwarf_expr.c:1375
SYMS_API SYMS_DwExprAnalysisTask * syms_dw_expr__analysis_task_from_p(SYMS_DwExprAnalysisTask *first, SYMS_U64 p)
Definition syms_dwarf_expr.c:1461