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(UDTs, udts)\
X(LineInfo, line_info)\ X(LineInfo, line_info)\
X(InlineLineInfo, inline_line_info)\ X(InlineLineInfo, inline_line_info)\
X(GlobalVariableNameMap, global_variable_name_map)\ Y(GlobalVariableNameMap, global_variable_name_map)\
X(ThreadVariableNameMap, thread_variable_name_map)\ Y(ThreadVariableNameMap, thread_variable_name_map)\
X(ProcedureNameMap, procedure_name_map)\ Y(ProcedureNameMap, procedure_name_map)\
X(ConstantNameMap, constant_name_map)\ Y(ConstantNameMap, constant_name_map)\
X(TypeNameMap, type_name_map)\ Y(TypeNameMap, type_name_map)\
X(LinkNameProcedureNameMap, link_name_procedure_name_map)\ Y(LinkNameProcedureNameMap, link_name_procedure_name_map)\
X(NormalSourcePathNameMap, normal_source_path_name_map)\ Y(NormalSourcePathNameMap, normal_source_path_name_map)\
typedef enum RDIM_Subset typedef enum RDIM_Subset
{ {
#define X(name, name_lower) RDIM_Subset_##name, #define X(name, name_lower) RDIM_Subset_##name,
#define Y(name, name_lower) RDIM_Subset_##name,
RDIM_Subset_XList RDIM_Subset_XList
#undef X #undef X
#undef Y
} }
RDIM_Subset; RDIM_Subset;
@@ -345,8 +347,15 @@ typedef U32 RDIM_SubsetFlags;
enum enum
{ {
#define X(name, name_lower) RDIM_SubsetFlag_##name = (1<<RDIM_Subset_##name), #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 RDIM_Subset_XList
#undef X #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, 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"); fprintf(stderr, "RAD DEBUG INFO SUBSET NAMES\n\n");
#define X(name, name_lower) fprintf(stderr, " - " #name_lower "\n"); #define X(name, name_lower) fprintf(stderr, " - " #name_lower "\n");
#define Y(name, name_lower) X(name, name_lower)
RDIM_Subset_XList RDIM_Subset_XList
#undef X #undef X
#undef Y
}break; }break;
case OutputKind_Breakpad: case OutputKind_Breakpad:
{ {
@@ -589,16 +591,20 @@ rb_thread_entry_point(void *p)
{ {
if(0){} if(0){}
#define X(name, name_lower) else if(str8_match(n->string, str8_lit(#name_lower), 0)) { subset_flags |= RDIM_SubsetFlag_##name; } #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 RDIM_Subset_XList
#undef X #undef X
#undef Y
} }
String8List omit_names = cmd_line_strings(cmdline, str8_lit("omit")); String8List omit_names = cmd_line_strings(cmdline, str8_lit("omit"));
for(String8Node *n = omit_names.first; n != 0; n = n->next) for(String8Node *n = omit_names.first; n != 0; n = n->next)
{ {
if(0){} if(0){}
#define X(name, name_lower) else if(str8_match(n->string, str8_lit(#name_lower), 0)) { subset_flags &= ~RDIM_SubsetFlag_##name; } #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 RDIM_Subset_XList
#undef X #undef X
#undef Y
} }
}break; }break;
case OutputKind_Breakpad: 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 //- 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); Temp scratch = scratch_begin(&arena, 1);
@@ -1501,7 +1503,7 @@ rdim_bake(Arena *arena, RDIM_BakeParams *params)
////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////
//- rjf: @rdim_bake_stage bake idx runs //- rjf: @rdim_bake_stage bake idx runs
// //
ProfScope("bake idx runs") if(need_index_runs) ProfScope("bake idx runs")
{ {
// rjf: set up // rjf: set up
if(lane_idx() == 0) if(lane_idx() == 0)