From c77d61fb4c4258985e91d36a2714daec604afb9a Mon Sep 17 00:00:00 2001 From: Ryan Fleury Date: Tue, 20 Aug 2024 16:33:08 -0700 Subject: [PATCH] ellipses for unfinished arrays/structs in eval single-line visualization --- src/ctrl/ctrl_core.c | 5 +---- src/df/core/df_core.c | 4 +++- src/df/gfx/df_gfx.c | 12 ++++++++++++ src/eval/eval_bundles.c | 2 ++ src/eval/eval_interpret.c | 2 ++ 5 files changed, 20 insertions(+), 5 deletions(-) diff --git a/src/ctrl/ctrl_core.c b/src/ctrl/ctrl_core.c index b4e6fb33..9fa9cd3c 100644 --- a/src/ctrl/ctrl_core.c +++ b/src/ctrl/ctrl_core.c @@ -5350,10 +5350,7 @@ ctrl_mem_stream_thread__entry_point(void *p) { range_n->hash = hash; } - if(!u128_match(u128_zero(), hash)) - { - range_n->mem_gen = post_read_mem_gen; - } + range_n->mem_gen = post_read_mem_gen; ins_atomic_u32_eval_assign(&range_n->is_taken, 0); goto commit__break_all; } diff --git a/src/df/core/df_core.c b/src/df/core/df_core.c index cee0ec44..1f631664 100644 --- a/src/df/core/df_core.c +++ b/src/df/core/df_core.c @@ -3003,6 +3003,7 @@ df_symbol_name_from_dbgi_key_voff(Arena *arena, DI_Key *dbgi_key, U64 voff, B32 internal String8 df_symbol_name_from_process_vaddr(Arena *arena, DF_Entity *process, U64 vaddr, B32 decorated) { + ProfBeginFunction(); String8 result = {0}; { DF_Entity *module = df_module_from_process_vaddr(process, vaddr); @@ -3010,6 +3011,7 @@ df_symbol_name_from_process_vaddr(Arena *arena, DF_Entity *process, U64 vaddr, B U64 voff = df_voff_from_vaddr(module, vaddr); result = df_symbol_name_from_dbgi_key_voff(arena, &dbgi_key, voff, decorated); } + ProfEnd(); return result; } @@ -6233,7 +6235,7 @@ df_core_begin_frame(Arena *arena, DF_CmdList *cmds, F32 dt) df_state->frame_index += 1; arena_clear(df_frame_arena()); df_state->frame_di_scope = di_scope_open(); - df_state->frame_eval_memread_endt_us = os_now_microseconds() + 10000; + df_state->frame_eval_memread_endt_us = os_now_microseconds() + 5000; df_state->dt = dt; df_state->time_in_seconds += dt; df_state->top_interact_regs = &df_state->base_interact_regs; diff --git a/src/df/gfx/df_gfx.c b/src/df/gfx/df_gfx.c index b9d5ebf5..1b175422 100644 --- a/src/df/gfx/df_gfx.c +++ b/src/df/gfx/df_gfx.c @@ -8560,6 +8560,12 @@ df_append_value_strings_from_eval(Arena *arena, DF_EvalVizStringFlags flags, U32 space_taken += f_dim_from_tag_size_string(font, font_size, 0, 0, comma).x; str8_list_push(arena, out, comma); } + if(space_taken > max_size && idx+1 < array_count) + { + String8 ellipses = str8_lit("..."); + space_taken += f_dim_from_tag_size_string(font, font_size, 0, 0, ellipses).x; + str8_list_push(arena, out, ellipses); + } } } else @@ -8610,6 +8616,12 @@ df_append_value_strings_from_eval(Arena *arena, DF_EvalVizStringFlags flags, U32 space_taken += f_dim_from_tag_size_string(font, font_size, 0, 0, comma).x; str8_list_push(arena, out, comma); } + if(space_taken > max_size && member_idx+1 < filtered_data_members.count) + { + String8 ellipses = str8_lit("..."); + space_taken += f_dim_from_tag_size_string(font, font_size, 0, 0, ellipses).x; + str8_list_push(arena, out, ellipses); + } } } else diff --git a/src/eval/eval_bundles.c b/src/eval/eval_bundles.c index ebd3ae54..3f505f11 100644 --- a/src/eval/eval_bundles.c +++ b/src/eval/eval_bundles.c @@ -141,6 +141,7 @@ e_dynamically_typed_eval_from_eval(E_Eval eval) internal E_Eval e_value_eval_from_eval(E_Eval eval) { + ProfBeginFunction(); if(eval.mode == E_Mode_Offset) { E_TypeKey type_key = e_type_unwrap(eval.type_key); @@ -190,6 +191,7 @@ e_value_eval_from_eval(E_Eval eval) } } } + ProfEnd(); return eval; // TODO(rjf): @spaces check regs path diff --git a/src/eval/eval_interpret.c b/src/eval/eval_interpret.c index 1b44618e..85edb4f4 100644 --- a/src/eval/eval_interpret.c +++ b/src/eval/eval_interpret.c @@ -22,6 +22,7 @@ e_select_interpret_ctx(E_InterpretCtx *ctx) internal B32 e_space_read(E_Space space, void *out, Rng1U64 range) { + ProfBeginFunction(); B32 result = 0; switch(space) { @@ -41,6 +42,7 @@ e_space_read(E_Space space, void *out, Rng1U64 range) result = e_interpret_ctx->space_read(e_interpret_ctx->space_read_user_data, space, out, range); }break; } + ProfEnd(); return result; }