mirror of
https://github.com/Ed94/raddebugger.git
synced 2026-08-01 03:40:02 +00:00
move most eval paths onto unwrapped-direct path, when needing to rely on the actual shape of the type info & when modifiers are irrelevant
This commit is contained in:
@@ -4308,7 +4308,7 @@ df_dynamically_typed_eval_from_eval(TG_Graph *graph, RADDBG_Parsed *rdbg, DF_Ctr
|
||||
TG_Kind type_kind = tg_kind_from_key(type_key);
|
||||
if(type_kind == TG_Kind_Ptr)
|
||||
{
|
||||
TG_Key ptee_type_key = tg_direct_from_graph_raddbg_key(graph, rdbg, type_key);
|
||||
TG_Key ptee_type_key = tg_unwrapped_direct_from_graph_raddbg_key(graph, rdbg, type_key);
|
||||
TG_Kind ptee_type_kind = tg_kind_from_key(ptee_type_key);
|
||||
if(ptee_type_kind == TG_Kind_Struct || ptee_type_kind == TG_Kind_Class)
|
||||
{
|
||||
|
||||
+5
-5
@@ -7168,7 +7168,7 @@ df_eval_viz_windowed_row_list_from_viz_block_list(Arena *arena, DBGI_Scope *scop
|
||||
row->errors = block->eval.errors;
|
||||
if(block_type_kind != TG_Kind_Null)
|
||||
{
|
||||
for(TG_Key t = block->eval.type_key;; t = tg_direct_from_graph_raddbg_key(parse_ctx->type_graph, parse_ctx->rdbg, t))
|
||||
for(TG_Key t = block->eval.type_key;; t = tg_unwrapped_direct_from_graph_raddbg_key(parse_ctx->type_graph, parse_ctx->rdbg, t))
|
||||
{
|
||||
TG_Kind kind = tg_kind_from_key(t);
|
||||
if(kind == TG_Kind_Null)
|
||||
@@ -7254,7 +7254,7 @@ df_eval_viz_windowed_row_list_from_viz_block_list(Arena *arena, DBGI_Scope *scop
|
||||
row->expand_ui_rule_spec = expand_ui_rule_spec;
|
||||
if(tg_kind_from_key(member_eval.type_key) != TG_Kind_Null)
|
||||
{
|
||||
for(TG_Key t = member_eval.type_key;; t = tg_direct_from_graph_raddbg_key(parse_ctx->type_graph, parse_ctx->rdbg, t))
|
||||
for(TG_Key t = member_eval.type_key;; t = tg_unwrapped_direct_from_graph_raddbg_key(parse_ctx->type_graph, parse_ctx->rdbg, t))
|
||||
{
|
||||
TG_Kind kind = tg_kind_from_key(t);
|
||||
if(kind == TG_Kind_Null)
|
||||
@@ -7294,7 +7294,7 @@ df_eval_viz_windowed_row_list_from_viz_block_list(Arena *arena, DBGI_Scope *scop
|
||||
//- rjf: elements -> produce rows for the visible range of elements.
|
||||
case DF_EvalVizBlockKind_Elements:
|
||||
{
|
||||
TG_Key direct_type_key = tg_direct_from_graph_raddbg_key(parse_ctx->type_graph, parse_ctx->rdbg, block->eval.type_key);
|
||||
TG_Key direct_type_key = tg_unwrapped_direct_from_graph_raddbg_key(parse_ctx->type_graph, parse_ctx->rdbg, block->eval.type_key);
|
||||
TG_Kind direct_type_kind = tg_kind_from_key(direct_type_key);
|
||||
U64 direct_type_key_byte_size = tg_byte_size_from_graph_raddbg_key(parse_ctx->type_graph, parse_ctx->rdbg, direct_type_key);
|
||||
for(U64 idx = visible_idx_range.min; idx < visible_idx_range.max; idx += 1)
|
||||
@@ -7338,7 +7338,7 @@ df_eval_viz_windowed_row_list_from_viz_block_list(Arena *arena, DBGI_Scope *scop
|
||||
row->expand_ui_rule_spec = expand_ui_rule_spec;
|
||||
if(direct_type_kind != TG_Kind_Null)
|
||||
{
|
||||
for(TG_Key t = elem_eval.type_key;; t = tg_direct_from_graph_raddbg_key(parse_ctx->type_graph, parse_ctx->rdbg, t))
|
||||
for(TG_Key t = elem_eval.type_key;; t = tg_unwrapped_direct_from_graph_raddbg_key(parse_ctx->type_graph, parse_ctx->rdbg, t))
|
||||
{
|
||||
TG_Kind kind = tg_kind_from_key(t);
|
||||
if(kind == TG_Kind_Null)
|
||||
@@ -7422,7 +7422,7 @@ df_eval_viz_windowed_row_list_from_viz_block_list(Arena *arena, DBGI_Scope *scop
|
||||
row->expand_ui_rule_spec = expand_ui_rule_spec;
|
||||
if(link_type_kind != TG_Kind_Null)
|
||||
{
|
||||
for(TG_Key t = link_eval.type_key;; t = tg_direct_from_graph_raddbg_key(parse_ctx->type_graph, parse_ctx->rdbg, t))
|
||||
for(TG_Key t = link_eval.type_key;; t = tg_unwrapped_direct_from_graph_raddbg_key(parse_ctx->type_graph, parse_ctx->rdbg, t))
|
||||
{
|
||||
TG_Kind kind = tg_kind_from_key(t);
|
||||
if(kind == TG_Kind_Null)
|
||||
|
||||
@@ -31,7 +31,7 @@ df_view_rule_hooks__rgba_from_eval(DF_Eval eval, TG_Graph *graph, RADDBG_Parsed
|
||||
U64 array_total_size_capped = ClampTop(array_total_size, 64);
|
||||
Rng1U64 array_memory_vaddr_rng = r1u64(eval.offset, eval.offset + array_total_size_capped);
|
||||
String8 array_memory = ctrl_query_cached_data_from_process_vaddr_range(scratch.arena, process->ctrl_machine_id, process->ctrl_handle, array_memory_vaddr_rng);
|
||||
TG_Key element_type_key = tg_direct_from_graph_raddbg_key(graph, raddbg, type_key);
|
||||
TG_Key element_type_key = tg_unwrapped_direct_from_graph_raddbg_key(graph, raddbg, type_key);
|
||||
TG_Kind element_type_kind = tg_kind_from_key(element_type_key);
|
||||
U64 element_type_size = tg_byte_size_from_graph_raddbg_key(graph, raddbg, element_type_key);
|
||||
for(U64 element_idx = 0; element_idx < 4; element_idx += 1)
|
||||
@@ -128,7 +128,7 @@ df_view_rule_hooks__eval_commit_rgba(DF_Eval eval, TG_Graph *graph, RADDBG_Parse
|
||||
U64 array_total_size_capped = ClampTop(array_total_size, 64);
|
||||
Rng1U64 array_memory_vaddr_rng = r1u64(eval.offset, eval.offset + array_total_size_capped);
|
||||
String8 array_memory = ctrl_query_cached_data_from_process_vaddr_range(scratch.arena, process->ctrl_machine_id, process->ctrl_handle, array_memory_vaddr_rng);
|
||||
TG_Key element_type_key = tg_direct_from_graph_raddbg_key(graph, raddbg, type_key);
|
||||
TG_Key element_type_key = tg_unwrapped_direct_from_graph_raddbg_key(graph, raddbg, type_key);
|
||||
TG_Kind element_type_kind = tg_kind_from_key(element_type_key);
|
||||
U64 element_type_size = tg_byte_size_from_graph_raddbg_key(graph, raddbg, element_type_key);
|
||||
for(U64 element_idx = 0; element_idx < 4; element_idx += 1)
|
||||
|
||||
Reference in New Issue
Block a user