mirror of
https://github.com/Ed94/raddebugger.git
synced 2026-07-17 14:51:26 -07:00
checkpoint
This commit is contained in:
@@ -4007,9 +4007,7 @@ d_tick(Arena *arena, D_TargetArray *targets, D_BreakpointArray *breakpoints)
|
||||
D_Entity *selected_thread = d_entity_from_handle(d_regs()->thread);
|
||||
if(!d_entity_is_nil(selected_thread))
|
||||
{
|
||||
D_CmdParams params = d_cmd_params_zero();
|
||||
params.entity = d_handle_from_entity(selected_thread);
|
||||
df_push_cmd(d_cmd_spec_from_kind(DF_CmdKind_FindThread), ¶ms);
|
||||
df_cmd(DF_CmdKind_FindThread, .thread = d_handle_from_entity(selected_thread));
|
||||
}
|
||||
}
|
||||
|
||||
@@ -4915,7 +4913,7 @@ d_tick(Arena *arena, D_TargetArray *targets, D_BreakpointArray *breakpoints)
|
||||
d_state->base_regs.v.thread = d_handle_from_entity(thread);
|
||||
d_state->base_regs.v.module = d_handle_from_entity(module);
|
||||
d_state->base_regs.v.process = d_handle_from_entity(process);
|
||||
df_push_cmd(df_cmd_spec_from_kind(DF_CmdKind_FindThread), ¶ms);
|
||||
df_cmd(DF_CmdKind_FindThread, .thread = d_handle_from_entity(thread));
|
||||
}break;
|
||||
case D_CmdKind_SelectUnwind:
|
||||
{
|
||||
@@ -4934,7 +4932,7 @@ d_tick(Arena *arena, D_TargetArray *targets, D_BreakpointArray *breakpoints)
|
||||
d_state->base_regs.v.inline_depth = params.inline_depth;
|
||||
}
|
||||
}
|
||||
df_push_cmd(df_cmd_spec_from_kind(DF_CmdKind_FindThread), ¶ms);
|
||||
df_cmd(DF_CmdKind_FindThread, .thread = d_handle_from_entity(thread));
|
||||
di_scope_close(di_scope);
|
||||
}break;
|
||||
case D_CmdKind_UpOneFrame:
|
||||
|
||||
@@ -59,6 +59,8 @@ DF_RegTable:
|
||||
{TXT_LangKind lang_kind LangKind }
|
||||
{D_LineList lines Lines }
|
||||
{DI_Key dbgi_key DbgiKey }
|
||||
{U64 vaddr Vaddr }
|
||||
{U64 voff Voff }
|
||||
{Rng1U64 vaddr_range VaddrRange }
|
||||
{Rng1U64 voff_range VoffRange }
|
||||
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@@ -411,7 +411,7 @@ typedef struct DF_Cmd DF_Cmd;
|
||||
struct DF_Cmd
|
||||
{
|
||||
D_CmdSpec *spec;
|
||||
D_CmdParams params;
|
||||
DF_Regs *regs;
|
||||
};
|
||||
|
||||
typedef struct DF_CmdNode DF_CmdNode;
|
||||
@@ -857,7 +857,7 @@ internal DF_Regs *df_regs_copy(Arena *arena, DF_Regs *src);
|
||||
////////////////////////////////
|
||||
//~ rjf: Commands Type Functions
|
||||
|
||||
internal void df_cmd_list_push_new(Arena *arena, DF_CmdList *cmds, D_CmdSpec *spec, D_CmdParams *params);
|
||||
internal void df_cmd_list_push_new(Arena *arena, DF_CmdList *cmds, D_CmdSpec *spec, DF_Regs *regs);
|
||||
|
||||
////////////////////////////////
|
||||
//~ rjf: View Type Functions
|
||||
@@ -1079,9 +1079,11 @@ internal D_CfgTable *df_cfg_table(void);
|
||||
|
||||
internal DF_Regs *df_regs(void);
|
||||
internal DF_Regs *df_base_regs(void);
|
||||
internal DF_Regs *df_push_regs(void);
|
||||
internal DF_Regs *df_push_regs_(DF_Regs *regs);
|
||||
#define df_push_regs(...) df_push_regs_(&(DF_Regs){df_regs_lit_init_top __VA_ARGS__})
|
||||
internal DF_Regs *df_pop_regs(void);
|
||||
#define DF_RegsScope DeferLoop(df_push_regs(), df_pop_regs())
|
||||
#define DF_RegsScope(...) DeferLoop(df_push_regs(__VA_ARGS__), df_pop_regs())
|
||||
internal void df_regs_fill_from_string(D_CmdSpec *spec, String8 string);
|
||||
|
||||
////////////////////////////////
|
||||
//~ rjf: Commands
|
||||
@@ -1091,15 +1093,8 @@ internal D_CmdSpec *df_cmd_spec_from_kind(DF_CmdKind kind);
|
||||
internal DF_CmdKind df_cmd_kind_from_string(String8 string);
|
||||
|
||||
//- rjf: pushing
|
||||
internal void df_push_cmd(D_CmdSpec *spec, D_CmdParams *params);
|
||||
#define df_cmd(kind, ...) df_push_cmd(df_cmd_spec_from_kind(kind), \
|
||||
&(D_CmdParams) \
|
||||
{ \
|
||||
.window = d_regs()->window, \
|
||||
.panel = d_regs()->panel, \
|
||||
.view = d_regs()->view, \
|
||||
__VA_ARGS__ \
|
||||
})
|
||||
internal void df_push_cmd(D_CmdSpec *spec, DF_Regs *regs);
|
||||
#define df_cmd(kind, ...) df_push_cmd(df_cmd_spec_from_kind(kind), &(DF_Regs){df_regs_lit_init_top __VA_ARGS__})
|
||||
|
||||
//- rjf: iterating
|
||||
internal B32 df_next_cmd(DF_Cmd **cmd);
|
||||
|
||||
@@ -28,7 +28,7 @@ DF_CmdKind_Null,
|
||||
DF_CmdKind_Null,
|
||||
};
|
||||
|
||||
Rng1U64 df_reg_slot_range_table[29] =
|
||||
Rng1U64 df_reg_slot_range_table[31] =
|
||||
{
|
||||
{0},
|
||||
{OffsetOf(DF_Regs, machine), OffsetOf(DF_Regs, machine) + sizeof(D_Handle)},
|
||||
@@ -51,6 +51,8 @@ Rng1U64 df_reg_slot_range_table[29] =
|
||||
{OffsetOf(DF_Regs, lang_kind), OffsetOf(DF_Regs, lang_kind) + sizeof(TXT_LangKind)},
|
||||
{OffsetOf(DF_Regs, lines), OffsetOf(DF_Regs, lines) + sizeof(D_LineList)},
|
||||
{OffsetOf(DF_Regs, dbgi_key), OffsetOf(DF_Regs, dbgi_key) + sizeof(DI_Key)},
|
||||
{OffsetOf(DF_Regs, vaddr), OffsetOf(DF_Regs, vaddr) + sizeof(U64)},
|
||||
{OffsetOf(DF_Regs, voff), OffsetOf(DF_Regs, voff) + sizeof(U64)},
|
||||
{OffsetOf(DF_Regs, vaddr_range), OffsetOf(DF_Regs, vaddr_range) + sizeof(Rng1U64)},
|
||||
{OffsetOf(DF_Regs, voff_range), OffsetOf(DF_Regs, voff_range) + sizeof(Rng1U64)},
|
||||
{OffsetOf(DF_Regs, pid), OffsetOf(DF_Regs, pid) + sizeof(U32)},
|
||||
|
||||
@@ -29,6 +29,8 @@ DF_RegSlot_TextKey,
|
||||
DF_RegSlot_LangKind,
|
||||
DF_RegSlot_Lines,
|
||||
DF_RegSlot_DbgiKey,
|
||||
DF_RegSlot_Vaddr,
|
||||
DF_RegSlot_Voff,
|
||||
DF_RegSlot_VaddrRange,
|
||||
DF_RegSlot_VoffRange,
|
||||
DF_RegSlot_PID,
|
||||
@@ -519,6 +521,8 @@ U128 text_key;
|
||||
TXT_LangKind lang_kind;
|
||||
D_LineList lines;
|
||||
DI_Key dbgi_key;
|
||||
U64 vaddr;
|
||||
U64 voff;
|
||||
Rng1U64 vaddr_range;
|
||||
Rng1U64 voff_range;
|
||||
U32 pid;
|
||||
@@ -550,6 +554,8 @@ MD_Node * params_tree;
|
||||
.lang_kind = df_regs()->lang_kind,\
|
||||
.lines = df_regs()->lines,\
|
||||
.dbgi_key = df_regs()->dbgi_key,\
|
||||
.vaddr = df_regs()->vaddr,\
|
||||
.voff = df_regs()->voff,\
|
||||
.vaddr_range = df_regs()->vaddr_range,\
|
||||
.voff_range = df_regs()->voff_range,\
|
||||
.pid = df_regs()->pid,\
|
||||
@@ -678,7 +684,7 @@ C_LINKAGE_BEGIN
|
||||
extern DF_CmdKind d_cfg_src_load_cmd_kind_table[4];
|
||||
extern DF_CmdKind d_cfg_src_write_cmd_kind_table[4];
|
||||
extern DF_CmdKind d_cfg_src_apply_cmd_kind_table[4];
|
||||
extern Rng1U64 df_reg_slot_range_table[29];
|
||||
extern Rng1U64 df_reg_slot_range_table[31];
|
||||
extern DF_StringBindingPair df_g_default_binding_table[110];
|
||||
extern String8 df_g_binding_version_remap_old_name_table[7];
|
||||
extern String8 df_g_binding_version_remap_new_name_table[7];
|
||||
|
||||
Reference in New Issue
Block a user