mirror of
https://github.com/Ed94/raddebugger.git
synced 2026-07-31 03:10:03 +00:00
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:
@@ -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 ""}
|
||||
|
||||
+199
-254
File diff suppressed because it is too large
Load Diff
@@ -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);
|
||||
|
||||
|
||||
@@ -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),
|
||||
|
||||
@@ -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];
|
||||
|
||||
Reference in New Issue
Block a user