switch rdi_from_pdb to new async layer, off of old task system

This commit is contained in:
Ryan Fleury
2024-11-01 14:44:56 -07:00
parent 86d9b792d8
commit 79bcbe4b39
7 changed files with 3055 additions and 216 deletions
File diff suppressed because it is too large Load Diff
+29
View File
@@ -524,6 +524,22 @@ struct P2R_BakeIdxRunsIn
RDIM_BakeIdxRunMap *idx_runs;
};
////////////////////////////////
//~ rjf: Top-Level State
typedef struct P2R_State P2R_State;
struct P2R_State
{
Arena *arena;
U64 work_thread_arenas_count;
Arena **work_thread_arenas;
};
////////////////////////////////
//~ rjf: Globals
global P2R_State *p2r_state = 0;
////////////////////////////////
//~ rjf: Basic Helpers
@@ -559,6 +575,14 @@ internal void p2r_location_over_lvar_addr_range(Arena *arena, RDIM_ScopeChunkLis
////////////////////////////////
//~ rjf: Initial Parsing & Preparation Pass Tasks
ASYNC_WORK_DEF(p2r_exe_hash_work);
ASYNC_WORK_DEF(p2r_tpi_hash_parse_work);
ASYNC_WORK_DEF(p2r_tpi_leaf_work);
ASYNC_WORK_DEF(p2r_symbol_stream_parse_work);
ASYNC_WORK_DEF(p2r_c13_stream_parse_work);
ASYNC_WORK_DEF(p2r_comp_unit_parse_work);
ASYNC_WORK_DEF(p2r_comp_unit_contributions_parse_work);
internal TS_TASK_FUNCTION_DEF(p2r_exe_hash_task__entry_point);
internal TS_TASK_FUNCTION_DEF(p2r_tpi_hash_parse_task__entry_point);
internal TS_TASK_FUNCTION_DEF(p2r_tpi_leaf_parse_task__entry_point);
@@ -638,6 +662,11 @@ internal TS_TASK_FUNCTION_DEF(p2r_bake_type_nodes_task__entry_point);
internal TS_TASK_FUNCTION_DEF(p2r_bake_name_map_task__entry_point);
internal TS_TASK_FUNCTION_DEF(p2r_bake_idx_runs_task__entry_point);
////////////////////////////////
//~ rjf: Top-Level Initialization
internal void p2r_init(void);
////////////////////////////////
//~ rjf: Top-Level Baking Entry Point
+2 -2
View File
@@ -24,7 +24,7 @@
#include "base/base_inc.h"
#include "os/os_inc.h"
#include "async/async.h"
#include "task_system/task_system.h"
// #include "task_system/task_system.h"
#include "rdi_make/rdi_make_local.h"
#include "coff/coff.h"
#include "codeview/codeview.h"
@@ -40,7 +40,7 @@
#include "base/base_inc.c"
#include "os/os_inc.c"
#include "async/async.c"
#include "task_system/task_system.c"
//#include "task_system/task_system.c"
#include "rdi_make/rdi_make_local.c"
#include "coff/coff.c"
#include "codeview/codeview.c"