mirror of
https://github.com/Ed94/raddebugger.git
synced 2026-07-09 11:01:37 -07:00
clean up / debugging / bugfixes in new converter
This commit is contained in:
@@ -736,11 +736,11 @@ rdim_scope_chunk_list_concat_in_place(RDIM_ScopeChunkList *dst, RDIM_ScopeChunkL
|
||||
{
|
||||
dst->last->next = to_push->first;
|
||||
dst->last = to_push->last;
|
||||
dst->chunk_count += to_push->chunk_count;
|
||||
dst->total_count += to_push->total_count;
|
||||
dst->chunk_count += to_push->chunk_count;
|
||||
dst->total_count += to_push->total_count;
|
||||
dst->scope_voff_count += to_push->scope_voff_count;
|
||||
dst->local_count += to_push->local_count;
|
||||
dst->location_count += to_push->location_count;
|
||||
dst->local_count += to_push->local_count;
|
||||
dst->location_count += to_push->location_count;
|
||||
}
|
||||
else if(dst->first == 0)
|
||||
{
|
||||
@@ -1405,6 +1405,11 @@ rdim_bake(RDIM_Arena *arena, RDIM_BakeParams *params)
|
||||
name_maps[k].slots_count = 65536;
|
||||
name_maps[k].slots = rdim_push_array(arena, RDIM_BakeNameMapNode *, name_maps[k].slots_count);
|
||||
}
|
||||
RDIM_BakePathNode *nil_path = rdim_bake_path_node_from_string(arena, &path_tree, rdim_str8_lit("<nil>"));
|
||||
RDIM_BakeSrcNode *nil_src = rdim_bake_src_node_from_path_node(arena, &path_tree, nil_path);
|
||||
(void)nil_src;
|
||||
rdim_bake_string(arena, &strings, rdim_str8_lit(""));
|
||||
rdim_bake_idx_run(arena, &idx_runs, 0, 0);
|
||||
}
|
||||
|
||||
//////////////////////////////
|
||||
@@ -2066,7 +2071,7 @@ rdim_bake(RDIM_Arena *arena, RDIM_BakeParams *params)
|
||||
RDIM_ProfScope("build all procedures")
|
||||
{
|
||||
RDI_U32 dst_idx = 0;
|
||||
for(RDIM_SymbolChunkNode *n = params->global_variables.first; n != 0; n = n->next)
|
||||
for(RDIM_SymbolChunkNode *n = params->procedures.first; n != 0; n = n->next)
|
||||
{
|
||||
for(RDI_U64 chunk_idx = 0; chunk_idx < n->count; chunk_idx += 1, dst_idx += 1)
|
||||
{
|
||||
@@ -2343,7 +2348,7 @@ rdim_bake(RDIM_Arena *arena, RDIM_BakeParams *params)
|
||||
{
|
||||
RDIM_Scope *src_scope = &chunk_n->v[chunk_idx];
|
||||
RDI_U32 scope_idx = (RDI_U32)rdim_idx_from_scope(src_scope); // TODO(rjf): @u64_to_u32
|
||||
for(RDIM_Rng1U64Node *n = 0; n != 0; n = n->next)
|
||||
for(RDIM_Rng1U64Node *n = src_scope->voff_ranges.first; n != 0; n = n->next)
|
||||
{
|
||||
key_ptr->key = n->v.min;
|
||||
key_ptr->val = marker_ptr;
|
||||
|
||||
@@ -675,7 +675,6 @@ typedef struct RDIM_Symbol RDIM_Symbol;
|
||||
struct RDIM_Symbol
|
||||
{
|
||||
struct RDIM_SymbolChunkNode *chunk;
|
||||
RDIM_SymbolKind kind;
|
||||
RDI_S32 is_extern;
|
||||
RDIM_String8 name;
|
||||
RDIM_String8 link_name;
|
||||
|
||||
@@ -2377,7 +2377,7 @@ p2r_convert(Arena *arena, P2R_ConvertIn *in)
|
||||
U64 voff_first = section->voff + block32->off;
|
||||
U64 voff_last = voff_first + block32->len;
|
||||
RDIM_Rng1U64 voff_range = {voff_first, voff_last};
|
||||
rdim_rng1u64_list_push(arena, &scope->voff_ranges, voff_range);
|
||||
rdim_scope_push_voff_range(arena, &sym_scopes, scope, voff_range);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -2437,7 +2437,6 @@ p2r_convert(Arena *arena, P2R_ConvertIn *in)
|
||||
|
||||
// rjf: build symbol
|
||||
RDIM_Symbol *symbol = rdim_symbol_chunk_list_push(arena, &sym_global_variables, sym_global_variables_chunk_cap);
|
||||
symbol->kind = RDIM_SymbolKind_GlobalVariable;
|
||||
symbol->is_extern = (kind == CV_SymKind_GDATA32);
|
||||
symbol->name = name;
|
||||
symbol->type = type;
|
||||
@@ -2488,7 +2487,7 @@ p2r_convert(Arena *arena, P2R_ConvertIn *in)
|
||||
U64 voff_first = section->voff + proc32->off;
|
||||
U64 voff_last = voff_first + proc32->len;
|
||||
RDIM_Rng1U64 voff_range = {voff_first, voff_last};
|
||||
rdim_rng1u64_list_push(arena, &procedure_root_scope->voff_ranges, voff_range);
|
||||
rdim_scope_push_voff_range(arena, &sym_scopes, procedure_root_scope, voff_range);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -2512,13 +2511,13 @@ p2r_convert(Arena *arena, P2R_ConvertIn *in)
|
||||
|
||||
// rjf: build procedure symbol
|
||||
RDIM_Symbol *procedure_symbol = rdim_symbol_chunk_list_push(arena, &sym_procedures, sym_procedures_chunk_cap);
|
||||
procedure_symbol->kind = RDIM_SymbolKind_Procedure;
|
||||
procedure_symbol->is_extern = (kind == CV_SymKind_GPROC32);
|
||||
procedure_symbol->name = name;
|
||||
procedure_symbol->link_name = link_name;
|
||||
procedure_symbol->type = type;
|
||||
procedure_symbol->container_symbol = container_symbol;
|
||||
procedure_symbol->container_type = container_type;
|
||||
procedure_symbol->root_scope = procedure_root_scope;
|
||||
|
||||
// rjf: fill root scope's symbol
|
||||
procedure_root_scope->symbol = procedure_symbol;
|
||||
@@ -2649,7 +2648,6 @@ p2r_convert(Arena *arena, P2R_ConvertIn *in)
|
||||
|
||||
// rjf: build symbol
|
||||
RDIM_Symbol *tvar = rdim_symbol_chunk_list_push(arena, &sym_thread_variables, sym_thread_variables_chunk_cap);
|
||||
tvar->kind = RDIM_SymbolKind_ThreadVariable;
|
||||
tvar->name = name;
|
||||
tvar->type = type;
|
||||
tvar->is_extern = (kind == CV_SymKind_GTHREAD32);
|
||||
|
||||
Reference in New Issue
Block a user