mask off more work based on subset flags from baker

This commit is contained in:
Ryan Fleury
2025-10-15 15:44:04 -07:00
parent d9d321c074
commit 25beda50ca
3 changed files with 26 additions and 9 deletions
+16 -7
View File
@@ -325,19 +325,21 @@ X(Types, types)\
X(UDTs, udts)\
X(LineInfo, line_info)\
X(InlineLineInfo, inline_line_info)\
X(GlobalVariableNameMap, global_variable_name_map)\
X(ThreadVariableNameMap, thread_variable_name_map)\
X(ProcedureNameMap, procedure_name_map)\
X(ConstantNameMap, constant_name_map)\
X(TypeNameMap, type_name_map)\
X(LinkNameProcedureNameMap, link_name_procedure_name_map)\
X(NormalSourcePathNameMap, normal_source_path_name_map)\
Y(GlobalVariableNameMap, global_variable_name_map)\
Y(ThreadVariableNameMap, thread_variable_name_map)\
Y(ProcedureNameMap, procedure_name_map)\
Y(ConstantNameMap, constant_name_map)\
Y(TypeNameMap, type_name_map)\
Y(LinkNameProcedureNameMap, link_name_procedure_name_map)\
Y(NormalSourcePathNameMap, normal_source_path_name_map)\
typedef enum RDIM_Subset
{
#define X(name, name_lower) RDIM_Subset_##name,
#define Y(name, name_lower) RDIM_Subset_##name,
RDIM_Subset_XList
#undef X
#undef Y
}
RDIM_Subset;
@@ -345,8 +347,15 @@ typedef U32 RDIM_SubsetFlags;
enum
{
#define X(name, name_lower) RDIM_SubsetFlag_##name = (1<<RDIM_Subset_##name),
#define Y(name, name_lower) RDIM_SubsetFlag_##name = (1<<RDIM_Subset_##name),
RDIM_Subset_XList
#undef X
#undef Y
#define X(name, name_lower)
#define Y(name, name_lower) |RDIM_SubsetFlag_##name
RDIM_SubsetFlag_NameMaps = 0 RDIM_Subset_XList,
#undef X
#undef Y
RDIM_SubsetFlag_All = 0xffffffffu,
};
+6
View File
@@ -563,8 +563,10 @@ rb_thread_entry_point(void *p)
fprintf(stderr, "RAD DEBUG INFO SUBSET NAMES\n\n");
#define X(name, name_lower) fprintf(stderr, " - " #name_lower "\n");
#define Y(name, name_lower) X(name, name_lower)
RDIM_Subset_XList
#undef X
#undef Y
}break;
case OutputKind_Breakpad:
{
@@ -589,16 +591,20 @@ rb_thread_entry_point(void *p)
{
if(0){}
#define X(name, name_lower) else if(str8_match(n->string, str8_lit(#name_lower), 0)) { subset_flags |= RDIM_SubsetFlag_##name; }
#define Y(name, name_lower) X(name, name_lower)
RDIM_Subset_XList
#undef X
#undef Y
}
String8List omit_names = cmd_line_strings(cmdline, str8_lit("omit"));
for(String8Node *n = omit_names.first; n != 0; n = n->next)
{
if(0){}
#define X(name, name_lower) else if(str8_match(n->string, str8_lit(#name_lower), 0)) { subset_flags &= ~RDIM_SubsetFlag_##name; }
#define Y(name, name_lower) X(name, name_lower)
RDIM_Subset_XList
#undef X
#undef Y
}
}break;
case OutputKind_Breakpad:
+4 -2
View File
@@ -1212,7 +1212,9 @@ rdim_bake(Arena *arena, RDIM_BakeParams *params)
//////////////////////////////////////////////////////////////
//- rjf: @rdim_bake_stage build index runs
//
ProfScope("build index runs")
B32 need_index_runs = (!!(params->subset_flags & RDIM_SubsetFlag_NameMaps) ||
!!(params->subset_flags & RDIM_SubsetFlag_Types));
if(need_index_runs) ProfScope("build index runs")
{
Temp scratch = scratch_begin(&arena, 1);
@@ -1501,7 +1503,7 @@ rdim_bake(Arena *arena, RDIM_BakeParams *params)
//////////////////////////////////////////////////////////////
//- rjf: @rdim_bake_stage bake idx runs
//
ProfScope("bake idx runs")
if(need_index_runs) ProfScope("bake idx runs")
{
// rjf: set up
if(lane_idx() == 0)