switch eval viz stringification, and lister completions, over to working correctly with process-less (but not debug-info-less) evaluations

This commit is contained in:
Ryan Fleury
2025-10-22 16:59:24 -07:00
parent c8c25c0f98
commit b33a257bc4
4 changed files with 42 additions and 9 deletions
+12
View File
@@ -760,6 +760,18 @@ e_dbg_info_from_module(E_Module *module)
return result;
}
internal E_DbgInfo *
e_dbg_info_from_type_key(E_TypeKey type_key)
{
E_DbgInfo *result = &e_dbg_info_nil;
if(type_key.kind == E_TypeKeyKind_Ext &&
0 < type_key.u32[2] && type_key.u32[2] <= e_base_ctx->dbg_infos_count)
{
result = &e_base_ctx->dbg_infos[type_key.u32[2]-1];
}
return result;
}
////////////////////////////////
//~ rjf: Cache Accessing Functions
+3 -2
View File
@@ -174,8 +174,8 @@ struct E_TypeKey
E_TypeKeyKind kind;
U32 u32[3];
// [0] -> E_TypeKind (Basic, Cons, Ext); Arch (Reg, RegAlias)
// [1] -> Type Index In RDI (Ext); Code (Reg, RegAlias); Type Index In Constructed (Cons)
// [2] -> RDI Index (Ext)
// [1] -> Type Index In Debug Info (Ext); Code (Reg, RegAlias); Type Index In Constructed (Cons)
// [2] -> Debug Info Number (Ext)
};
typedef struct E_TypeKeyNode E_TypeKeyNode;
@@ -1222,6 +1222,7 @@ internal void e_select_ir_ctx(E_IRCtx *ctx);
//~ rjf: Context Accessors
internal E_DbgInfo *e_dbg_info_from_module(E_Module *module);
internal E_DbgInfo *e_dbg_info_from_type_key(E_TypeKey type_key);
////////////////////////////////
//~ rjf: Base Cache Accessing Functions