mirror of
https://github.com/Ed94/raddebugger.git
synced 2026-08-05 05:18:40 +00:00
mask off more work based on subset flags from baker
This commit is contained in:
@@ -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,
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|||||||
@@ -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:
|
||||||
|
|||||||
@@ -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)
|
||||||
|
|||||||
Reference in New Issue
Block a user