p2r2 - final conversion output bundling

This commit is contained in:
Ryan Fleury
2025-08-19 17:02:05 -07:00
parent cdec8d5980
commit be5634c448
2 changed files with 51 additions and 35 deletions
+24 -9
View File
@@ -21,6 +21,7 @@ p2r2_convert(Arena **thread_arenas, U64 thread_count, P2R_ConvertParams *in)
thread_params[idx].input_pdb_name = in->input_pdb_name; thread_params[idx].input_pdb_name = in->input_pdb_name;
thread_params[idx].input_pdb_data = in->input_pdb_data; thread_params[idx].input_pdb_data = in->input_pdb_data;
thread_params[idx].deterministic = in->deterministic; thread_params[idx].deterministic = in->deterministic;
thread_params[idx].out_bake_params = &result;
} }
for EachIndex(idx, thread_count) for EachIndex(idx, thread_count)
{ {
@@ -1241,7 +1242,7 @@ p2r2_convert_thread_entry_point(void *p)
} }
} }
lane_sync(); lane_sync();
RDIM_UnitChunkList *all_units = &p2r2_shared->all_units; RDIM_UnitChunkList all_units = p2r2_shared->all_units;
RDIM_LineTableChunkList *lanes_line_tables = p2r2_shared->lanes_line_tables; RDIM_LineTableChunkList *lanes_line_tables = p2r2_shared->lanes_line_tables;
RDIM_LineTable **lanes_first_inline_site_line_tables = p2r2_shared->lanes_first_inline_site_line_tables; RDIM_LineTable **lanes_first_inline_site_line_tables = p2r2_shared->lanes_first_inline_site_line_tables;
@@ -1272,11 +1273,13 @@ p2r2_convert_thread_entry_point(void *p)
RDIM_LineTable *line_table = &line_table_chunk_n->v[chunk_line_table_idx]; RDIM_LineTable *line_table = &line_table_chunk_n->v[chunk_line_table_idx];
for(RDIM_LineSequenceNode *s = line_table->first_seq; s != 0; s = s->next) for(RDIM_LineSequenceNode *s = line_table->first_seq; s != 0; s = s->next)
{ {
rdim_src_file_push_line_sequence(arena, &all_src_files__sequenceless, s->v.src_file, &s->v); rdim_src_file_push_line_sequence(arena, &p2r2_shared->all_src_files__sequenceless, s->v.src_file, &s->v);
} }
} }
} }
} }
lane_sync();
RDIM_SrcFileChunkList all_src_files = p2r2_shared->all_src_files__sequenceless;
////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////
//- rjf: types pass 1: produce type forward resolution map //- rjf: types pass 1: produce type forward resolution map
@@ -3951,13 +3954,12 @@ p2r2_convert_thread_entry_point(void *p)
RDIM_InlineSiteChunkList all_inline_sites = p2r2_shared->all_inline_sites; RDIM_InlineSiteChunkList all_inline_sites = p2r2_shared->all_inline_sites;
RDIM_TypeChunkList all_types = p2r2_shared->all_types; RDIM_TypeChunkList all_types = p2r2_shared->all_types;
//-
//-
//--
////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////
//- rjf: produce top-level-info //- rjf: bundle all outputs
// //
if(lane_idx() == 0)
{
//- rjf: produce top-level-info
RDIM_TopLevelInfo top_level_info = {0}; RDIM_TopLevelInfo top_level_info = {0};
{ {
top_level_info.arch = arch; top_level_info.arch = arch;
@@ -3970,9 +3972,7 @@ p2r2_convert_thread_entry_point(void *p)
} }
} }
//////////////////////////////////////////////////////////////
//- rjf: build binary sections list //- rjf: build binary sections list
//
RDIM_BinarySectionList binary_sections = {0}; RDIM_BinarySectionList binary_sections = {0};
ProfScope("build binary section list") ProfScope("build binary section list")
{ {
@@ -3992,4 +3992,19 @@ p2r2_convert_thread_entry_point(void *p)
} }
} }
//- rjf: fill
params->out_bake_params->top_level_info = top_level_info;
params->out_bake_params->binary_sections = binary_sections;
params->out_bake_params->units = all_units;
params->out_bake_params->types = all_types;
params->out_bake_params->udts = all_udts;
params->out_bake_params->src_files = all_src_files;
params->out_bake_params->line_tables = all_line_tables;
params->out_bake_params->global_variables = all_global_variables;
params->out_bake_params->thread_variables = all_thread_variables;
params->out_bake_params->constants = all_constants;
params->out_bake_params->procedures = all_procedures;
params->out_bake_params->scopes = all_scopes;
params->out_bake_params->inline_sites = all_inline_sites;
}
} }
+1
View File
@@ -14,6 +14,7 @@ struct P2R2_ConvertThreadParams
String8 input_pdb_name; String8 input_pdb_name;
String8 input_pdb_data; String8 input_pdb_data;
B32 deterministic; B32 deterministic;
RDIM_BakeParams *out_bake_params;
}; };
typedef struct P2R2_SymBlock P2R2_SymBlock; typedef struct P2R2_SymBlock P2R2_SymBlock;