increase hash store history limit; fix incorrectly skipping important go-to-code-location commands

This commit is contained in:
Ryan Fleury
2024-10-08 17:02:49 -07:00
parent aea1999af0
commit 05045c8db0
8 changed files with 13 additions and 20 deletions
+2 -1
View File
@@ -11109,6 +11109,7 @@ rd_frame(void)
//- rjf: loop - consume events in core, tick engine, and repeat
//
CTRL_Handle find_thread_retry = {0};
RD_Cmd *cmd = 0;
for(U64 cmd_process_loop_idx = 0; cmd_process_loop_idx < 3; cmd_process_loop_idx += 1)
{
////////////////////////////
@@ -11422,7 +11423,7 @@ rd_frame(void)
B32 panel_reset_done = 0;
if(depth == 0)
{
for(RD_Cmd *cmd = 0; rd_next_cmd(&cmd);) RD_RegsScope()
for(;rd_next_cmd(&cmd);) RD_RegsScope()
{
// rjf: unpack command
RD_CmdKind kind = rd_cmd_kind_from_string(cmd->name);
+3 -13
View File
@@ -395,16 +395,12 @@ rd_code_view_build(Arena *arena, RD_CodeViewState *cv, RD_CodeViewBuildFlags fla
//- rjf: find text (forward)
if(cv->find_text_fwd.size != 0)
{
Temp scratch = scratch_begin(0, 0);
B32 found = 0;
B32 first = 1;
S64 line_num_start = rd_regs()->cursor.line;
S64 line_num_last = (S64)text_info->lines_count;
for(S64 line_num = line_num_start;; first = 0)
for(S64 line_num = line_num_start; 1 <= line_num && line_num <= line_num_last; first = 0)
{
// rjf: pop scratch
temp_end(scratch);
// rjf: gather line info
String8 line_string = str8_substr(text_data, text_info->lines_ranges[line_num-1]);
U64 search_start = 0;
@@ -442,22 +438,17 @@ rd_code_view_build(Arena *arena, RD_CodeViewState *cv, RD_CodeViewBuildFlags fla
{
log_user_errorf("Could not find \"%S\"", cv->find_text_fwd);
}
scratch_end(scratch);
}
//- rjf: find text (backward)
if(cv->find_text_bwd.size != 0)
{
Temp scratch = scratch_begin(0, 0);
B32 found = 0;
B32 first = 1;
S64 line_num_start = rd_regs()->cursor.line;
S64 line_num_last = (S64)text_info->lines_count;
for(S64 line_num = line_num_start;; first = 0)
for(S64 line_num = line_num_start; 1 <= line_num && line_num <= line_num_last; first = 0)
{
// rjf: pop scratch
temp_end(scratch);
// rjf: gather line info
String8 line_string = str8_substr(text_data, text_info->lines_ranges[line_num-1]);
if(rd_regs()->cursor.line == line_num && first)
@@ -503,7 +494,6 @@ rd_code_view_build(Arena *arena, RD_CodeViewState *cv, RD_CodeViewBuildFlags fla
{
log_user_errorf("Could not find \"%S\"", cv->find_text_bwd);
}
scratch_end(scratch);
}
MemoryZeroStruct(&cv->find_text_fwd);
@@ -6062,7 +6052,7 @@ RD_VIEW_RULE_UI_FUNCTION_DEF(text)
//- rjf: build code contents
//
DI_KeyList dbgi_keys = {0};
if(!file_is_missing && info.lines_count != 0)
if(!file_is_missing)
{
RD_CodeViewBuildResult result = rd_code_view_build(scratch.arena, cv, RD_CodeViewBuildFlag_All, code_area_rect, data, &info, 0, r1u64(0, 0), di_key_zero());
dbgi_keys = result.dbgi_keys;