rd_cfgid -> cfg_id

This commit is contained in:
Ryan Fleury
2025-10-16 14:06:12 -07:00
parent 05e096d8b7
commit edb1863020
8 changed files with 52 additions and 101 deletions
+1 -1
View File
@@ -46,7 +46,7 @@ load_paths =
commands = commands =
{ {
//- rjf: [raddbg] //- rjf: [raddbg]
.f1 = { .win = "raddbg_stable --ipc kill_all && build raddbg telemetry", .linux = "", .out = "*compilation*", .footer_panel = true, .save_dirty_files = true, .cursor_at_end = false, }, .f1 = { .win = "raddbg_stable --ipc kill_all && build raddbg meta telemetry", .linux = "", .out = "*compilation*", .footer_panel = true, .save_dirty_files = true, .cursor_at_end = false, },
// .f1 = { .win = "raddbg_stable --ipc kill_all && build radbin debug telemetry", .linux = "", .out = "*compilation*", .footer_panel = true, .save_dirty_files = true, .cursor_at_end = false, }, // .f1 = { .win = "raddbg_stable --ipc kill_all && build radbin debug telemetry", .linux = "", .out = "*compilation*", .footer_panel = true, .save_dirty_files = true, .cursor_at_end = false, },
//- rjf: [raddbg wsl] //- rjf: [raddbg wsl]
+8 -8
View File
@@ -503,14 +503,14 @@ Rng1U64 rd_reg_slot_range_table[47] =
{OffsetOf(RD_Regs, process), OffsetOf(RD_Regs, process) + sizeof(CTRL_Handle)}, {OffsetOf(RD_Regs, process), OffsetOf(RD_Regs, process) + sizeof(CTRL_Handle)},
{OffsetOf(RD_Regs, thread), OffsetOf(RD_Regs, thread) + sizeof(CTRL_Handle)}, {OffsetOf(RD_Regs, thread), OffsetOf(RD_Regs, thread) + sizeof(CTRL_Handle)},
{OffsetOf(RD_Regs, ctrl_entity), OffsetOf(RD_Regs, ctrl_entity) + sizeof(CTRL_Handle)}, {OffsetOf(RD_Regs, ctrl_entity), OffsetOf(RD_Regs, ctrl_entity) + sizeof(CTRL_Handle)},
{OffsetOf(RD_Regs, window), OffsetOf(RD_Regs, window) + sizeof(RD_CfgID)}, {OffsetOf(RD_Regs, window), OffsetOf(RD_Regs, window) + sizeof(CFG_ID)},
{OffsetOf(RD_Regs, panel), OffsetOf(RD_Regs, panel) + sizeof(RD_CfgID)}, {OffsetOf(RD_Regs, panel), OffsetOf(RD_Regs, panel) + sizeof(CFG_ID)},
{OffsetOf(RD_Regs, tab), OffsetOf(RD_Regs, tab) + sizeof(RD_CfgID)}, {OffsetOf(RD_Regs, tab), OffsetOf(RD_Regs, tab) + sizeof(CFG_ID)},
{OffsetOf(RD_Regs, view), OffsetOf(RD_Regs, view) + sizeof(RD_CfgID)}, {OffsetOf(RD_Regs, view), OffsetOf(RD_Regs, view) + sizeof(CFG_ID)},
{OffsetOf(RD_Regs, prev_tab), OffsetOf(RD_Regs, prev_tab) + sizeof(RD_CfgID)}, {OffsetOf(RD_Regs, prev_tab), OffsetOf(RD_Regs, prev_tab) + sizeof(CFG_ID)},
{OffsetOf(RD_Regs, dst_panel), OffsetOf(RD_Regs, dst_panel) + sizeof(RD_CfgID)}, {OffsetOf(RD_Regs, dst_panel), OffsetOf(RD_Regs, dst_panel) + sizeof(CFG_ID)},
{OffsetOf(RD_Regs, cfg), OffsetOf(RD_Regs, cfg) + sizeof(RD_CfgID)}, {OffsetOf(RD_Regs, cfg), OffsetOf(RD_Regs, cfg) + sizeof(CFG_ID)},
{OffsetOf(RD_Regs, cfg_list), OffsetOf(RD_Regs, cfg_list) + sizeof(RD_CfgIDList)}, {OffsetOf(RD_Regs, cfg_list), OffsetOf(RD_Regs, cfg_list) + sizeof(CFG_IDList)},
{OffsetOf(RD_Regs, eval_space), OffsetOf(RD_Regs, eval_space) + sizeof(E_Space)}, {OffsetOf(RD_Regs, eval_space), OffsetOf(RD_Regs, eval_space) + sizeof(E_Space)},
{OffsetOf(RD_Regs, unwind_count), OffsetOf(RD_Regs, unwind_count) + sizeof(U64)}, {OffsetOf(RD_Regs, unwind_count), OffsetOf(RD_Regs, unwind_count) + sizeof(U64)},
{OffsetOf(RD_Regs, inline_depth), OffsetOf(RD_Regs, inline_depth) + sizeof(U64)}, {OffsetOf(RD_Regs, inline_depth), OffsetOf(RD_Regs, inline_depth) + sizeof(U64)},
+8 -8
View File
@@ -449,14 +449,14 @@ CTRL_Handle module;
CTRL_Handle process; CTRL_Handle process;
CTRL_Handle thread; CTRL_Handle thread;
CTRL_Handle ctrl_entity; CTRL_Handle ctrl_entity;
RD_CfgID window; CFG_ID window;
RD_CfgID panel; CFG_ID panel;
RD_CfgID tab; CFG_ID tab;
RD_CfgID view; CFG_ID view;
RD_CfgID prev_tab; CFG_ID prev_tab;
RD_CfgID dst_panel; CFG_ID dst_panel;
RD_CfgID cfg; CFG_ID cfg;
RD_CfgIDList cfg_list; CFG_IDList cfg_list;
E_Space eval_space; E_Space eval_space;
U64 unwind_count; U64 unwind_count;
U64 inline_depth; U64 inline_depth;
+8 -8
View File
@@ -713,14 +713,14 @@ RD_RegTable:
{CTRL_Handle ctrl_entity CtrlEntity } {CTRL_Handle ctrl_entity CtrlEntity }
// rjf: cfgs // rjf: cfgs
{RD_CfgID window Window } {CFG_ID window Window }
{RD_CfgID panel Panel } {CFG_ID panel Panel }
{RD_CfgID tab Tab } {CFG_ID tab Tab }
{RD_CfgID view View } {CFG_ID view View }
{RD_CfgID prev_tab PrevTab } {CFG_ID prev_tab PrevTab }
{RD_CfgID dst_panel DstPanel } {CFG_ID dst_panel DstPanel }
{RD_CfgID cfg Cfg } {CFG_ID cfg Cfg }
{RD_CfgIDList cfg_list CfgList } {CFG_IDList cfg_list CfgList }
// rjf: evaluation space // rjf: evaluation space
{E_Space eval_space EvalSpace } {E_Space eval_space EvalSpace }
+10 -33
View File
@@ -9,29 +9,6 @@
#include "generated/raddbg.meta.c" #include "generated/raddbg.meta.c"
////////////////////////////////
//~ rjf: Config ID Type Functions
internal void
rd_cfg_id_list_push(Arena *arena, RD_CfgIDList *list, RD_CfgID id)
{
RD_CfgIDNode *n = push_array(arena, RD_CfgIDNode, 1);
n->v = id;
SLLQueuePush(list->first, list->last, n);
list->count += 1;
}
internal RD_CfgIDList
rd_cfg_id_list_copy(Arena *arena, RD_CfgIDList *src)
{
RD_CfgIDList result = {0};
for(RD_CfgIDNode *n = src->first; n != 0; n = n->next)
{
rd_cfg_id_list_push(arena, &result, n->v);
}
return result;
}
//////////////////////////////// ////////////////////////////////
//~ rjf: Registers Type Functions //~ rjf: Registers Type Functions
@@ -39,7 +16,7 @@ internal void
rd_regs_copy_contents(Arena *arena, RD_Regs *dst, RD_Regs *src) rd_regs_copy_contents(Arena *arena, RD_Regs *dst, RD_Regs *src)
{ {
MemoryCopyStruct(dst, src); MemoryCopyStruct(dst, src);
dst->cfg_list = rd_cfg_id_list_copy(arena, &src->cfg_list); dst->cfg_list = cfg_id_list_copy(arena, &src->cfg_list);
dst->file_path = push_str8_copy(arena, src->file_path); dst->file_path = push_str8_copy(arena, src->file_path);
dst->lines = d_line_list_copy(arena, &src->lines); dst->lines = d_line_list_copy(arena, &src->lines);
dst->expr = push_str8_copy(arena, src->expr); dst->expr = push_str8_copy(arena, src->expr);
@@ -47,7 +24,7 @@ rd_regs_copy_contents(Arena *arena, RD_Regs *dst, RD_Regs *src)
dst->cmd_name = push_str8_copy(arena, src->cmd_name); dst->cmd_name = push_str8_copy(arena, src->cmd_name);
if(dst->cfg_list.count == 0 && dst->cfg != 0) if(dst->cfg_list.count == 0 && dst->cfg != 0)
{ {
rd_cfg_id_list_push(arena, &dst->cfg_list, dst->cfg); cfg_id_list_push(arena, &dst->cfg_list, dst->cfg);
} }
} }
@@ -368,7 +345,7 @@ rd_cfg_release_all_children(RD_Cfg *cfg)
} }
internal RD_Cfg * internal RD_Cfg *
rd_cfg_from_id(RD_CfgID id) rd_cfg_from_id(CFG_ID id)
{ {
RD_Cfg *result = &rd_nil_cfg; RD_Cfg *result = &rd_nil_cfg;
if(id != 0 && if(id != 0 &&
@@ -1664,7 +1641,7 @@ rd_cfg_from_eval_space(E_Space space)
RD_Cfg *cfg = &rd_nil_cfg; RD_Cfg *cfg = &rd_nil_cfg;
if(space.kind == RD_EvalSpaceKind_MetaCfg) if(space.kind == RD_EvalSpaceKind_MetaCfg)
{ {
RD_CfgID id = space.u64s[0]; CFG_ID id = space.u64s[0];
cfg = rd_cfg_from_id(id); cfg = rd_cfg_from_id(id);
} }
return cfg; return cfg;
@@ -2454,7 +2431,7 @@ internal RD_ViewState *
rd_view_state_from_cfg(RD_Cfg *cfg) rd_view_state_from_cfg(RD_Cfg *cfg)
{ {
RD_ViewState *view_state = &rd_nil_view_state; RD_ViewState *view_state = &rd_nil_view_state;
RD_CfgID id = cfg->id; CFG_ID id = cfg->id;
if(id != 0 && if(id != 0 &&
id == rd_state->view_state_last_accessed_id && id == rd_state->view_state_last_accessed_id &&
id == rd_state->view_state_last_accessed->cfg_id) id == rd_state->view_state_last_accessed->cfg_id)
@@ -5803,7 +5780,7 @@ rd_window_state_from_cfg(RD_Cfg *cfg)
{ {
//- rjf: unpack //- rjf: unpack
RD_Cfg *window_cfg = rd_window_from_cfg(cfg); RD_Cfg *window_cfg = rd_window_from_cfg(cfg);
RD_CfgID id = window_cfg->id; CFG_ID id = window_cfg->id;
//- rjf: scan for existing window //- rjf: scan for existing window
RD_WindowState *ws = &rd_nil_window_state; RD_WindowState *ws = &rd_nil_window_state;
@@ -10660,7 +10637,7 @@ rd_regs_fill_slot_from_string(RD_RegSlot slot, String8 query_expr, String8 strin
if(!good && str8_match(str8_prefix(string, 1), str8_lit("$"), 0)) if(!good && str8_match(str8_prefix(string, 1), str8_lit("$"), 0))
{ {
String8 numeric_part = str8_skip(string, 1); String8 numeric_part = str8_skip(string, 1);
RD_CfgID id = u64_from_str8(numeric_part, 16); CFG_ID id = u64_from_str8(numeric_part, 16);
rd_regs()->cfg = id; rd_regs()->cfg = id;
good = 1; good = 1;
} }
@@ -17317,15 +17294,15 @@ rd_frame(void)
// //
if(rd_state->frame_depth == 1) if(rd_state->frame_depth == 1)
{ {
RD_CfgIDList windows_to_show = {0}; CFG_IDList windows_to_show = {0};
for(RD_WindowState *w = rd_state->first_window_state; w != &rd_nil_window_state; w = w->order_next) for(RD_WindowState *w = rd_state->first_window_state; w != &rd_nil_window_state; w = w->order_next)
{ {
if(w->frames_alive == 1) if(w->frames_alive == 1)
{ {
rd_cfg_id_list_push(scratch.arena, &windows_to_show, w->cfg_id); cfg_id_list_push(scratch.arena, &windows_to_show, w->cfg_id);
} }
} }
for(RD_CfgIDNode *n = windows_to_show.first; n != 0; n = n->next) for(CFG_IDNode *n = windows_to_show.first; n != 0; n = n->next)
{ {
RD_Cfg *window = rd_cfg_from_id(n->v); RD_Cfg *window = rd_cfg_from_id(n->v);
RD_WindowState *ws = rd_window_state_from_cfg(window); RD_WindowState *ws = rd_window_state_from_cfg(window);
+14 -40
View File
@@ -4,26 +4,6 @@
#ifndef RADDBG_CORE_H #ifndef RADDBG_CORE_H
#define RADDBG_CORE_H #define RADDBG_CORE_H
////////////////////////////////
//~ rjf: Config IDs
typedef U64 RD_CfgID;
typedef struct RD_CfgIDNode RD_CfgIDNode;
struct RD_CfgIDNode
{
RD_CfgIDNode *next;
RD_CfgID v;
};
typedef struct RD_CfgIDList RD_CfgIDList;
struct RD_CfgIDList
{
RD_CfgIDNode *first;
RD_CfgIDNode *last;
U64 count;
};
//////////////////////////////// ////////////////////////////////
//~ rjf: Key Bindings //~ rjf: Key Bindings
@@ -39,7 +19,7 @@ struct RD_KeyMapNode
{ {
RD_KeyMapNode *name_hash_next; RD_KeyMapNode *name_hash_next;
RD_KeyMapNode *binding_hash_next; RD_KeyMapNode *binding_hash_next;
RD_CfgID cfg_id; CFG_ID cfg_id;
String8 name; String8 name;
RD_Binding binding; RD_Binding binding;
}; };
@@ -197,7 +177,7 @@ struct RD_ViewState
// rjf: hash links & key // rjf: hash links & key
RD_ViewState *hash_next; RD_ViewState *hash_next;
RD_ViewState *hash_prev; RD_ViewState *hash_prev;
RD_CfgID cfg_id; CFG_ID cfg_id;
// rjf: touch info // rjf: touch info
U64 last_frame_index_touched; U64 last_frame_index_touched;
@@ -278,7 +258,7 @@ struct RD_Cfg
RD_Cfg *next; RD_Cfg *next;
RD_Cfg *prev; RD_Cfg *prev;
RD_Cfg *parent; RD_Cfg *parent;
RD_CfgID id; CFG_ID id;
String8 string; String8 string;
}; };
@@ -432,7 +412,7 @@ struct RD_WindowState
RD_WindowState *order_prev; RD_WindowState *order_prev;
RD_WindowState *hash_next; RD_WindowState *hash_next;
RD_WindowState *hash_prev; RD_WindowState *hash_prev;
RD_CfgID cfg_id; CFG_ID cfg_id;
U64 frames_alive; U64 frames_alive;
U64 last_frame_index_touched; U64 last_frame_index_touched;
@@ -470,8 +450,8 @@ struct RD_WindowState
B32 query_is_active; B32 query_is_active;
Arena *query_arena; Arena *query_arena;
RD_Regs *query_regs; RD_Regs *query_regs;
RD_CfgID query_view_id; CFG_ID query_view_id;
RD_CfgID query_last_view_id; CFG_ID query_last_view_id;
// rjf: hover eval state // rjf: hover eval state
B32 hover_eval_focused; B32 hover_eval_focused;
@@ -674,7 +654,7 @@ struct RD_State
RD_CfgSlot *cfg_id_slots; RD_CfgSlot *cfg_id_slots;
RD_CfgNode *free_cfg_id_node; RD_CfgNode *free_cfg_id_node;
U64 cfg_id_gen; U64 cfg_id_gen;
RD_CfgID cfg_last_accessed_id; CFG_ID cfg_last_accessed_id;
RD_Cfg *cfg_last_accessed; RD_Cfg *cfg_last_accessed;
U64 cfg_change_gen; U64 cfg_change_gen;
@@ -682,23 +662,23 @@ struct RD_State
U64 window_state_slots_count; U64 window_state_slots_count;
RD_WindowStateSlot *window_state_slots; RD_WindowStateSlot *window_state_slots;
RD_WindowState *free_window_state; RD_WindowState *free_window_state;
RD_CfgID last_focused_window; CFG_ID last_focused_window;
RD_WindowState *first_window_state; RD_WindowState *first_window_state;
RD_WindowState *last_window_state; RD_WindowState *last_window_state;
RD_CfgID window_state_last_accessed_id; CFG_ID window_state_last_accessed_id;
RD_WindowState *window_state_last_accessed; RD_WindowState *window_state_last_accessed;
// rjf: view state cache // rjf: view state cache
U64 view_state_slots_count; U64 view_state_slots_count;
RD_ViewStateSlot *view_state_slots; RD_ViewStateSlot *view_state_slots;
RD_ViewState *free_view_state; RD_ViewState *free_view_state;
RD_CfgID view_state_last_accessed_id; CFG_ID view_state_last_accessed_id;
RD_ViewState *view_state_last_accessed; RD_ViewState *view_state_last_accessed;
// rjf: bind change // rjf: bind change
Arena *bind_change_arena; Arena *bind_change_arena;
B32 bind_change_active; B32 bind_change_active;
RD_CfgID bind_change_binding_id; CFG_ID bind_change_binding_id;
String8 bind_change_cmd_name; String8 bind_change_cmd_name;
// rjf: pre-stop focused window // rjf: pre-stop focused window
@@ -755,14 +735,8 @@ read_only global RD_WindowState rd_nil_window_state =
}; };
global RD_State *rd_state = 0; global RD_State *rd_state = 0;
global RD_CfgID rd_last_drag_drop_panel = 0; global CFG_ID rd_last_drag_drop_panel = 0;
global RD_CfgID rd_last_drag_drop_prev_tab = 0; global CFG_ID rd_last_drag_drop_prev_tab = 0;
////////////////////////////////
//~ rjf: Config ID Type Functions
internal void rd_cfg_id_list_push(Arena *arena, RD_CfgIDList *list, RD_CfgID id);
internal RD_CfgIDList rd_cfg_id_list_copy(Arena *arena, RD_CfgIDList *src);
//////////////////////////////// ////////////////////////////////
//~ rjf: Registers Type Functions //~ rjf: Registers Type Functions
@@ -807,7 +781,7 @@ internal void rd_name_release(String8 string);
internal RD_Cfg *rd_cfg_alloc(void); internal RD_Cfg *rd_cfg_alloc(void);
internal void rd_cfg_release(RD_Cfg *cfg); internal void rd_cfg_release(RD_Cfg *cfg);
internal void rd_cfg_release_all_children(RD_Cfg *cfg); internal void rd_cfg_release_all_children(RD_Cfg *cfg);
internal RD_Cfg *rd_cfg_from_id(RD_CfgID id); internal RD_Cfg *rd_cfg_from_id(CFG_ID id);
internal RD_Cfg *rd_cfg_new(RD_Cfg *parent, String8 string); internal RD_Cfg *rd_cfg_new(RD_Cfg *parent, String8 string);
internal RD_Cfg *rd_cfg_newf(RD_Cfg *parent, char *fmt, ...); internal RD_Cfg *rd_cfg_newf(RD_Cfg *parent, char *fmt, ...);
internal RD_Cfg *rd_cfg_new_replace(RD_Cfg *parent, String8 string); internal RD_Cfg *rd_cfg_new_replace(RD_Cfg *parent, String8 string);
+2 -2
View File
@@ -636,7 +636,7 @@ E_TYPE_ACCESS_FUNCTION_DEF(cfgs)
str8_match(str8_prefix(rhs->string, 1), str8_lit("$"), 0)) str8_match(str8_prefix(rhs->string, 1), str8_lit("$"), 0))
{ {
String8 numeric_part = str8_skip(rhs->string, 1); String8 numeric_part = str8_skip(rhs->string, 1);
RD_CfgID id = u64_from_str8(numeric_part, 16); CFG_ID id = u64_from_str8(numeric_part, 16);
RD_Cfg *cfg = rd_cfg_from_id(id); RD_Cfg *cfg = rd_cfg_from_id(id);
E_Space space = rd_eval_space_from_cfg(cfg); E_Space space = rd_eval_space_from_cfg(cfg);
result.root = e_irtree_set_space(arena, space, e_irtree_const_u(arena, 0)); result.root = e_irtree_set_space(arena, space, e_irtree_const_u(arena, 0));
@@ -739,7 +739,7 @@ E_TYPE_ACCESS_FUNCTION_DEF(cfgs_slice)
case E_ExprKind_MemberAccess: case E_ExprKind_MemberAccess:
{ {
String8 rhs_name = expr->first->next->string; String8 rhs_name = expr->first->next->string;
RD_CfgID id = 0; CFG_ID id = 0;
if(str8_match(str8_prefix(rhs_name, 1), str8_lit("$"), 0)) if(str8_match(str8_prefix(rhs_name, 1), str8_lit("$"), 0))
{ {
id = u64_from_str8(str8_skip(rhs_name, 1), 16); id = u64_from_str8(str8_skip(rhs_name, 1), 16);
+1 -1
View File
@@ -1089,7 +1089,7 @@ rd_watch_row_info_from_row(Arena *arena, EV_Row *row)
block_type->expand.id_from_num == E_TYPE_EXPAND_ID_FROM_NUM_FUNCTION_NAME(watches) || block_type->expand.id_from_num == E_TYPE_EXPAND_ID_FROM_NUM_FUNCTION_NAME(watches) ||
block_type->expand.id_from_num == E_TYPE_EXPAND_ID_FROM_NUM_FUNCTION_NAME(environment))) block_type->expand.id_from_num == E_TYPE_EXPAND_ID_FROM_NUM_FUNCTION_NAME(environment)))
{ {
RD_CfgID id = row->key.child_id; CFG_ID id = row->key.child_id;
info.group_cfg_child = rd_cfg_from_id(id); info.group_cfg_child = rd_cfg_from_id(id);
} }
} }