adjust block tree building from being on expr -> being on eval

This commit is contained in:
Ryan Fleury
2025-04-23 14:45:15 -07:00
parent a27b90a3f9
commit c9a05bc76f
9 changed files with 49 additions and 40 deletions
+21 -1
View File
@@ -303,6 +303,21 @@ struct E_IRTreeAndType
E_IRTreeAndType *prev;
};
////////////////////////////////
//~ rjf: Evaluation Artifact Bundle
typedef struct E_Eval E_Eval;
struct E_Eval
{
E_Value value;
E_Space space;
E_Expr *expr;
E_IRTreeAndType irtree;
String8 bytecode;
E_InterpretationCode code;
E_MsgList msgs;
};
////////////////////////////////
//~ rjf: Full Extracted Type Information Types
@@ -628,7 +643,12 @@ struct E_BaseCtx
////////////////////////////////
//~ rjf: Globals
global read_only E_Module e_module_nil = {&rdi_parsed_nil};
read_only global E_String2NumMap e_string2num_map_nil = {0};
read_only global E_String2ExprMap e_string2expr_map_nil = {0};
read_only global E_Expr e_expr_nil = {&e_expr_nil, &e_expr_nil, &e_expr_nil, &e_expr_nil, &e_expr_nil};
read_only global E_IRNode e_irnode_nil = {&e_irnode_nil, &e_irnode_nil, &e_irnode_nil};
read_only global E_Eval e_eval_nil = {zero_struct, zero_struct, &e_expr_nil, {&e_irnode_nil}};
read_only global E_Module e_module_nil = {&rdi_parsed_nil};
thread_static E_BaseCtx *e_base_ctx = 0;
thread_static U64 e_base_ctx_gen = 0;