Revert "checkpoint on pass to majorly simplify debug frontend state, and eliminate df entities, and move from cmds -> msgs"

This reverts commit 06a685221a.
This commit is contained in:
Ryan Fleury
2024-09-07 14:50:27 -07:00
parent 3ed8f4af98
commit a204018e94
21 changed files with 907 additions and 1574 deletions
+12 -5
View File
@@ -61,6 +61,11 @@ D_EntityKindTable:
{WorkingDirectory working_directory working_directories 0 0 0 0 0 0 0 0 1 1 0 "Execution Path" Null "Working Directory" }
{EntryPoint entry_point entry_points 0 0 0 0 0 0 0 0 0 1 0 "Symbol Name" Null "Entry Point" }
//- rjf: frontend containers (windows, panels, views)
{Window window windows 1 0 0 0 0 0 1 0 0 1 1 "Label" Window "Window" }
{Panel panel panels 1 0 0 0 0 0 1 0 0 1 1 "Label" XSplit "Panel" }
{View view views 1 0 0 0 0 0 1 0 0 1 1 "Label" Null "View" }
//- rjf: recent projects
{RecentProject recent_project recent_projects 0 0 0 0 0 0 0 0 1 0 1 "Path" Briefcase "Recent Project" }
@@ -89,11 +94,11 @@ D_EntityKindTable:
@table(c_type name_lower name)
D_RegTable:
{
// rjf: entity info
{CTRL_MachineID machine_id MachineID }
{DMN_Handle process process }
{DMN_Handle module module }
{DMN_Handle thread thread }
// rjf: entity slots
{D_Handle machine Machine }
{D_Handle module Module }
{D_Handle process Process }
{D_Handle thread Thread }
{D_Handle window Window }
{D_Handle panel Panel }
{D_Handle view View }
@@ -216,6 +221,8 @@ D_MsgKindTable:
{DisableEntity "Disable Entity" disable_entity 0 0 Null Nil 0 0 0 0 0 0 Null ""}
{DisableBreakpoint "Disable Breakpoint" disable_breakpoint 0 0 Null Nil 0 0 0 0 0 0 Null ""}
{DisableTarget "Disable Target" disable_target 0 0 Null Nil 0 0 0 0 0 0 Null ""}
{FreezeEntity "Freeze Entity" freeze_entity 0 0 Null Nil 0 0 0 0 0 0 Null ""}
{ThawEntity "Thaw Entity" thaw_entity 0 0 Null Nil 0 0 0 0 0 0 Null ""}
{RemoveEntity "Remove Entity" remove_entity 0 0 Null Nil 0 0 0 0 0 0 Null ""}
{RemoveBreakpoint "Remove Breakpoint" remove_breakpoint 0 0 Null Nil 0 0 0 0 0 0 Null ""}
{RemoveTarget "Remove Target" remove_target 0 0 Null Nil 0 0 0 0 0 0 Null ""}
File diff suppressed because it is too large Load Diff
+18 -30
View File
@@ -835,7 +835,7 @@ struct D_UnwindCacheNode
U64 reggen;
U64 memgen;
Arena *arena;
CTRL_MachineIDHandlePair pair;
D_Handle thread;
CTRL_Unwind unwind;
};
@@ -860,7 +860,7 @@ typedef struct D_RunTLSBaseCacheNode D_RunTLSBaseCacheNode;
struct D_RunTLSBaseCacheNode
{
D_RunTLSBaseCacheNode *hash_next;
CTRL_MachineIDHandlePair pair;
D_Handle process;
U64 root_vaddr;
U64 rip_vaddr;
U64 tls_base_vaddr;
@@ -987,7 +987,6 @@ struct D_State
D_MsgList msgs;
// rjf: top-level command batch
// TODO(rjf): @msgs
Arena *root_cmd_arena;
D_CmdList root_cmds;
@@ -1041,8 +1040,6 @@ struct D_State
D_ViewRuleSpec **view_rule_spec_table;
// rjf: freeze state
CTRL_MachineIDHandlePairList frozen_thread_handles;
CTRL_MachineIDHandlePairNode *free_frozen_thread_handle_node;
D_HandleList frozen_threads;
D_HandleNode *free_handle_node;
@@ -1050,8 +1047,7 @@ struct D_State
Arena *ctrl_last_run_arena;
D_RunKind ctrl_last_run_kind;
U64 ctrl_last_run_frame_idx;
CTRL_MachineID ctrl_last_run_machine_id;
DMN_Handle ctrl_last_run_thread;
D_Handle ctrl_last_run_thread;
CTRL_RunFlags ctrl_last_run_flags;
CTRL_TrapList ctrl_last_run_traps;
U128 ctrl_last_run_param_state_hash;
@@ -1303,7 +1299,7 @@ internal D_Entity *d_entity_from_u64_and_kind(U64 u64, D_EntityKind kind);
//- rjf: entity freezing state
internal void d_set_thread_freeze_state(D_Entity *thread, B32 frozen);
internal B32 d_entity_is_frozen(CTRL_Entity *entity);
internal B32 d_entity_is_frozen(D_Entity *entity);
////////////////////////////////
//~ rjf: Command Stateful Functions
@@ -1323,9 +1319,9 @@ internal D_ViewRuleSpec *d_view_rule_spec_from_string(String8 string);
////////////////////////////////
//~ rjf: Stepping "Trap Net" Builders
internal CTRL_TrapList d_trap_net_from_thread__step_over_inst(Arena *arena, CTRL_Entity *thread);
internal CTRL_TrapList d_trap_net_from_thread__step_over_line(Arena *arena, CTRL_Entity *thread);
internal CTRL_TrapList d_trap_net_from_thread__step_into_line(Arena *arena, CTRL_Entity *thread);
internal CTRL_TrapList d_trap_net_from_thread__step_over_inst(Arena *arena, D_Entity *thread);
internal CTRL_TrapList d_trap_net_from_thread__step_over_line(Arena *arena, D_Entity *thread);
internal CTRL_TrapList d_trap_net_from_thread__step_into_line(Arena *arena, D_Entity *thread);
////////////////////////////////
//~ rjf: Modules & Debug Info Mappings
@@ -1346,7 +1342,7 @@ internal Rng1U64 d_vaddr_range_from_voff_range(D_Entity *module, Rng1U64 voff_rn
//- rjf: voff|vaddr -> symbol lookups
internal String8 d_symbol_name_from_dbgi_key_voff(Arena *arena, DI_Key *dbgi_key, U64 voff, B32 decorated);
internal String8 d_symbol_name_from_process_vaddr(Arena *arena, CTRL_Entity *process, U64 vaddr, B32 decorated);
internal String8 d_symbol_name_from_process_vaddr(Arena *arena, D_Entity *process, U64 vaddr, B32 decorated);
//- rjf: symbol -> voff lookups
internal U64 d_voff_from_dbgi_key_symbol_name(DI_Key *dbgi_key, String8 symbol_name);
@@ -1364,13 +1360,13 @@ internal D_LineList d_lines_from_file_path_line_num(Arena *arena, String8 file_p
internal D_Entity *d_module_from_process_vaddr(D_Entity *process, U64 vaddr);
internal D_Entity *d_module_from_thread(D_Entity *thread);
internal U64 d_tls_base_vaddr_from_process_root_rip(CTRL_Entity *process, U64 root_vaddr, U64 rip_vaddr);
internal U64 d_tls_base_vaddr_from_process_root_rip(D_Entity *process, U64 root_vaddr, U64 rip_vaddr);
internal Arch d_arch_from_entity(D_Entity *entity);
internal E_String2NumMap *d_push_locals_map_from_dbgi_key_voff(Arena *arena, DI_Scope *scope, DI_Key *dbgi_key, U64 voff);
internal E_String2NumMap *d_push_member_map_from_dbgi_key_voff(Arena *arena, DI_Scope *scope, DI_Key *dbgi_key, U64 voff);
internal B32 d_set_thread_rip(D_Entity *thread, U64 vaddr);
internal D_Entity *d_module_from_thread_candidates(D_Entity *thread, D_EntityList *candidates);
internal D_Unwind d_unwind_from_ctrl_unwind(Arena *arena, DI_Scope *di_scope, CTRL_Entity *process, CTRL_Unwind *base_unwind);
internal D_Unwind d_unwind_from_ctrl_unwind(Arena *arena, DI_Scope *di_scope, D_Entity *process, CTRL_Unwind *base_unwind);
////////////////////////////////
//~ rjf: Target Controls
@@ -1382,7 +1378,7 @@ internal U128 d_hash_from_ctrl_param_state(void);
internal void d_push_ctrl_msg(CTRL_Msg *msg);
//- rjf: control thread running
internal void d_ctrl_run(D_RunKind run, CTRL_Entity *run_thread, CTRL_RunFlags flags, CTRL_TrapList *run_traps);
internal void d_ctrl_run(D_RunKind run, D_Entity *run_thread, CTRL_RunFlags flags, CTRL_TrapList *run_traps);
//- rjf: stopped info from the control thread
internal CTRL_Event d_ctrl_last_stop_event(void);
@@ -1391,8 +1387,8 @@ internal CTRL_Event d_ctrl_last_stop_event(void);
//~ rjf: Evaluation Spaces
//- rjf: entity <-> eval space
internal CTRL_Entity *d_entity_from_eval_space(E_Space space);
internal E_Space d_eval_space_from_entity(CTRL_Entity *entity);
internal D_Entity *d_entity_from_eval_space(E_Space space);
internal E_Space d_eval_space_from_entity(D_Entity *entity);
//- rjf: eval space reads/writes
internal B32 d_eval_space_read(void *u, E_Space space, void *out, Rng1U64 range);
@@ -1508,14 +1504,6 @@ internal D_Regs *d_push_regs(void);
internal D_Regs *d_pop_regs(void);
#define D_RegsScope DeferLoop(d_push_regs(), d_pop_regs())
//- rjf: register setting helpers
internal void d_regs_set_thread(CTRL_Entity *thread);
//- rjf: register accessing helpers
internal CTRL_Entity *d_regs_process(void);
internal CTRL_Entity *d_regs_thread(void);
internal CTRL_Entity *d_regs_module(void);
//- rjf: undo/redo history
internal D_StateDeltaHistory *d_state_delta_history(void);
@@ -1533,7 +1521,7 @@ internal D_CfgTable *d_cfg_table(void);
//- rjf: config serialization
internal String8 d_cfg_escaped_from_raw_string(Arena *arena, String8 string);
internal String8 d_cfg_raw_from_escaped_string(Arena *arena, String8 string);
internal String8List d_cfg_strings_from_state(Arena *arena, String8 root_path, D_CfgSrc source);
internal String8List d_cfg_strings_from_core(Arena *arena, String8 root_path, D_CfgSrc source);
internal void d_cfg_push_write_string(D_CfgSrc src, String8 string);
//- rjf: current path
@@ -1550,10 +1538,10 @@ internal D_EntityList d_push_active_target_list(Arena *arena);
internal D_Entity *d_entity_from_expand_key_and_kind(D_ExpandKey key, D_EntityKind kind);
//- rjf: per-run caches
internal CTRL_Unwind d_query_cached_unwind_from_thread(CTRL_Entity *thread);
internal U64 d_query_cached_rip_from_thread(CTRL_Entity *thread);
internal U64 d_query_cached_rip_from_thread_unwind(CTRL_Entity *thread, U64 unwind_count);
internal U64 d_query_cached_tls_base_vaddr_from_process_root_rip(CTRL_Entity *process, U64 root_vaddr, U64 rip_vaddr);
internal CTRL_Unwind d_query_cached_unwind_from_thread(D_Entity *thread);
internal U64 d_query_cached_rip_from_thread(D_Entity *thread);
internal U64 d_query_cached_rip_from_thread_unwind(D_Entity *thread, U64 unwind_count);
internal U64 d_query_cached_tls_base_vaddr_from_process_root_rip(D_Entity *process, U64 root_vaddr, U64 rip_vaddr);
internal E_String2NumMap *d_query_cached_locals_map_from_dbgi_key_voff(DI_Key *dbgi_key, U64 voff);
internal E_String2NumMap *d_query_cached_member_map_from_dbgi_key_voff(DI_Key *dbgi_key, U64 voff);
+30 -11
View File
@@ -7,10 +7,10 @@ C_LINKAGE_BEGIN
Rng1U64 d_reg_slot_range_table[29] =
{
{0},
{OffsetOf(D_Regs, machine_id), OffsetOf(D_Regs, machine_id) + sizeof(CTRL_MachineID)},
{OffsetOf(D_Regs, process), OffsetOf(D_Regs, process) + sizeof(DMN_Handle)},
{OffsetOf(D_Regs, module), OffsetOf(D_Regs, module) + sizeof(DMN_Handle)},
{OffsetOf(D_Regs, thread), OffsetOf(D_Regs, thread) + sizeof(DMN_Handle)},
{OffsetOf(D_Regs, machine), OffsetOf(D_Regs, machine) + sizeof(D_Handle)},
{OffsetOf(D_Regs, module), OffsetOf(D_Regs, module) + sizeof(D_Handle)},
{OffsetOf(D_Regs, process), OffsetOf(D_Regs, process) + sizeof(D_Handle)},
{OffsetOf(D_Regs, thread), OffsetOf(D_Regs, thread) + sizeof(D_Handle)},
{OffsetOf(D_Regs, window), OffsetOf(D_Regs, window) + sizeof(D_Handle)},
{OffsetOf(D_Regs, panel), OffsetOf(D_Regs, panel) + sizeof(D_Handle)},
{OffsetOf(D_Regs, view), OffsetOf(D_Regs, view) + sizeof(D_Handle)},
@@ -37,7 +37,7 @@ Rng1U64 d_reg_slot_range_table[29] =
{OffsetOf(D_Regs, params_tree), OffsetOf(D_Regs, params_tree) + sizeof(MD_Node *)},
};
String8 d_msg_kind_name_lower_table[69] =
String8 d_msg_kind_name_lower_table[71] =
{
str8_lit_comp("null"),
str8_lit_comp("launch_and_run"),
@@ -84,6 +84,8 @@ str8_lit_comp("enable_target"),
str8_lit_comp("disable_entity"),
str8_lit_comp("disable_breakpoint"),
str8_lit_comp("disable_target"),
str8_lit_comp("freeze_entity"),
str8_lit_comp("thaw_entity"),
str8_lit_comp("remove_entity"),
str8_lit_comp("remove_breakpoint"),
str8_lit_comp("remove_target"),
@@ -110,7 +112,7 @@ str8_lit_comp("register_as_jit_debugger"),
str8_lit_comp("log_marker"),
};
String8 d_msg_kind_name_display_table[69] =
String8 d_msg_kind_name_display_table[71] =
{
str8_lit_comp("null"),
str8_lit_comp("launch_and_run"),
@@ -157,6 +159,8 @@ str8_lit_comp("enable_target"),
str8_lit_comp("disable_entity"),
str8_lit_comp("disable_breakpoint"),
str8_lit_comp("disable_target"),
str8_lit_comp("freeze_entity"),
str8_lit_comp("thaw_entity"),
str8_lit_comp("remove_entity"),
str8_lit_comp("remove_breakpoint"),
str8_lit_comp("remove_target"),
@@ -211,7 +215,7 @@ Rng1U64 d_cmd_param_slot_range_table[24] =
{OffsetOf(D_CmdParams, inline_depth), OffsetOf(D_CmdParams, inline_depth) + sizeof(U64)},
};
String8 d_entity_kind_display_string_table[28] =
String8 d_entity_kind_display_string_table[31] =
{
str8_lit_comp("Nil"),
str8_lit_comp("Root"),
@@ -230,6 +234,9 @@ str8_lit_comp("Executable"),
str8_lit_comp("Arguments"),
str8_lit_comp("Working Directory"),
str8_lit_comp("Entry Point"),
str8_lit_comp("Window"),
str8_lit_comp("Panel"),
str8_lit_comp("View"),
str8_lit_comp("Recent Project"),
str8_lit_comp("Source"),
str8_lit_comp("Destination"),
@@ -243,7 +250,7 @@ str8_lit_comp("Conversion Failure"),
str8_lit_comp("EndedProcess"),
};
String8 d_entity_kind_name_lower_table[28] =
String8 d_entity_kind_name_lower_table[31] =
{
str8_lit_comp("nil"),
str8_lit_comp("root"),
@@ -262,6 +269,9 @@ str8_lit_comp("executable"),
str8_lit_comp("arguments"),
str8_lit_comp("working_directory"),
str8_lit_comp("entry_point"),
str8_lit_comp("window"),
str8_lit_comp("panel"),
str8_lit_comp("view"),
str8_lit_comp("recent_project"),
str8_lit_comp("source"),
str8_lit_comp("dest"),
@@ -275,7 +285,7 @@ str8_lit_comp("conversion_fail"),
str8_lit_comp("ended_process"),
};
String8 d_entity_kind_name_lower_plural_table[28] =
String8 d_entity_kind_name_lower_plural_table[31] =
{
str8_lit_comp("nils"),
str8_lit_comp("roots"),
@@ -294,6 +304,9 @@ str8_lit_comp("executables"),
str8_lit_comp("argumentses"),
str8_lit_comp("working_directories"),
str8_lit_comp("entry_points"),
str8_lit_comp("windows"),
str8_lit_comp("panels"),
str8_lit_comp("views"),
str8_lit_comp("recent_projects"),
str8_lit_comp("sources"),
str8_lit_comp("dests"),
@@ -307,7 +320,7 @@ str8_lit_comp("conversion_fails"),
str8_lit_comp("ended_processes"),
};
String8 d_entity_kind_name_label_table[28] =
String8 d_entity_kind_name_label_table[31] =
{
str8_lit_comp("Label"),
str8_lit_comp("Label"),
@@ -326,6 +339,9 @@ str8_lit_comp("Executable"),
str8_lit_comp("Arguments"),
str8_lit_comp("Execution Path"),
str8_lit_comp("Symbol Name"),
str8_lit_comp("Label"),
str8_lit_comp("Label"),
str8_lit_comp("Label"),
str8_lit_comp("Path"),
str8_lit_comp("Path"),
str8_lit_comp("Path"),
@@ -339,7 +355,7 @@ str8_lit_comp("Label"),
str8_lit_comp("Label"),
};
D_EntityKindFlags d_entity_kind_flags_table[28] =
D_EntityKindFlags d_entity_kind_flags_table[31] =
{
(0*D_EntityKindFlag_CanDelete) | (0*D_EntityKindFlag_CanFreeze) | (0*D_EntityKindFlag_CanEdit) | (0*D_EntityKindFlag_CanRename) | (0*D_EntityKindFlag_CanEnable) | (0*D_EntityKindFlag_CanCondition) | (0*D_EntityKindFlag_CanDuplicate) | (0*D_EntityKindFlag_NameIsCode) | (0*D_EntityKindFlag_NameIsPath) | (0*D_EntityKindFlag_UserDefinedLifetime) | (0*D_EntityKindFlag_IsSerializedToConfig),
(0*D_EntityKindFlag_CanDelete) | (0*D_EntityKindFlag_CanFreeze) | (0*D_EntityKindFlag_CanEdit) | (0*D_EntityKindFlag_CanRename) | (0*D_EntityKindFlag_CanEnable) | (0*D_EntityKindFlag_CanCondition) | (0*D_EntityKindFlag_CanDuplicate) | (0*D_EntityKindFlag_NameIsCode) | (0*D_EntityKindFlag_NameIsPath) | (0*D_EntityKindFlag_UserDefinedLifetime) | (0*D_EntityKindFlag_IsSerializedToConfig),
@@ -358,6 +374,9 @@ D_EntityKindFlags d_entity_kind_flags_table[28] =
(0*D_EntityKindFlag_CanDelete) | (0*D_EntityKindFlag_CanFreeze) | (0*D_EntityKindFlag_CanEdit) | (0*D_EntityKindFlag_CanRename) | (0*D_EntityKindFlag_CanEnable) | (0*D_EntityKindFlag_CanCondition) | (0*D_EntityKindFlag_CanDuplicate) | (0*D_EntityKindFlag_NameIsCode) | (0*D_EntityKindFlag_NameIsPath) | (1*D_EntityKindFlag_UserDefinedLifetime) | (0*D_EntityKindFlag_IsSerializedToConfig),
(0*D_EntityKindFlag_CanDelete) | (0*D_EntityKindFlag_CanFreeze) | (0*D_EntityKindFlag_CanEdit) | (0*D_EntityKindFlag_CanRename) | (0*D_EntityKindFlag_CanEnable) | (0*D_EntityKindFlag_CanCondition) | (0*D_EntityKindFlag_CanDuplicate) | (0*D_EntityKindFlag_NameIsCode) | (1*D_EntityKindFlag_NameIsPath) | (1*D_EntityKindFlag_UserDefinedLifetime) | (0*D_EntityKindFlag_IsSerializedToConfig),
(0*D_EntityKindFlag_CanDelete) | (0*D_EntityKindFlag_CanFreeze) | (0*D_EntityKindFlag_CanEdit) | (0*D_EntityKindFlag_CanRename) | (0*D_EntityKindFlag_CanEnable) | (0*D_EntityKindFlag_CanCondition) | (0*D_EntityKindFlag_CanDuplicate) | (0*D_EntityKindFlag_NameIsCode) | (0*D_EntityKindFlag_NameIsPath) | (1*D_EntityKindFlag_UserDefinedLifetime) | (0*D_EntityKindFlag_IsSerializedToConfig),
(1*D_EntityKindFlag_CanDelete) | (0*D_EntityKindFlag_CanFreeze) | (0*D_EntityKindFlag_CanEdit) | (0*D_EntityKindFlag_CanRename) | (0*D_EntityKindFlag_CanEnable) | (0*D_EntityKindFlag_CanCondition) | (1*D_EntityKindFlag_CanDuplicate) | (0*D_EntityKindFlag_NameIsCode) | (0*D_EntityKindFlag_NameIsPath) | (1*D_EntityKindFlag_UserDefinedLifetime) | (1*D_EntityKindFlag_IsSerializedToConfig),
(1*D_EntityKindFlag_CanDelete) | (0*D_EntityKindFlag_CanFreeze) | (0*D_EntityKindFlag_CanEdit) | (0*D_EntityKindFlag_CanRename) | (0*D_EntityKindFlag_CanEnable) | (0*D_EntityKindFlag_CanCondition) | (1*D_EntityKindFlag_CanDuplicate) | (0*D_EntityKindFlag_NameIsCode) | (0*D_EntityKindFlag_NameIsPath) | (1*D_EntityKindFlag_UserDefinedLifetime) | (1*D_EntityKindFlag_IsSerializedToConfig),
(1*D_EntityKindFlag_CanDelete) | (0*D_EntityKindFlag_CanFreeze) | (0*D_EntityKindFlag_CanEdit) | (0*D_EntityKindFlag_CanRename) | (0*D_EntityKindFlag_CanEnable) | (0*D_EntityKindFlag_CanCondition) | (1*D_EntityKindFlag_CanDuplicate) | (0*D_EntityKindFlag_NameIsCode) | (0*D_EntityKindFlag_NameIsPath) | (1*D_EntityKindFlag_UserDefinedLifetime) | (1*D_EntityKindFlag_IsSerializedToConfig),
(0*D_EntityKindFlag_CanDelete) | (0*D_EntityKindFlag_CanFreeze) | (0*D_EntityKindFlag_CanEdit) | (0*D_EntityKindFlag_CanRename) | (0*D_EntityKindFlag_CanEnable) | (0*D_EntityKindFlag_CanCondition) | (0*D_EntityKindFlag_CanDuplicate) | (0*D_EntityKindFlag_NameIsCode) | (1*D_EntityKindFlag_NameIsPath) | (0*D_EntityKindFlag_UserDefinedLifetime) | (1*D_EntityKindFlag_IsSerializedToConfig),
(0*D_EntityKindFlag_CanDelete) | (0*D_EntityKindFlag_CanFreeze) | (0*D_EntityKindFlag_CanEdit) | (0*D_EntityKindFlag_CanRename) | (0*D_EntityKindFlag_CanEnable) | (0*D_EntityKindFlag_CanCondition) | (0*D_EntityKindFlag_CanDuplicate) | (0*D_EntityKindFlag_NameIsCode) | (0*D_EntityKindFlag_NameIsPath) | (0*D_EntityKindFlag_UserDefinedLifetime) | (0*D_EntityKindFlag_IsSerializedToConfig),
(0*D_EntityKindFlag_CanDelete) | (0*D_EntityKindFlag_CanFreeze) | (0*D_EntityKindFlag_CanEdit) | (0*D_EntityKindFlag_CanRename) | (0*D_EntityKindFlag_CanEnable) | (0*D_EntityKindFlag_CanCondition) | (0*D_EntityKindFlag_CanDuplicate) | (0*D_EntityKindFlag_NameIsCode) | (0*D_EntityKindFlag_NameIsPath) | (0*D_EntityKindFlag_UserDefinedLifetime) | (0*D_EntityKindFlag_IsSerializedToConfig),
+22 -17
View File
@@ -9,10 +9,10 @@
typedef enum D_RegSlot
{
D_RegSlot_Null,
D_RegSlot_MachineID,
D_RegSlot_process,
D_RegSlot_module,
D_RegSlot_thread,
D_RegSlot_Machine,
D_RegSlot_Module,
D_RegSlot_Process,
D_RegSlot_Thread,
D_RegSlot_Window,
D_RegSlot_Panel,
D_RegSlot_View,
@@ -87,6 +87,8 @@ D_MsgKind_EnableTarget,
D_MsgKind_DisableEntity,
D_MsgKind_DisableBreakpoint,
D_MsgKind_DisableTarget,
D_MsgKind_FreezeEntity,
D_MsgKind_ThawEntity,
D_MsgKind_RemoveEntity,
D_MsgKind_RemoveBreakpoint,
D_MsgKind_RemoveTarget,
@@ -142,6 +144,9 @@ D_EntityKind_Executable,
D_EntityKind_Arguments,
D_EntityKind_WorkingDirectory,
D_EntityKind_EntryPoint,
D_EntityKind_Window,
D_EntityKind_Panel,
D_EntityKind_View,
D_EntityKind_RecentProject,
D_EntityKind_Source,
D_EntityKind_Dest,
@@ -440,10 +445,10 @@ D_CmdParamSlot_COUNT,
typedef struct D_Regs D_Regs;
struct D_Regs
{
CTRL_MachineID machine_id;
DMN_Handle process;
DMN_Handle module;
DMN_Handle thread;
D_Handle machine;
D_Handle module;
D_Handle process;
D_Handle thread;
D_Handle window;
D_Handle panel;
D_Handle view;
@@ -499,9 +504,9 @@ U64 inline_depth;
};
#define d_regs_lit_init_top \
.machine_id = d_regs()->machine_id,\
.process = d_regs()->process,\
.machine = d_regs()->machine,\
.module = d_regs()->module,\
.process = d_regs()->process,\
.thread = d_regs()->thread,\
.window = d_regs()->window,\
.panel = d_regs()->panel,\
@@ -568,14 +573,14 @@ struct {B32 *value_ptr; String8 name;} DEV_toggle_table[] =
};
C_LINKAGE_BEGIN
extern Rng1U64 d_reg_slot_range_table[29];
extern String8 d_msg_kind_name_lower_table[69];
extern String8 d_msg_kind_name_display_table[69];
extern String8 d_msg_kind_name_lower_table[71];
extern String8 d_msg_kind_name_display_table[71];
extern Rng1U64 d_cmd_param_slot_range_table[24];
extern String8 d_entity_kind_display_string_table[28];
extern String8 d_entity_kind_name_lower_table[28];
extern String8 d_entity_kind_name_lower_plural_table[28];
extern String8 d_entity_kind_name_label_table[28];
extern D_EntityKindFlags d_entity_kind_flags_table[28];
extern String8 d_entity_kind_display_string_table[31];
extern String8 d_entity_kind_name_lower_table[31];
extern String8 d_entity_kind_name_lower_plural_table[31];
extern String8 d_entity_kind_name_label_table[31];
extern D_EntityKindFlags d_entity_kind_flags_table[31];
extern String8 d_cfg_src_string_table[4];
extern D_CmdKind d_cfg_src_load_cmd_kind_table[4];
extern D_CmdKind d_cfg_src_write_cmd_kind_table[4];