dead code & unnecessary helper elimination

This commit is contained in:
Ryan Fleury
2024-09-08 16:49:27 -07:00
parent 8831781af4
commit baaa853c7f
7 changed files with 93 additions and 158 deletions
-6
View File
@@ -83,9 +83,6 @@ D_EntityKindTable:
//- rjf: parser task entities
{ConversionTask conversion_task conversion_tasks 0 0 0 1 0 0 0 0 0 0 0 "Label" Null "Conversion Task" }
{ConversionFail conversion_fail conversion_fails 0 0 0 1 0 0 0 0 0 0 0 "Label" Null "Conversion Failure" }
//- rjf: history
{EndedProcess ended_process ended_processes 1 0 0 1 0 0 0 0 0 0 0 "Label" Null "EndedProcess" }
}
////////////////////////////////
@@ -448,9 +445,6 @@ D_CoreCmdTable: // | | | |
{EnableTarget 1 1 Entity Target 0 0 0 0 0 1 CheckFilled "enable_target" "Enable Target" "Enables a target, in addition to all targets currently enabled." "" }
{DisableTarget 1 1 Entity Target 0 0 0 0 0 1 CheckHollow "disable_target" "Disable Target" "Disables a target." "" }
//- rjf: ended processes
{RetryEndedProcess 0 0 Entity Process 0 0 0 0 0 0 Null "retry_ended_process" "Retry Ended Process" "Launches a new process with the same options as the passed ended process." "" }
//- rjf: attaching
{Attach 1 1 ID Nil 0 0 0 0 0 1 Null "attach" "Attach" "Attaches to a process that is already running on the local machine." "" }
{RegisterAsJITDebugger 1 1 Null Nil 0 0 0 0 0 0 Null "register_as_jit_debugger" "Register As Just-In-Time (JIT) Debugger" "Registers the RAD debugger as the just-in-time (JIT) debugger used by the operating system." "" }
+78 -123
View File
@@ -3143,39 +3143,6 @@ d_push_member_map_from_dbgi_key_voff(Arena *arena, DI_Scope *scope, DI_Key *dbgi
return result;
}
internal B32
d_set_thread_rip(D_Entity *thread, U64 vaddr)
{
Temp scratch = scratch_begin(0, 0);
void *block = ctrl_query_cached_reg_block_from_thread(scratch.arena, d_state->ctrl_entity_store, thread->ctrl_machine_id, thread->ctrl_handle);
regs_arch_block_write_rip(thread->arch, block, vaddr);
B32 result = ctrl_thread_write_reg_block(thread->ctrl_machine_id, thread->ctrl_handle, block);
// rjf: early mutation of unwind cache for immediate frontend effect
if(result)
{
D_UnwindCache *cache = &d_state->unwind_cache;
if(cache->slots_count != 0)
{
D_Handle thread_handle = d_handle_from_entity(thread);
U64 hash = d_hash_from_string(str8_struct(&thread_handle));
U64 slot_idx = hash%cache->slots_count;
D_UnwindCacheSlot *slot = &cache->slots[slot_idx];
for(D_UnwindCacheNode *n = slot->first; n != 0; n = n->next)
{
if(d_handle_match(n->thread, thread_handle) && n->unwind.frames.count != 0)
{
regs_arch_block_write_rip(thread->arch, n->unwind.frames.v[0].regs, vaddr);
break;
}
}
}
}
scratch_end(scratch);
return result;
}
internal D_Entity *
d_module_from_thread_candidates(D_Entity *thread, D_EntityList *candidates)
{
@@ -3242,61 +3209,6 @@ d_unwind_from_ctrl_unwind(Arena *arena, DI_Scope *di_scope, D_Entity *process, C
////////////////////////////////
//~ rjf: Target Controls
#if !defined(BLAKE2_H)
#define HAVE_SSE2
#include "third_party/blake2/blake2.h"
#include "third_party/blake2/blake2b.c"
#endif
//- rjf: state which parameterizes runs, but can be live-edited -> hash
internal U128
d_hash_from_ctrl_param_state(D_BreakpointArray *breakpoints)
{
U128 result = {0};
Temp scratch = scratch_begin(0, 0);
{
// rjf: build data strings of all param data
String8List strings = {0};
{
for(CTRL_Entity *machine = d_state->ctrl_entity_store->root->first;
machine != &ctrl_entity_nil;
machine = machine->next)
{
if(machine->kind != CTRL_EntityKind_Machine) { continue; }
for(CTRL_Entity *process = machine->first;
process != &ctrl_entity_nil;
process = process->next)
{
if(process->kind != CTRL_EntityKind_Process) { continue; }
for(CTRL_Entity *thread = process->first;
thread != &ctrl_entity_nil;
thread = thread->next)
{
if(thread->kind != CTRL_EntityKind_Thread) { continue; }
str8_list_push(scratch.arena, &strings, str8_struct(&thread->is_frozen));
}
}
}
for(U64 idx = 0; idx < breakpoints->count; idx += 1)
{
D_Breakpoint *bp = &breakpoints->v[idx];
str8_list_push(scratch.arena, &strings, bp->file_path);
str8_list_push(scratch.arena, &strings, str8_struct(&bp->pt));
str8_list_push(scratch.arena, &strings, bp->symbol_name);
str8_list_push(scratch.arena, &strings, str8_struct(&bp->vaddr));
str8_list_push(scratch.arena, &strings, bp->condition);
}
}
// rjf: join & hash to produce result
String8 string = str8_list_join(scratch.arena, &strings, 0);
blake2b((U8 *)&result.u64[0], sizeof(result), string.str, string.size, 0, 0);
}
scratch_end(scratch);
return result;
}
//- rjf: control message dispatching
internal void
@@ -6014,6 +5926,12 @@ d_errorf(char *fmt, ...)
////////////////////////////////
//~ rjf: Main Layer Top-Level Calls
#if !defined(BLAKE2_H)
#define HAVE_SSE2
#include "third_party/blake2/blake2.h"
#include "third_party/blake2/blake2b.c"
#endif
internal void
d_init(CmdLine *cmdln, D_StateDeltaHistory *hist)
{
@@ -6583,6 +6501,51 @@ d_tick(Arena *arena, D_TargetArray *targets, D_BreakpointArray *breakpoints, DI_
scratch_end(scratch);
}
//////////////////////////////
//- rjf: hash ctrl parameterization state
//
U128 ctrl_param_state_hash = {0};
{
Temp scratch = scratch_begin(0, 0);
// rjf: build data strings of all param data
String8List strings = {0};
{
CTRL_EntityList threads = ctrl_entity_list_from_kind(d_state->ctrl_entity_store, CTRL_EntityKind_Thread);
for(CTRL_EntityNode *n = threads.first; n != 0; n = n->next)
{
CTRL_Entity *thread = n->v;
str8_list_push(scratch.arena, &strings, str8_struct(&thread->is_frozen));
}
for(U64 idx = 0; idx < breakpoints->count; idx += 1)
{
D_Breakpoint *bp = &breakpoints->v[idx];
str8_list_push(scratch.arena, &strings, bp->file_path);
str8_list_push(scratch.arena, &strings, str8_struct(&bp->pt));
str8_list_push(scratch.arena, &strings, bp->symbol_name);
str8_list_push(scratch.arena, &strings, str8_struct(&bp->vaddr));
str8_list_push(scratch.arena, &strings, bp->condition);
}
}
// rjf: join & hash to produce result
String8 string = str8_list_join(scratch.arena, &strings, 0);
blake2b((U8 *)&ctrl_param_state_hash.u64[0], sizeof(ctrl_param_state_hash), string.str, string.size, 0, 0);
scratch_end(scratch);
}
//////////////////////////////
//- rjf: if ctrl thread is running, and our ctrl parameterization
// state hash has changed since the last run, we should soft-
// halt-refresh to inform the ctrl thread about the updated
// state
//
if(d_ctrl_targets_running() && !u128_match(ctrl_param_state_hash, d_state->ctrl_last_run_param_state_hash))
{
d_cmd(D_CmdKind_SoftHaltRefresh);
}
//////////////////////////////
//- rjf: eliminate entities that are marked for deletion
//
@@ -6689,20 +6652,6 @@ d_tick(Arena *arena, D_TargetArray *targets, D_BreakpointArray *breakpoints, DI_
}
}
//////////////////////////////
//- rjf: compute state parameterization hash for ctrl runs, if ctrl is running -
// if the hash doesn't match the one for the last run, we need to soft-halt and
// re-send down the parameterization state
//
if(d_ctrl_targets_running())
{
U128 state_hash = d_hash_from_ctrl_param_state(breakpoints);
if(!u128_match(state_hash, d_state->ctrl_last_run_param_state_hash))
{
d_cmd(D_CmdKind_SoftHaltRefresh);
}
}
//////////////////////////////
//- rjf: process top-level commands
//
@@ -7016,7 +6965,32 @@ d_tick(Arena *arena, D_TargetArray *targets, D_BreakpointArray *breakpoints, DI_
U64 vaddr = params.vaddr;
if(thread->kind == D_EntityKind_Thread && vaddr != 0)
{
d_set_thread_rip(thread, vaddr);
void *block = ctrl_query_cached_reg_block_from_thread(scratch.arena, d_state->ctrl_entity_store, thread->ctrl_machine_id, thread->ctrl_handle);
regs_arch_block_write_rip(thread->arch, block, vaddr);
B32 result = ctrl_thread_write_reg_block(thread->ctrl_machine_id, thread->ctrl_handle, block);
// rjf: early mutation of unwind cache for immediate frontend effect
if(result)
{
D_UnwindCache *cache = &d_state->unwind_cache;
if(cache->slots_count != 0)
{
D_Handle thread_handle = d_handle_from_entity(thread);
U64 hash = d_hash_from_string(str8_struct(&thread_handle));
U64 slot_idx = hash%cache->slots_count;
D_UnwindCacheSlot *slot = &cache->slots[slot_idx];
for(D_UnwindCacheNode *n = slot->first; n != 0; n = n->next)
{
if(d_handle_match(n->thread, thread_handle) && n->unwind.frames.count != 0)
{
regs_arch_block_write_rip(thread->arch, n->unwind.frames.v[0].regs, vaddr);
break;
}
}
}
}
scratch_end(scratch);
}
}break;
@@ -7782,25 +7756,6 @@ d_tick(Arena *arena, D_TargetArray *targets, D_BreakpointArray *breakpoints, DI_
}
}break;
//- rjf: ended processes
case D_CmdKind_RetryEndedProcess:
{
D_Entity *ended_process = d_entity_from_handle(params.entity);
D_Entity *target = d_entity_from_handle(ended_process->entity_handle);
if(target->kind == D_EntityKind_Target)
{
d_cmd(D_CmdKind_LaunchAndRun, .entity = d_handle_from_entity(target));
}
else if(d_entity_is_nil(target))
{
d_cmd(D_CmdKind_Error, .string = str8_lit("The ended process' corresponding target is missing."));
}
else if(d_entity_is_nil(ended_process))
{
d_cmd(D_CmdKind_Error, .string = str8_lit("Invalid ended process."));
}
}break;
//- rjf: attaching
case D_CmdKind_Attach:
{
@@ -7865,7 +7820,7 @@ d_tick(Arena *arena, D_TargetArray *targets, D_BreakpointArray *breakpoints, DI_
{
// rjf: compute hash of all run-parameterization entities, store
{
d_state->ctrl_last_run_param_state_hash = d_hash_from_ctrl_param_state(breakpoints);
d_state->ctrl_last_run_param_state_hash = ctrl_param_state_hash;
}
// rjf: build run message
-4
View File
@@ -1364,16 +1364,12 @@ internal U64 d_tls_base_vaddr_from_process_root_rip(D_Entity *process, U64 root_
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, D_Entity *process, CTRL_Unwind *base_unwind);
////////////////////////////////
//~ rjf: Target Controls
//- rjf: state which parameterizes runs, but can be live-edited -> hash
internal U128 d_hash_from_ctrl_param_state(D_BreakpointArray *breakpoints);
//- rjf: control message dispatching
internal void d_push_ctrl_msg(CTRL_Msg *msg);
+6 -12
View File
@@ -65,7 +65,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[31] =
String8 d_entity_kind_display_string_table[30] =
{
str8_lit_comp("Nil"),
str8_lit_comp("Root"),
@@ -97,10 +97,9 @@ str8_lit_comp("Pending Thread Name"),
str8_lit_comp("Debug Info Path"),
str8_lit_comp("Conversion Task"),
str8_lit_comp("Conversion Failure"),
str8_lit_comp("EndedProcess"),
};
String8 d_entity_kind_name_lower_table[31] =
String8 d_entity_kind_name_lower_table[30] =
{
str8_lit_comp("nil"),
str8_lit_comp("root"),
@@ -132,10 +131,9 @@ str8_lit_comp("pending_thread_name"),
str8_lit_comp("debug_info_path"),
str8_lit_comp("conversion_task"),
str8_lit_comp("conversion_fail"),
str8_lit_comp("ended_process"),
};
String8 d_entity_kind_name_lower_plural_table[31] =
String8 d_entity_kind_name_lower_plural_table[30] =
{
str8_lit_comp("nils"),
str8_lit_comp("roots"),
@@ -167,10 +165,9 @@ str8_lit_comp("pending_thread_names"),
str8_lit_comp("debug_info_paths"),
str8_lit_comp("conversion_tasks"),
str8_lit_comp("conversion_fails"),
str8_lit_comp("ended_processes"),
};
String8 d_entity_kind_name_label_table[31] =
String8 d_entity_kind_name_label_table[30] =
{
str8_lit_comp("Label"),
str8_lit_comp("Label"),
@@ -202,10 +199,9 @@ str8_lit_comp("Label"),
str8_lit_comp("Label"),
str8_lit_comp("Label"),
str8_lit_comp("Label"),
str8_lit_comp("Label"),
};
D_EntityKindFlags d_entity_kind_flags_table[31] =
D_EntityKindFlags d_entity_kind_flags_table[30] =
{
(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),
@@ -237,7 +233,6 @@ 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) | (1*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) | (1*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),
(1*D_EntityKindFlag_CanDelete) | (0*D_EntityKindFlag_CanFreeze) | (0*D_EntityKindFlag_CanEdit) | (1*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),
};
String8 d_cfg_src_string_table[4] =
@@ -272,7 +267,7 @@ D_CmdKind_Null,
D_CmdKind_Null,
};
D_CmdSpecInfo d_core_cmd_kind_spec_info_table[221] =
D_CmdSpecInfo d_core_cmd_kind_spec_info_table[220] =
{
{ str8_lit_comp(""), str8_lit_comp(""), str8_lit_comp(""), str8_lit_comp(""), (D_CmdSpecFlag_ListInUI*0)|(D_CmdSpecFlag_ListInIPCDocs*0), {D_CmdParamSlot_Null, D_EntityKind_Nil, (D_CmdQueryFlag_AllowFiles*0)|(D_CmdQueryFlag_AllowFolders*0)|(D_CmdQueryFlag_CodeInput*0)|(D_CmdQueryFlag_KeepOldInput*0)|(D_CmdQueryFlag_SelectOldInput*0)|(D_CmdQueryFlag_Required*0)}},
{ str8_lit_comp("exit"), str8_lit_comp("Exits the debugger."), str8_lit_comp("quit,close,abort"), str8_lit_comp("Exit"), (D_CmdSpecFlag_ListInUI*1)|(D_CmdSpecFlag_ListInIPCDocs*1), {D_CmdParamSlot_Null, D_EntityKind_Nil, (D_CmdQueryFlag_AllowFiles*0)|(D_CmdQueryFlag_AllowFolders*0)|(D_CmdQueryFlag_CodeInput*0)|(D_CmdQueryFlag_KeepOldInput*0)|(D_CmdQueryFlag_SelectOldInput*0)|(D_CmdQueryFlag_Required*0)}},
@@ -455,7 +450,6 @@ D_CmdSpecInfo d_core_cmd_kind_spec_info_table[221] =
{ str8_lit_comp("select_target"), str8_lit_comp("Selects a target."), str8_lit_comp(""), str8_lit_comp("Select Target"), (D_CmdSpecFlag_ListInUI*1)|(D_CmdSpecFlag_ListInIPCDocs*1), {D_CmdParamSlot_Entity, D_EntityKind_Target, (D_CmdQueryFlag_AllowFiles*0)|(D_CmdQueryFlag_AllowFolders*0)|(D_CmdQueryFlag_CodeInput*0)|(D_CmdQueryFlag_KeepOldInput*0)|(D_CmdQueryFlag_SelectOldInput*0)|(D_CmdQueryFlag_Required*1)}},
{ str8_lit_comp("enable_target"), str8_lit_comp("Enables a target, in addition to all targets currently enabled."), str8_lit_comp(""), str8_lit_comp("Enable Target"), (D_CmdSpecFlag_ListInUI*1)|(D_CmdSpecFlag_ListInIPCDocs*1), {D_CmdParamSlot_Entity, D_EntityKind_Target, (D_CmdQueryFlag_AllowFiles*0)|(D_CmdQueryFlag_AllowFolders*0)|(D_CmdQueryFlag_CodeInput*0)|(D_CmdQueryFlag_KeepOldInput*0)|(D_CmdQueryFlag_SelectOldInput*0)|(D_CmdQueryFlag_Required*1)}},
{ str8_lit_comp("disable_target"), str8_lit_comp("Disables a target."), str8_lit_comp(""), str8_lit_comp("Disable Target"), (D_CmdSpecFlag_ListInUI*1)|(D_CmdSpecFlag_ListInIPCDocs*1), {D_CmdParamSlot_Entity, D_EntityKind_Target, (D_CmdQueryFlag_AllowFiles*0)|(D_CmdQueryFlag_AllowFolders*0)|(D_CmdQueryFlag_CodeInput*0)|(D_CmdQueryFlag_KeepOldInput*0)|(D_CmdQueryFlag_SelectOldInput*0)|(D_CmdQueryFlag_Required*1)}},
{ str8_lit_comp("retry_ended_process"), str8_lit_comp("Launches a new process with the same options as the passed ended process."), str8_lit_comp(""), str8_lit_comp("Retry Ended Process"), (D_CmdSpecFlag_ListInUI*0)|(D_CmdSpecFlag_ListInIPCDocs*0), {D_CmdParamSlot_Entity, D_EntityKind_Process, (D_CmdQueryFlag_AllowFiles*0)|(D_CmdQueryFlag_AllowFolders*0)|(D_CmdQueryFlag_CodeInput*0)|(D_CmdQueryFlag_KeepOldInput*0)|(D_CmdQueryFlag_SelectOldInput*0)|(D_CmdQueryFlag_Required*0)}},
{ str8_lit_comp("attach"), str8_lit_comp("Attaches to a process that is already running on the local machine."), str8_lit_comp(""), str8_lit_comp("Attach"), (D_CmdSpecFlag_ListInUI*1)|(D_CmdSpecFlag_ListInIPCDocs*1), {D_CmdParamSlot_ID, D_EntityKind_Nil, (D_CmdQueryFlag_AllowFiles*0)|(D_CmdQueryFlag_AllowFolders*0)|(D_CmdQueryFlag_CodeInput*0)|(D_CmdQueryFlag_KeepOldInput*0)|(D_CmdQueryFlag_SelectOldInput*0)|(D_CmdQueryFlag_Required*1)}},
{ str8_lit_comp("register_as_jit_debugger"), str8_lit_comp("Registers the RAD debugger as the just-in-time (JIT) debugger used by the operating system."), str8_lit_comp(""), str8_lit_comp("Register As Just-In-Time (JIT) Debugger"), (D_CmdSpecFlag_ListInUI*1)|(D_CmdSpecFlag_ListInIPCDocs*1), {D_CmdParamSlot_Null, D_EntityKind_Nil, (D_CmdQueryFlag_AllowFiles*0)|(D_CmdQueryFlag_AllowFolders*0)|(D_CmdQueryFlag_CodeInput*0)|(D_CmdQueryFlag_KeepOldInput*0)|(D_CmdQueryFlag_SelectOldInput*0)|(D_CmdQueryFlag_Required*0)}},
{ str8_lit_comp("entity_ref_fast_path"), str8_lit_comp("Activates the default behavior when clicking an entity reference."), str8_lit_comp(""), str8_lit_comp("Entity Reference Fast Path"), (D_CmdSpecFlag_ListInUI*0)|(D_CmdSpecFlag_ListInIPCDocs*0), {D_CmdParamSlot_Null, D_EntityKind_Nil, (D_CmdQueryFlag_AllowFiles*0)|(D_CmdQueryFlag_AllowFolders*0)|(D_CmdQueryFlag_CodeInput*0)|(D_CmdQueryFlag_KeepOldInput*0)|(D_CmdQueryFlag_SelectOldInput*0)|(D_CmdQueryFlag_Required*0)}},
+5 -7
View File
@@ -81,7 +81,6 @@ D_EntityKind_PendingThreadName,
D_EntityKind_DebugInfoPath,
D_EntityKind_ConversionTask,
D_EntityKind_ConversionFail,
D_EntityKind_EndedProcess,
D_EntityKind_COUNT,
} D_EntityKind;
@@ -268,7 +267,6 @@ D_CmdKind_EditTarget,
D_CmdKind_SelectTarget,
D_CmdKind_EnableTarget,
D_CmdKind_DisableTarget,
D_CmdKind_RetryEndedProcess,
D_CmdKind_Attach,
D_CmdKind_RegisterAsJITDebugger,
D_CmdKind_EntityRefFastPath,
@@ -498,11 +496,11 @@ struct {B32 *value_ptr; String8 name;} DEV_toggle_table[] =
C_LINKAGE_BEGIN
extern Rng1U64 d_reg_slot_range_table[29];
extern Rng1U64 d_cmd_param_slot_range_table[24];
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_entity_kind_display_string_table[30];
extern String8 d_entity_kind_name_lower_table[30];
extern String8 d_entity_kind_name_lower_plural_table[30];
extern String8 d_entity_kind_name_label_table[30];
extern D_EntityKindFlags d_entity_kind_flags_table[30];
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];
@@ -289,7 +289,7 @@ DF_ViewSpecInfo df_g_gfx_view_kind_spec_info_table[34] =
{(0|0*DF_ViewSpecFlag_ParameterizedByEntity|0*DF_ViewSpecFlag_ProjectSpecific|1*DF_ViewSpecFlag_CanSerialize|1*DF_ViewSpecFlag_CanFilter|0*DF_ViewSpecFlag_FilterIsCode|1*DF_ViewSpecFlag_TypingAutomaticallyFilters), str8_lit_comp("settings"), str8_lit_comp("Settings"), DF_IconKind_Gear, DF_VIEW_SETUP_FUNCTION_NAME(settings), DF_VIEW_CMD_FUNCTION_NAME(settings), DF_VIEW_UI_FUNCTION_NAME(settings)},
};
DF_IconKind df_cmd_kind_icon_kind_table[221] =
DF_IconKind df_cmd_kind_icon_kind_table[220] =
{
DF_IconKind_Null,
DF_IconKind_X,
@@ -476,7 +476,6 @@ DF_IconKind_Null,
DF_IconKind_Null,
DF_IconKind_Null,
DF_IconKind_Null,
DF_IconKind_Null,
DF_IconKind_FileOutline,
DF_IconKind_Find,
DF_IconKind_Find,
@@ -514,7 +513,7 @@ DF_IconKind_Null,
DF_IconKind_Null,
};
DF_IconKind df_entity_kind_icon_kind_table[31] =
DF_IconKind df_entity_kind_icon_kind_table[30] =
{
DF_IconKind_Null,
DF_IconKind_Null,
@@ -546,7 +545,6 @@ DF_IconKind_Threads,
DF_IconKind_Module,
DF_IconKind_Null,
DF_IconKind_Null,
DF_IconKind_Null,
};
D_CmdParamSlot df_g_cmd_param_slot_2_view_spec_src_map[7] =
@@ -359,8 +359,8 @@ extern String8 df_g_binding_version_remap_new_name_table[7];
extern String8 df_g_icon_kind_text_table[69];
extern String8 df_view_kind_name_lower_table[34];
extern DF_ViewSpecInfo df_g_gfx_view_kind_spec_info_table[34];
extern DF_IconKind df_cmd_kind_icon_kind_table[221];
extern DF_IconKind df_entity_kind_icon_kind_table[31];
extern DF_IconKind df_cmd_kind_icon_kind_table[220];
extern DF_IconKind df_entity_kind_icon_kind_table[30];
extern D_CmdParamSlot df_g_cmd_param_slot_2_view_spec_src_map[7];
extern String8 df_g_cmd_param_slot_2_view_spec_dst_map[7];
extern String8 df_g_cmd_param_slot_2_view_spec_cmd_map[7];