merged rdim_help.c into rdim_local.c

This commit is contained in:
Nikita Smith
2025-03-26 12:19:16 -07:00
parent 7d5110e752
commit a63254b70d
17 changed files with 1528 additions and 1543 deletions
+4 -4
View File
@@ -362,12 +362,12 @@ rc_run(Arena *arena, RC_Context *rc)
Temp scratch = scratch_begin(&arena, 1);
ProfBegin("Convert");
RDIM_HelpState *help_state = rdim_help_init();
RDIM_LocalState *local_state = rdim_local_init();
RDIM_BakeParams *convert2bake = 0;
switch (rc->driver) {
case RC_Driver_Null: break;
case RC_Driver_Dwarf: convert2bake = d2r_convert(scratch.arena, help_state, rc); break;
case RC_Driver_Pdb: convert2bake = p2r_convert(scratch.arena, help_state, rc); break;
case RC_Driver_Dwarf: convert2bake = d2r_convert(scratch.arena, local_state, rc); break;
case RC_Driver_Pdb: convert2bake = p2r_convert(scratch.arena, local_state, rc); break;
}
ProfEnd();
@@ -376,7 +376,7 @@ rc_run(Arena *arena, RC_Context *rc)
}
ProfBegin("Bake");
RDIM_BakeResults bake2srlz = rdim_bake(help_state, convert2bake);
RDIM_BakeResults bake2srlz = rdim_bake(local_state, convert2bake);
ProfEnd();
ProfBegin("Serialize Bake");
+2 -2
View File
@@ -787,7 +787,7 @@ d2r_push_scope(Arena *arena, RDIM_ScopeChunkList *scopes, U64 scope_chunk_cap, D
}
internal RDIM_BakeParams *
d2r_convert(Arena *arena, RDIM_HelpState *help_state, RC_Context *in)
d2r_convert(Arena *arena, RDIM_LocalState *local_state, RC_Context *in)
{
Temp scratch = scratch_begin(&arena, 1);
@@ -1799,7 +1799,7 @@ d2r_convert(Arena *arena, RDIM_HelpState *help_state, RC_Context *in)
}
internal RDIM_BakeResults
d2r_bake(RDIM_HelpState *state, RDIM_BakeParams *in_params)
d2r_bake(RDIM_LocalState *state, RDIM_BakeParams *in_params)
{
return rdim_bake(state, in_params);
}
+1 -1
View File
@@ -30,7 +30,7 @@ typedef struct D2R_CompUnitContribMap
////////////////////////////////
internal RDIM_BakeParams * d2r_convert(Arena *arena, RDIM_HelpState *help_state, RC_Context *in);
internal RDIM_BakeParams * d2r_convert(Arena *arena, RDIM_LocalState *local_state, RC_Context *in);
////////////////////////////////
-2
View File
@@ -29,7 +29,6 @@
#include "async/async.h"
#include "path/path.h"
#include "rdi_make/rdi_make_local.h"
#include "rdi_make/rdi_make_help.h"
#include "linker/hash_table.h"
#include "coff/coff.h"
#include "coff/coff_parse.h"
@@ -62,7 +61,6 @@
#include "async/async.c"
#include "path/path.c"
#include "rdi_make/rdi_make_local.c"
#include "rdi_make/rdi_make_help.c"
#include "linker/hash_table.c"
#include "coff/coff.c"
#include "coff/coff_parse.c"
+14 -14
View File
@@ -6,7 +6,7 @@
//
// (search for != 0 instances, inserted to prevent prior crashes)
global RDIM_HelpState *g_p2r_help_state = 0;
global RDIM_LocalState *g_p2r_local_state = 0;
////////////////////////////////
//~ rjf: Basic Helpers
@@ -116,7 +116,7 @@ p2r_location_over_lvar_addr_range(Arena *arena, RDIM_ScopeChunkList *scopes, RDI
ASYNC_WORK_DEF(p2r_exe_hash_work)
{
ProfBeginFunction();
Arena *arena = g_p2r_help_state->work_thread_arenas[thread_idx];
Arena *arena = g_p2r_local_state->work_thread_arenas[thread_idx];
P2R_EXEHashIn *in = (P2R_EXEHashIn *)input;
U64 *out = push_array(arena, U64, 1);
ProfScope("hash exe") *out = rdi_hash(in->exe_data.str, in->exe_data.size);
@@ -127,7 +127,7 @@ ASYNC_WORK_DEF(p2r_exe_hash_work)
ASYNC_WORK_DEF(p2r_tpi_hash_parse_work)
{
ProfBeginFunction();
Arena *arena = g_p2r_help_state->work_thread_arenas[thread_idx];
Arena *arena = g_p2r_local_state->work_thread_arenas[thread_idx];
P2R_TPIHashParseIn *in = (P2R_TPIHashParseIn *)input;
void *out = 0;
ProfScope("parse tpi hash") out = pdb_tpi_hash_from_data(arena, in->strtbl, in->tpi, in->hash_data, in->aux_data);
@@ -138,7 +138,7 @@ ASYNC_WORK_DEF(p2r_tpi_hash_parse_work)
ASYNC_WORK_DEF(p2r_tpi_leaf_parse_work)
{
ProfBeginFunction();
Arena *arena = g_p2r_help_state->work_thread_arenas[thread_idx];
Arena *arena = g_p2r_local_state->work_thread_arenas[thread_idx];
P2R_TPILeafParseIn *in = (P2R_TPILeafParseIn *)input;
void *out = 0;
ProfScope("parse tpi leaf") out = cv_leaf_from_data(arena, in->leaf_data, in->itype_first);
@@ -149,7 +149,7 @@ ASYNC_WORK_DEF(p2r_tpi_leaf_parse_work)
ASYNC_WORK_DEF(p2r_symbol_stream_parse_work)
{
ProfBeginFunction();
Arena *arena = g_p2r_help_state->work_thread_arenas[thread_idx];
Arena *arena = g_p2r_local_state->work_thread_arenas[thread_idx];
P2R_SymbolStreamParseIn *in = (P2R_SymbolStreamParseIn *)input;
void *out = 0;
ProfScope("parse symbol stream") out = cv_sym_from_data(arena, in->data, 4);
@@ -160,7 +160,7 @@ ASYNC_WORK_DEF(p2r_symbol_stream_parse_work)
ASYNC_WORK_DEF(p2r_c13_stream_parse_work)
{
ProfBeginFunction();
Arena *arena = g_p2r_help_state->work_thread_arenas[thread_idx];
Arena *arena = g_p2r_local_state->work_thread_arenas[thread_idx];
P2R_C13StreamParseIn *in = (P2R_C13StreamParseIn *)input;
void *out = 0;
ProfScope("parse c13 stream") out = cv_c13_parsed_from_data(arena, in->data, in->strtbl, in->coff_sections);
@@ -171,7 +171,7 @@ ASYNC_WORK_DEF(p2r_c13_stream_parse_work)
ASYNC_WORK_DEF(p2r_comp_unit_parse_work)
{
ProfBeginFunction();
Arena *arena = g_p2r_help_state->work_thread_arenas[thread_idx];
Arena *arena = g_p2r_local_state->work_thread_arenas[thread_idx];
P2R_CompUnitParseIn *in = (P2R_CompUnitParseIn *)input;
void *out = 0;
ProfScope("parse comp units") out = pdb_comp_unit_array_from_data(arena, in->data);
@@ -182,7 +182,7 @@ ASYNC_WORK_DEF(p2r_comp_unit_parse_work)
ASYNC_WORK_DEF(p2r_comp_unit_contributions_parse_work)
{
ProfBeginFunction();
Arena *arena = g_p2r_help_state->work_thread_arenas[thread_idx];
Arena *arena = g_p2r_local_state->work_thread_arenas[thread_idx];
P2R_CompUnitContributionsParseIn *in = (P2R_CompUnitContributionsParseIn *)input;
void *out = 0;
ProfScope("parse comp unit contributions") out = pdb_comp_unit_contribution_array_from_data(arena, in->data, in->coff_sections);
@@ -196,7 +196,7 @@ ASYNC_WORK_DEF(p2r_comp_unit_contributions_parse_work)
ASYNC_WORK_DEF(p2r_units_convert_work)
{
ProfBeginFunction();
Arena *arena = g_p2r_help_state->work_thread_arenas[thread_idx];
Arena *arena = g_p2r_local_state->work_thread_arenas[thread_idx];
Temp scratch = scratch_begin(&arena, 1);
P2R_UnitConvertIn *in = (P2R_UnitConvertIn *)input;
P2R_UnitConvertOut *out = push_array(arena, P2R_UnitConvertOut, 1);
@@ -555,7 +555,7 @@ ASYNC_WORK_DEF(p2r_units_convert_work)
ASYNC_WORK_DEF(p2r_link_name_map_build_work)
{
ProfBeginFunction();
Arena *arena = g_p2r_help_state->work_thread_arenas[thread_idx];
Arena *arena = g_p2r_local_state->work_thread_arenas[thread_idx];
P2R_LinkNameMapBuildIn *in = (P2R_LinkNameMapBuildIn *)input;
CV_RecRange *rec_ranges_first = in->sym->sym_ranges.ranges;
CV_RecRange *rec_ranges_opl = rec_ranges_first + in->sym->sym_ranges.count;
@@ -613,7 +613,7 @@ ASYNC_WORK_DEF(p2r_link_name_map_build_work)
ASYNC_WORK_DEF(p2r_udt_convert_work)
{
ProfBeginFunction();
Arena *arena = g_p2r_help_state->work_thread_arenas[thread_idx];
Arena *arena = g_p2r_local_state->work_thread_arenas[thread_idx];
P2R_UDTConvertIn *in = (P2R_UDTConvertIn *)input;
#define p2r_type_ptr_from_itype(itype) ((in->itype_type_ptrs && (itype) < in->tpi_leaf->itype_opl) ? (in->itype_type_ptrs[itype]) : 0)
RDIM_UDTChunkList *udts = push_array(arena, RDIM_UDTChunkList, 1);
@@ -1250,7 +1250,7 @@ ASYNC_WORK_DEF(p2r_udt_convert_work)
ASYNC_WORK_DEF(p2r_symbol_stream_convert_work)
{
ProfBeginFunction();
Arena *arena = g_p2r_help_state->work_thread_arenas[thread_idx];
Arena *arena = g_p2r_local_state->work_thread_arenas[thread_idx];
Temp scratch = scratch_begin(&arena, 1);
P2R_SymbolStreamConvertIn *in = (P2R_SymbolStreamConvertIn *)input;
#define p2r_type_ptr_from_itype(itype) ((in->itype_type_ptrs && (itype) < in->tpi_leaf->itype_opl) ? (in->itype_type_ptrs[itype]) : 0)
@@ -2125,11 +2125,11 @@ ASYNC_WORK_DEF(p2r_symbol_stream_convert_work)
//~ rjf: Top-Level Conversion Entry Point
internal RDIM_BakeParams *
p2r_convert(Arena *arena, RDIM_HelpState *help_state, RC_Context *in)
p2r_convert(Arena *arena, RDIM_LocalState *local_state, RC_Context *in)
{
Temp scratch = scratch_begin(&arena, 1);
g_p2r_help_state = help_state;
g_p2r_local_state = local_state;
//////////////////////////////////////////////////////////////
//- rjf: parse MSF structure
+1 -1
View File
@@ -226,7 +226,7 @@ ASYNC_WORK_DEF(p2r_symbol_stream_convert_work);
////////////////////////////////
//~ rjf: Top-Level Conversion Entry Point
internal RDIM_BakeParams *p2r_convert(Arena *arena, RDIM_HelpState *help_state, RC_Context *in);
internal RDIM_BakeParams *p2r_convert(Arena *arena, RDIM_LocalState *local_state, RC_Context *in);
////////////////////////////////