adjust conversion visualization; strip out old profiling markup

This commit is contained in:
Ryan Fleury
2024-02-10 19:40:19 -08:00
parent e7897f302f
commit 2e8afad5f0
6 changed files with 33 additions and 96 deletions
+1
View File
@@ -1802,6 +1802,7 @@ df_entity_alloc(DF_StateDeltaHistory *hist, DF_Entity *parent, DF_EntityKind kin
df_state->entities_id_gen += 1; df_state->entities_id_gen += 1;
entity->id = df_state->entities_id_gen; entity->id = df_state->entities_id_gen;
entity->generation += 1; entity->generation += 1;
entity->alloc_time_us = os_now_microseconds();
// rjf: dirtify caches // rjf: dirtify caches
df_state->kind_alloc_gens[kind] += 1; df_state->kind_alloc_gens[kind] += 1;
+2
View File
@@ -430,6 +430,7 @@ struct DF_Entity
DF_EntityFlags flags; DF_EntityFlags flags;
DF_EntityID id; DF_EntityID id;
U64 generation; U64 generation;
U64 alloc_time_us;
B32 deleted; B32 deleted;
F32 alive_t; F32 alive_t;
@@ -1226,6 +1227,7 @@ read_only global DF_Entity df_g_nil_entity =
0, 0,
0, 0,
0, 0,
0,
// rjf: allocationless, simple equipment // rjf: allocationless, simple equipment
{0}, {0},
+12 -9
View File
@@ -4408,17 +4408,20 @@ df_window_update_and_render(Arena *arena, OS_EventList *events, DF_Window *ws, D
for(DF_EntityNode *n = tasks.first; n != 0; n = n->next) for(DF_EntityNode *n = tasks.first; n != 0; n = n->next)
{ {
DF_Entity *task = n->entity; DF_Entity *task = n->entity;
String8 raddbg_path = task->name; if(task->alloc_time_us + 500000 < os_now_microseconds())
String8 raddbg_name = str8_skip_last_slash(raddbg_path);
String8 task_text = push_str8f(scratch.arena, "Creating %S...", raddbg_name);
UI_Key key = ui_key_from_stringf(ui_key_zero(), "task_%p", task);
UI_Box *box = ui_build_box_from_key(UI_BoxFlag_DrawHotEffects|UI_BoxFlag_DrawText|UI_BoxFlag_DrawBorder|UI_BoxFlag_DrawBackground|UI_BoxFlag_Clickable, key);
UI_Signal sig = ui_signal_from_box(box);
if(ui_hovering(sig)) UI_Tooltip
{ {
ui_label(raddbg_path); String8 raddbg_path = task->name;
String8 raddbg_name = str8_skip_last_slash(raddbg_path);
String8 task_text = push_str8f(scratch.arena, "Creating %S...", raddbg_name);
UI_Key key = ui_key_from_stringf(ui_key_zero(), "task_%p", task);
UI_Box *box = ui_build_box_from_key(UI_BoxFlag_DrawHotEffects|UI_BoxFlag_DrawText|UI_BoxFlag_DrawBorder|UI_BoxFlag_DrawBackground|UI_BoxFlag_Clickable, key);
UI_Signal sig = ui_signal_from_box(box);
if(ui_hovering(sig)) UI_Tooltip
{
ui_label(raddbg_path);
}
ui_box_equip_display_string(box, task_text);
} }
ui_box_equip_display_string(box, task_text);
} }
scratch_end(scratch); scratch_end(scratch);
} }
+1 -19
View File
@@ -1322,7 +1322,6 @@ cons_type_list_push(Arena *arena, CONS_TypeList *list, CONS_Type *type){
static CONS_Symbol* static CONS_Symbol*
cons_symbol_handle_from_user_id(CONS_Root *root, U64 symbol_user_id, U64 symbol_user_id_hash){ cons_symbol_handle_from_user_id(CONS_Root *root, U64 symbol_user_id, U64 symbol_user_id_hash){
ProfBeginFunction();
CONS__U64ToPtrLookup lookup = {0}; CONS__U64ToPtrLookup lookup = {0};
cons__u64toptr_lookup(&root->symbol_map, symbol_user_id, symbol_user_id_hash, &lookup); cons__u64toptr_lookup(&root->symbol_map, symbol_user_id, symbol_user_id_hash, &lookup);
@@ -1337,13 +1336,11 @@ cons_symbol_handle_from_user_id(CONS_Root *root, U64 symbol_user_id, U64 symbol_
cons__u64toptr_insert(root->arena, &root->symbol_map, symbol_user_id, symbol_user_id_hash, &lookup, result); cons__u64toptr_insert(root->arena, &root->symbol_map, symbol_user_id, symbol_user_id_hash, &lookup, result);
} }
ProfEnd();
return(result); return(result);
} }
static void static void
cons_symbol_set_info(CONS_Root *root, CONS_Symbol *symbol, CONS_SymbolInfo *info){ cons_symbol_set_info(CONS_Root *root, CONS_Symbol *symbol, CONS_SymbolInfo *info){
ProfBeginFunction();
CONS_SymbolKind kind = info->kind; CONS_SymbolKind kind = info->kind;
if (symbol->kind != CONS_SymbolKind_NULL){ if (symbol->kind != CONS_SymbolKind_NULL){
@@ -1416,7 +1413,7 @@ cons_symbol_set_info(CONS_Root *root, CONS_Symbol *symbol, CONS_SymbolInfo *info
map = cons__name_map_for_kind(root, RADDBG_NameMapKind_Procedures); map = cons__name_map_for_kind(root, RADDBG_NameMapKind_Procedures);
}break; }break;
} }
if(map != 0) ProfScope("save name map") if(map != 0)
{ {
cons__name_map_add_pair(root, map, symbol->name, symbol->idx); cons__name_map_add_pair(root, map, symbol->name, symbol->idx);
} }
@@ -1428,14 +1425,12 @@ cons_symbol_set_info(CONS_Root *root, CONS_Symbol *symbol, CONS_SymbolInfo *info
cons__name_map_add_pair(root, map, symbol->link_name, symbol->idx); cons__name_map_add_pair(root, map, symbol->link_name, symbol->idx);
} }
} }
ProfEnd();
} }
// scopes // scopes
static CONS_Scope* static CONS_Scope*
cons_scope_handle_from_user_id(CONS_Root *root, U64 scope_user_id, U64 scope_user_id_hash){ cons_scope_handle_from_user_id(CONS_Root *root, U64 scope_user_id, U64 scope_user_id_hash){
ProfBeginFunction();
CONS__U64ToPtrLookup lookup = {0}; CONS__U64ToPtrLookup lookup = {0};
cons__u64toptr_lookup(&root->scope_map, scope_user_id, scope_user_id_hash, &lookup); cons__u64toptr_lookup(&root->scope_map, scope_user_id, scope_user_id_hash, &lookup);
@@ -1451,7 +1446,6 @@ cons_scope_handle_from_user_id(CONS_Root *root, U64 scope_user_id, U64 scope_use
cons__u64toptr_insert(root->arena, &root->scope_map, scope_user_id, scope_user_id_hash, &lookup, result); cons__u64toptr_insert(root->arena, &root->scope_map, scope_user_id, scope_user_id_hash, &lookup, result);
} }
ProfEnd();
return(result); return(result);
} }
@@ -1485,7 +1479,6 @@ cons_scope_add_voff_range(CONS_Root *root, CONS_Scope *scope, U64 voff_first, U6
static CONS_Local* static CONS_Local*
cons_local_handle_from_user_id(CONS_Root *root, U64 local_user_id, U64 local_user_id_hash){ cons_local_handle_from_user_id(CONS_Root *root, U64 local_user_id, U64 local_user_id_hash){
ProfBeginFunction();
CONS__U64ToPtrLookup lookup = {0}; CONS__U64ToPtrLookup lookup = {0};
cons__u64toptr_lookup(&root->local_map, local_user_id, local_user_id_hash, &lookup); cons__u64toptr_lookup(&root->local_map, local_user_id, local_user_id_hash, &lookup);
@@ -1498,7 +1491,6 @@ cons_local_handle_from_user_id(CONS_Root *root, U64 local_user_id, U64 local_use
cons__u64toptr_insert(root->arena, &root->local_map, local_user_id, local_user_id_hash, &lookup, result); cons__u64toptr_insert(root->arena, &root->local_map, local_user_id, local_user_id_hash, &lookup, result);
} }
ProfEnd();
return(result); return(result);
} }
@@ -1711,14 +1703,12 @@ cons__type_udt_from_record_type(CONS_Root *root, CONS_Type *type){
static void static void
cons__scope_recursive_set_symbol(CONS_Scope *scope, CONS_Symbol *symbol){ cons__scope_recursive_set_symbol(CONS_Scope *scope, CONS_Symbol *symbol){
ProfBeginFunction();
scope->symbol = symbol; scope->symbol = symbol;
for (CONS_Scope *node = scope->first_child; for (CONS_Scope *node = scope->first_child;
node != 0; node != 0;
node = node->next_sibling){ node = node->next_sibling){
cons__scope_recursive_set_symbol(node, symbol); cons__scope_recursive_set_symbol(node, symbol);
} }
ProfEnd();
} }
// name maps // name maps
@@ -1739,7 +1729,6 @@ cons__name_map_for_kind(CONS_Root *root, RADDBG_NameMapKind kind){
static void static void
cons__name_map_add_pair(CONS_Root *root, CONS__NameMap *map, String8 string, U32 idx){ cons__name_map_add_pair(CONS_Root *root, CONS__NameMap *map, String8 string, U32 idx){
ProfBeginFunction();
// hash // hash
U64 hash = raddbg_hash(string.str, string.size); U64 hash = raddbg_hash(string.str, string.size);
@@ -1796,7 +1785,6 @@ cons__name_map_add_pair(CONS_Root *root, CONS__NameMap *map, String8 string, U32
match->idx_count += 1; match->idx_count += 1;
} }
ProfEnd();
} }
// u64 to ptr map // u64 to ptr map
@@ -1830,7 +1818,6 @@ cons__u64toptr_lookup(CONS__U64ToPtrMap *map, U64 key, U64 hash, CONS__U64ToPtrL
static void static void
cons__u64toptr_insert(Arena *arena, CONS__U64ToPtrMap *map, U64 key, U64 hash, cons__u64toptr_insert(Arena *arena, CONS__U64ToPtrMap *map, U64 key, U64 hash,
CONS__U64ToPtrLookup *lookup, void *ptr){ CONS__U64ToPtrLookup *lookup, void *ptr){
ProfBeginFunction();
if (lookup->fill_node != 0){ if (lookup->fill_node != 0){
CONS__U64ToPtrNode *node = lookup->fill_node; CONS__U64ToPtrNode *node = lookup->fill_node;
U32 k = lookup->fill_k; U32 k = lookup->fill_k;
@@ -1851,7 +1838,6 @@ cons__u64toptr_insert(Arena *arena, CONS__U64ToPtrMap *map, U64 key, U64 hash,
map->pair_count += 1; map->pair_count += 1;
map->bucket_collision_count += (node->next != 0); map->bucket_collision_count += (node->next != 0);
} }
ProfEnd();
} }
// str8 to ptr map // str8 to ptr map
@@ -1865,7 +1851,6 @@ cons__str8toptr_init(Arena *arena, CONS__Str8ToPtrMap *map, U64 bucket_count)
static void* static void*
cons__str8toptr_lookup(CONS__Str8ToPtrMap *map, String8 key, U64 hash){ cons__str8toptr_lookup(CONS__Str8ToPtrMap *map, String8 key, U64 hash){
ProfBeginFunction();
void *result = 0; void *result = 0;
U64 bucket_idx = hash%map->buckets_count; U64 bucket_idx = hash%map->buckets_count;
for (CONS__Str8ToPtrNode *node = map->buckets[bucket_idx]; for (CONS__Str8ToPtrNode *node = map->buckets[bucket_idx];
@@ -1876,13 +1861,11 @@ cons__str8toptr_lookup(CONS__Str8ToPtrMap *map, String8 key, U64 hash){
break; break;
} }
} }
ProfEnd();
return(result); return(result);
} }
static void static void
cons__str8toptr_insert(Arena *arena, CONS__Str8ToPtrMap *map, String8 key, U64 hash, void *ptr){ cons__str8toptr_insert(Arena *arena, CONS__Str8ToPtrMap *map, String8 key, U64 hash, void *ptr){
ProfBeginFunction();
U64 bucket_idx = hash%map->buckets_count; U64 bucket_idx = hash%map->buckets_count;
CONS__Str8ToPtrNode *node = push_array(arena, CONS__Str8ToPtrNode, 1); CONS__Str8ToPtrNode *node = push_array(arena, CONS__Str8ToPtrNode, 1);
@@ -1893,7 +1876,6 @@ cons__str8toptr_insert(Arena *arena, CONS__Str8ToPtrMap *map, String8 key, U64 h
node->ptr = ptr; node->ptr = ptr;
map->bucket_collision_count += (node->next != 0); map->bucket_collision_count += (node->next != 0);
map->pair_count += 1; map->pair_count += 1;
ProfEnd();
} }
+17 -60
View File
@@ -416,11 +416,10 @@ pdbconv_type_resolve_fwd(PDBCONV_Ctx *ctx, CV_TypeId itype){
static CONS_Type* static CONS_Type*
pdbconv_type_resolve_itype(PDBCONV_Ctx *ctx, CV_TypeId itype){ pdbconv_type_resolve_itype(PDBCONV_Ctx *ctx, CV_TypeId itype){
ProfBeginFunction();
B32 is_basic = (itype < 0x1000); B32 is_basic = (itype < 0x1000);
// convert fwd references to real types // convert fwd references to real types
if(is_basic) ProfScope("fwd map get") if(is_basic)
{ {
CV_TypeId resolved_itype = pdbconv_type_fwd_map_get(&ctx->fwd_map, itype); CV_TypeId resolved_itype = pdbconv_type_fwd_map_get(&ctx->fwd_map, itype);
if(resolved_itype != 0) if(resolved_itype != 0)
@@ -430,19 +429,16 @@ pdbconv_type_resolve_itype(PDBCONV_Ctx *ctx, CV_TypeId itype){
} }
// type handle from id // type handle from id
ProfBegin("id -> handle");
CONS_Type *result = cons_type_from_id(ctx->root, itype, itype); CONS_Type *result = cons_type_from_id(ctx->root, itype, itype);
ProfEnd();
// basic type // basic type
if(result == 0 && is_basic) ProfScope("basic type") if(result == 0 && is_basic)
{ {
result = pdbconv_type_cons_basic(ctx, itype); result = pdbconv_type_cons_basic(ctx, itype);
} }
// leaf decode // leaf decode
if(result == 0 && (ctx->leaf->itype_first <= itype && itype < ctx->leaf->itype_opl)) if(result == 0 && (ctx->leaf->itype_first <= itype && itype < ctx->leaf->itype_opl))
ProfScope("leaf decode")
{ {
result = pdbconv_type_cons_leaf_record(ctx, itype); result = pdbconv_type_cons_leaf_record(ctx, itype);
} }
@@ -453,7 +449,6 @@ pdbconv_type_resolve_itype(PDBCONV_Ctx *ctx, CV_TypeId itype){
result = cons_type_nil(ctx->root); result = cons_type_nil(ctx->root);
} }
ProfEnd();
return(result); return(result);
} }
@@ -1197,8 +1192,6 @@ pdbconv_type_cons_leaf_record(PDBCONV_Ctx *ctx, CV_TypeId itype){
switch (range->hdr.kind){ switch (range->hdr.kind){
case CV_LeafKind_MODIFIER: case CV_LeafKind_MODIFIER:
{ {
ProfBegin("CV_LeafKind_MODIFIER");
// TODO(allen): error if bad range // TODO(allen): error if bad range
if (sizeof(CV_LeafModifier) <= cap){ if (sizeof(CV_LeafModifier) <= cap){
CV_LeafModifier *modifier = (CV_LeafModifier*)first; CV_LeafModifier *modifier = (CV_LeafModifier*)first;
@@ -1219,14 +1212,10 @@ pdbconv_type_cons_leaf_record(PDBCONV_Ctx *ctx, CV_TypeId itype){
result = direct_type; result = direct_type;
} }
} }
ProfEnd();
}break; }break;
case CV_LeafKind_POINTER: case CV_LeafKind_POINTER:
{ {
ProfBegin("CV_LeafKind_POINTER");
// TODO(allen): error if bad range // TODO(allen): error if bad range
if (sizeof(CV_LeafPointer) <= cap){ if (sizeof(CV_LeafPointer) <= cap){
CV_LeafPointer *pointer = (CV_LeafPointer*)first; CV_LeafPointer *pointer = (CV_LeafPointer*)first;
@@ -1269,14 +1258,10 @@ pdbconv_type_cons_leaf_record(PDBCONV_Ctx *ctx, CV_TypeId itype){
result = cons_type_modifier(ctx->root, ptr_type, modifier_flags); result = cons_type_modifier(ctx->root, ptr_type, modifier_flags);
} }
} }
ProfEnd();
}break; }break;
case CV_LeafKind_PROCEDURE: case CV_LeafKind_PROCEDURE:
{ {
ProfBegin("CV_LeafKind_PROCEDURE");
// TODO(allen): error if bad range // TODO(allen): error if bad range
if (sizeof(CV_LeafProcedure) <= cap){ if (sizeof(CV_LeafProcedure) <= cap){
CV_LeafProcedure *procedure = (CV_LeafProcedure*)first; CV_LeafProcedure *procedure = (CV_LeafProcedure*)first;
@@ -1294,14 +1279,10 @@ pdbconv_type_cons_leaf_record(PDBCONV_Ctx *ctx, CV_TypeId itype){
scratch_end(scratch); scratch_end(scratch);
} }
ProfEnd();
}break; }break;
case CV_LeafKind_MFUNCTION: case CV_LeafKind_MFUNCTION:
{ {
ProfBegin("CV_LeafKind_MFUNCTION");
// TODO(allen): error if bad range // TODO(allen): error if bad range
if (sizeof(CV_LeafMFunction) <= cap){ if (sizeof(CV_LeafMFunction) <= cap){
CV_LeafMFunction *mfunction = (CV_LeafMFunction*)first; CV_LeafMFunction *mfunction = (CV_LeafMFunction*)first;
@@ -1327,25 +1308,20 @@ pdbconv_type_cons_leaf_record(PDBCONV_Ctx *ctx, CV_TypeId itype){
scratch_end(scratch); scratch_end(scratch);
} }
ProfEnd();
}break; }break;
case CV_LeafKind_BITFIELD: case CV_LeafKind_BITFIELD:
{ {
ProfBegin("CV_LeafKind_BITFIELD");
// TODO(allen): error if bad range // TODO(allen): error if bad range
if (sizeof(CV_LeafBitField) <= cap){ if (sizeof(CV_LeafBitField) <= cap){
CV_LeafBitField *bit_field = (CV_LeafBitField*)first; CV_LeafBitField *bit_field = (CV_LeafBitField*)first;
CONS_Type *direct_type = pdbconv_type_resolve_and_check(ctx, bit_field->itype); CONS_Type *direct_type = pdbconv_type_resolve_and_check(ctx, bit_field->itype);
result = cons_type_bitfield(ctx->root, direct_type, bit_field->pos, bit_field->len); result = cons_type_bitfield(ctx->root, direct_type, bit_field->pos, bit_field->len);
} }
ProfEnd();
}break; }break;
case CV_LeafKind_ARRAY: case CV_LeafKind_ARRAY:
{ {
ProfBegin("CV_LeafKind_ARRAY");
// TODO(allen): error if bad range // TODO(allen): error if bad range
if (sizeof(CV_LeafArray) <= cap){ if (sizeof(CV_LeafArray) <= cap){
CV_LeafArray *array = (CV_LeafArray*)first; CV_LeafArray *array = (CV_LeafArray*)first;
@@ -1365,14 +1341,11 @@ pdbconv_type_cons_leaf_record(PDBCONV_Ctx *ctx, CV_TypeId itype){
// build type // build type
result = cons_type_array(ctx->root, direct_type, count); result = cons_type_array(ctx->root, direct_type, count);
} }
ProfEnd();
}break; }break;
case CV_LeafKind_CLASS: case CV_LeafKind_CLASS:
case CV_LeafKind_STRUCTURE: case CV_LeafKind_STRUCTURE:
{ {
ProfBegin("CV_LeafKind_CLASS/CV_LeafKind_STRUCTURE");
// TODO(allen): error if bad range // TODO(allen): error if bad range
if (sizeof(CV_LeafStruct) <= cap){ if (sizeof(CV_LeafStruct) <= cap){
CV_LeafStruct *lf_struct = (CV_LeafStruct*)first; CV_LeafStruct *lf_struct = (CV_LeafStruct*)first;
@@ -1414,13 +1387,11 @@ pdbconv_type_cons_leaf_record(PDBCONV_Ctx *ctx, CV_TypeId itype){
} }
} }
} }
ProfEnd();
}break; }break;
case CV_LeafKind_CLASS2: case CV_LeafKind_CLASS2:
case CV_LeafKind_STRUCT2: case CV_LeafKind_STRUCT2:
{ {
ProfBegin("CV_LeafKind_CLASS2/CV_LeafKind_STRUCT2");
// TODO(allen): error if bad range // TODO(allen): error if bad range
if (sizeof(CV_LeafStruct2) <= cap){ if (sizeof(CV_LeafStruct2) <= cap){
CV_LeafStruct2 *lf_struct = (CV_LeafStruct2*)first; CV_LeafStruct2 *lf_struct = (CV_LeafStruct2*)first;
@@ -1467,12 +1438,10 @@ pdbconv_type_cons_leaf_record(PDBCONV_Ctx *ctx, CV_TypeId itype){
} }
} }
} }
ProfEnd();
}break; }break;
case CV_LeafKind_UNION: case CV_LeafKind_UNION:
{ {
ProfBegin("CV_LeafKind_UNION");
// TODO(allen): error if bad range // TODO(allen): error if bad range
if (sizeof(CV_LeafUnion) <= cap){ if (sizeof(CV_LeafUnion) <= cap){
CV_LeafUnion *lf_union = (CV_LeafUnion*)first; CV_LeafUnion *lf_union = (CV_LeafUnion*)first;
@@ -1507,12 +1476,10 @@ pdbconv_type_cons_leaf_record(PDBCONV_Ctx *ctx, CV_TypeId itype){
} }
} }
} }
ProfEnd();
}break; }break;
case CV_LeafKind_ENUM: case CV_LeafKind_ENUM:
{ {
ProfBegin("CV_LeafKind_ENUM");
// TODO(allen): error if bad range // TODO(allen): error if bad range
if (sizeof(CV_LeafEnum) <= cap){ if (sizeof(CV_LeafEnum) <= cap){
CV_LeafEnum *lf_enum = (CV_LeafEnum*)first; CV_LeafEnum *lf_enum = (CV_LeafEnum*)first;
@@ -1542,7 +1509,6 @@ pdbconv_type_cons_leaf_record(PDBCONV_Ctx *ctx, CV_TypeId itype){
} }
} }
} }
ProfEnd();
}break; }break;
// discard cases - we currently discard these these intentionally // discard cases - we currently discard these these intentionally
@@ -1922,7 +1888,8 @@ pdbconv_symbol_cons(PDBCONV_Ctx *ctx, CV_SymParsed *sym, U32 sym_unique_id){
// current state // current state
CONS_Scope *current_scope = pdbconv_symbol_current_scope(ctx); CONS_Scope *current_scope = pdbconv_symbol_current_scope(ctx);
CONS_Symbol *current_procedure = 0; CONS_Symbol *current_procedure = 0;
if (current_scope != 0){ if(current_scope != 0)
{
current_procedure = current_scope->symbol; current_procedure = current_scope->symbol;
} }
@@ -1932,7 +1899,7 @@ pdbconv_symbol_cons(PDBCONV_Ctx *ctx, CV_SymParsed *sym, U32 sym_unique_id){
default:{}break; default:{}break;
case CV_SymKind_END: case CV_SymKind_END:
ProfScope("CV_SymKind_END") //ProfScope("CV_SymKind_END")
{ {
// pop scope stack // pop scope stack
pdbconv_symbol_pop_scope(ctx); pdbconv_symbol_pop_scope(ctx);
@@ -1941,7 +1908,7 @@ pdbconv_symbol_cons(PDBCONV_Ctx *ctx, CV_SymParsed *sym, U32 sym_unique_id){
}break; }break;
case CV_SymKind_FRAMEPROC: case CV_SymKind_FRAMEPROC:
ProfScope("CV_SymKind_FRAMEPROC") //ProfScope("CV_SymKind_FRAMEPROC")
{ {
if (sizeof(CV_SymFrameproc) > cap){ if (sizeof(CV_SymFrameproc) > cap){
// TODO(allen): error // TODO(allen): error
@@ -1952,7 +1919,7 @@ pdbconv_symbol_cons(PDBCONV_Ctx *ctx, CV_SymParsed *sym, U32 sym_unique_id){
}break; }break;
case CV_SymKind_BLOCK32: case CV_SymKind_BLOCK32:
ProfScope("CV_SymKind_BLOCK32") //ProfScope("CV_SymKind_BLOCK32")
{ {
if (sizeof(CV_SymBlock32) > cap){ if (sizeof(CV_SymBlock32) > cap){
// TODO(allen): error // TODO(allen): error
@@ -1980,7 +1947,7 @@ pdbconv_symbol_cons(PDBCONV_Ctx *ctx, CV_SymParsed *sym, U32 sym_unique_id){
case CV_SymKind_LDATA32: case CV_SymKind_LDATA32:
case CV_SymKind_GDATA32: case CV_SymKind_GDATA32:
ProfScope("CV_SymKind_LDATA32/CV_SymKind_GDATA32") //ProfScope("CV_SymKind_LDATA32/CV_SymKind_GDATA32")
{ {
if (sizeof(CV_SymData32) > cap){ if (sizeof(CV_SymData32) > cap){
// TODO(allen): error // TODO(allen): error
@@ -2043,7 +2010,7 @@ pdbconv_symbol_cons(PDBCONV_Ctx *ctx, CV_SymParsed *sym, U32 sym_unique_id){
case CV_SymKind_LPROC32: case CV_SymKind_LPROC32:
case CV_SymKind_GPROC32: case CV_SymKind_GPROC32:
ProfScope("CV_SymKind_LPROC32/CV_SymKind_GPROC32") //ProfScope("CV_SymKind_LPROC32/CV_SymKind_GPROC32")
{ {
if (sizeof(CV_SymProc32) > cap){ if (sizeof(CV_SymProc32) > cap){
// TODO(allen): error // TODO(allen): error
@@ -2225,7 +2192,7 @@ pdbconv_symbol_cons(PDBCONV_Ctx *ctx, CV_SymParsed *sym, U32 sym_unique_id){
case CV_SymKind_LTHREAD32: case CV_SymKind_LTHREAD32:
case CV_SymKind_GTHREAD32: case CV_SymKind_GTHREAD32:
ProfScope("CV_SymKind_LTHREAD32/CV_SymKind_GTHREAD32") //ProfScope("CV_SymKind_LTHREAD32/CV_SymKind_GTHREAD32")
{ {
if (sizeof(CV_SymThread32) > cap){ if (sizeof(CV_SymThread32) > cap){
// TODO(allen): error // TODO(allen): error
@@ -2278,7 +2245,7 @@ pdbconv_symbol_cons(PDBCONV_Ctx *ctx, CV_SymParsed *sym, U32 sym_unique_id){
}break; }break;
case CV_SymKind_LOCAL: case CV_SymKind_LOCAL:
ProfScope("CV_SymKind_LOCAL") //ProfScope("CV_SymKind_LOCAL")
{ {
if (sizeof(CV_SymLocal) > cap){ if (sizeof(CV_SymLocal) > cap){
// TODO(allen): error // TODO(allen): error
@@ -2337,7 +2304,7 @@ pdbconv_symbol_cons(PDBCONV_Ctx *ctx, CV_SymParsed *sym, U32 sym_unique_id){
}break; }break;
case CV_SymKind_DEFRANGE_REGISTER: case CV_SymKind_DEFRANGE_REGISTER:
ProfScope("CV_SymKind_DEFRANGE_REGISTER") //ProfScope("CV_SymKind_DEFRANGE_REGISTER")
{ {
if (sizeof(CV_SymDefrangeRegister) > cap){ if (sizeof(CV_SymDefrangeRegister) > cap){
// TODO(allen): error // TODO(allen): error
@@ -2370,7 +2337,7 @@ pdbconv_symbol_cons(PDBCONV_Ctx *ctx, CV_SymParsed *sym, U32 sym_unique_id){
}break; }break;
case CV_SymKind_DEFRANGE_FRAMEPOINTER_REL: case CV_SymKind_DEFRANGE_FRAMEPOINTER_REL:
ProfScope("CV_SymKind_DEFRANGE_FRAMEPOINTER_REL") //ProfScope("CV_SymKind_DEFRANGE_FRAMEPOINTER_REL")
{ {
if (sizeof(CV_SymDefrangeFramepointerRel) > cap){ if (sizeof(CV_SymDefrangeFramepointerRel) > cap){
// TODO(allen): error // TODO(allen): error
@@ -2410,7 +2377,7 @@ pdbconv_symbol_cons(PDBCONV_Ctx *ctx, CV_SymParsed *sym, U32 sym_unique_id){
}break; }break;
case CV_SymKind_DEFRANGE_SUBFIELD_REGISTER: case CV_SymKind_DEFRANGE_SUBFIELD_REGISTER:
ProfScope("CV_SymKind_DEFRANGE_SUBFIELD_REGISTER") //ProfScope("CV_SymKind_DEFRANGE_SUBFIELD_REGISTER")
{ {
if (sizeof(CV_SymDefrangeSubfieldRegister) > cap){ if (sizeof(CV_SymDefrangeSubfieldRegister) > cap){
// TODO(allen): error // TODO(allen): error
@@ -2447,7 +2414,7 @@ pdbconv_symbol_cons(PDBCONV_Ctx *ctx, CV_SymParsed *sym, U32 sym_unique_id){
}break; }break;
case CV_SymKind_DEFRANGE_FRAMEPOINTER_REL_FULL_SCOPE: case CV_SymKind_DEFRANGE_FRAMEPOINTER_REL_FULL_SCOPE:
ProfScope("CV_SymKind_DEFRANGE_FRAMEPOINTER_REL_FULL_SCOPE") //ProfScope("CV_SymKind_DEFRANGE_FRAMEPOINTER_REL_FULL_SCOPE")
{ {
if (sizeof(CV_SymDefrangeFramepointerRelFullScope) > cap){ if (sizeof(CV_SymDefrangeFramepointerRelFullScope) > cap){
// TODO(allen): error // TODO(allen): error
@@ -2483,7 +2450,7 @@ pdbconv_symbol_cons(PDBCONV_Ctx *ctx, CV_SymParsed *sym, U32 sym_unique_id){
}break; }break;
case CV_SymKind_DEFRANGE_REGISTER_REL: case CV_SymKind_DEFRANGE_REGISTER_REL:
ProfScope("CV_SymKind_DEFRANGE_REGISTER_REL") //ProfScope("CV_SymKind_DEFRANGE_REGISTER_REL")
{ {
if (sizeof(CV_SymDefrangeRegisterRel) > cap){ if (sizeof(CV_SymDefrangeRegisterRel) > cap){
// TODO(allen): error // TODO(allen): error
@@ -2525,7 +2492,7 @@ pdbconv_symbol_cons(PDBCONV_Ctx *ctx, CV_SymParsed *sym, U32 sym_unique_id){
}break; }break;
case CV_SymKind_FILESTATIC: case CV_SymKind_FILESTATIC:
ProfScope("CV_SymKind_FILESTATIC") //ProfScope("CV_SymKind_FILESTATIC")
{ {
if (sizeof(CV_SymFileStatic) > cap){ if (sizeof(CV_SymFileStatic) > cap){
// TODO(allen): error // TODO(allen): error
@@ -2656,7 +2623,6 @@ pdbconv_symbol_frame_proc_write(PDBCONV_Ctx *ctx,CONS_Symbol *key,PDBCONV_FrameP
static PDBCONV_FrameProcData* static PDBCONV_FrameProcData*
pdbconv_symbol_frame_proc_read(PDBCONV_Ctx *ctx, CONS_Symbol *key){ pdbconv_symbol_frame_proc_read(PDBCONV_Ctx *ctx, CONS_Symbol *key){
ProfBeginFunction();
U64 key_int = IntFromPtr(key); U64 key_int = IntFromPtr(key);
PDBCONV_FrameProcMap *map = &ctx->frame_proc_map; PDBCONV_FrameProcMap *map = &ctx->frame_proc_map;
U32 bucket_idx = key_int%map->buckets_count; U32 bucket_idx = key_int%map->buckets_count;
@@ -2672,7 +2638,6 @@ pdbconv_symbol_frame_proc_read(PDBCONV_Ctx *ctx, CONS_Symbol *key){
} }
} }
ProfEnd();
return(result); return(result);
} }
@@ -2747,7 +2712,6 @@ pdbconv_known_global_hash(String8 name, U64 voff){
static B32 static B32
pdbconv_known_global_lookup(PDBCONV_KnownGlobalSet *set, String8 name, U64 voff){ pdbconv_known_global_lookup(PDBCONV_KnownGlobalSet *set, String8 name, U64 voff){
ProfBeginFunction();
U64 hash = pdbconv_known_global_hash(name, voff); U64 hash = pdbconv_known_global_hash(name, voff);
U64 bucket_idx = hash%set->buckets_count; U64 bucket_idx = hash%set->buckets_count;
@@ -2764,13 +2728,11 @@ pdbconv_known_global_lookup(PDBCONV_KnownGlobalSet *set, String8 name, U64 voff)
} }
B32 result = (match != 0); B32 result = (match != 0);
ProfEnd();
return(result); return(result);
} }
static void static void
pdbconv_known_global_insert(Arena *arena, PDBCONV_KnownGlobalSet *set, String8 name, U64 voff){ pdbconv_known_global_insert(Arena *arena, PDBCONV_KnownGlobalSet *set, String8 name, U64 voff){
ProfBeginFunction();
U64 hash = pdbconv_known_global_hash(name, voff); U64 hash = pdbconv_known_global_hash(name, voff);
U64 bucket_idx = hash%set->buckets_count; U64 bucket_idx = hash%set->buckets_count;
@@ -2795,7 +2757,6 @@ pdbconv_known_global_insert(Arena *arena, PDBCONV_KnownGlobalSet *set, String8 n
set->global_count += 1; set->global_count += 1;
set->bucket_collision_count += (node->next != 0); set->bucket_collision_count += (node->next != 0);
} }
ProfEnd();
} }
// location info helpers // location info helpers
@@ -2807,7 +2768,6 @@ pdbconv_location_from_addr_reg_off(PDBCONV_Ctx *ctx,
U32 reg_byte_pos, U32 reg_byte_pos,
S64 offset, S64 offset,
B32 extra_indirection){ B32 extra_indirection){
ProfBeginFunction();
CONS_Location *result = 0; CONS_Location *result = 0;
if (0 <= offset && offset <= (S64)max_U16){ if (0 <= offset && offset <= (S64)max_U16){
if (extra_indirection){ if (extra_indirection){
@@ -2832,7 +2792,6 @@ pdbconv_location_from_addr_reg_off(PDBCONV_Ctx *ctx,
result = cons_location_addr_bytecode_stream(ctx->root, &bytecode); result = cons_location_addr_bytecode_stream(ctx->root, &bytecode);
} }
ProfEnd();
return(result); return(result);
} }
@@ -2949,7 +2908,6 @@ pdbconv_link_name_save(Arena *arena, PDBCONV_LinkNameMap *map, U64 voff, String8
static String8 static String8
pdbconv_link_name_find(PDBCONV_LinkNameMap *map, U64 voff){ pdbconv_link_name_find(PDBCONV_LinkNameMap *map, U64 voff){
ProfBeginFunction();
U64 hash = (voff >> 3) ^ ((7 & voff) << 6); U64 hash = (voff >> 3) ^ ((7 & voff) << 6);
U64 bucket_idx = hash%map->buckets_count; U64 bucket_idx = hash%map->buckets_count;
@@ -2963,7 +2921,6 @@ pdbconv_link_name_find(PDBCONV_LinkNameMap *map, U64 voff){
} }
} }
ProfEnd();
return(result); return(result);
} }
-8
View File
@@ -777,8 +777,6 @@ pdb_leaf_data_from_tpi(PDB_TpiParsed *tpi){
static CV_TypeIdArray static CV_TypeIdArray
pdb_tpi_itypes_from_name(Arena *arena, PDB_TpiHashParsed *tpi_hash, CV_LeafParsed *leaf, pdb_tpi_itypes_from_name(Arena *arena, PDB_TpiHashParsed *tpi_hash, CV_LeafParsed *leaf,
String8 name, B32 compare_unique_name, U32 output_cap){ String8 name, B32 compare_unique_name, U32 output_cap){
ProfBegin("pdb_tpi_itypes_from_name");
U32 hash = pdb_string_hash1(name); U32 hash = pdb_string_hash1(name);
U32 bucket_idx = ((tpi_hash->bucket_mask != 0) ? U32 bucket_idx = ((tpi_hash->bucket_mask != 0) ?
hash&tpi_hash->bucket_mask : hash&tpi_hash->bucket_mask :
@@ -964,16 +962,12 @@ pdb_tpi_itypes_from_name(Arena *arena, PDB_TpiHashParsed *tpi_hash, CV_LeafParse
scratch_end(scratch); scratch_end(scratch);
ProfEnd();
return(result); return(result);
} }
static CV_TypeId static CV_TypeId
pdb_tpi_first_itype_from_name(PDB_TpiHashParsed *tpi_hash, CV_LeafParsed *tpi_leaf, pdb_tpi_first_itype_from_name(PDB_TpiHashParsed *tpi_hash, CV_LeafParsed *tpi_leaf,
String8 name, B32 compare_unique_name){ String8 name, B32 compare_unique_name){
ProfBegin("pdb_tpi_first_itype_from_name");
Temp scratch = scratch_begin(0, 0); Temp scratch = scratch_begin(0, 0);
CV_TypeIdArray array = pdb_tpi_itypes_from_name(scratch.arena, tpi_hash, tpi_leaf, CV_TypeIdArray array = pdb_tpi_itypes_from_name(scratch.arena, tpi_hash, tpi_leaf,
name, compare_unique_name, 1); name, compare_unique_name, 1);
@@ -983,8 +977,6 @@ pdb_tpi_first_itype_from_name(PDB_TpiHashParsed *tpi_hash, CV_LeafParsed *tpi_le
} }
scratch_end(scratch); scratch_end(scratch);
ProfEnd();
return(result); return(result);
} }