eliminate eval assumption of single architecture; equip each eval module with an architecture; use to correctly specify the debugger process architecture; do initial pass of debugger space evaluation

This commit is contained in:
Ryan Fleury
2024-08-21 12:55:50 -07:00
parent 1ec62b40ae
commit 1848acd47e
14 changed files with 114 additions and 57 deletions
+3 -2
View File
@@ -689,7 +689,7 @@ e_irtree_and_type_from_expr(Arena *arena, E_Expr *expr)
// rjf: generate
result.root = r_tree.root;
result.type_key = e_type_key_cons_ptr(r_type_unwrapped);
result.type_key = e_type_key_cons_ptr(e_type_state->ctx->primary_module->arch, r_type_unwrapped);
result.mode = E_Mode_Value;
result.space = r_tree.space;
}break;
@@ -1005,7 +1005,7 @@ e_irtree_and_type_from_expr(Arena *arena, E_Expr *expr)
E_TypeKey ptr_type = ptr_tree->type_key;
if(ptr_is_decay)
{
ptr_type = e_type_key_cons_ptr(direct_type);
ptr_type = e_type_key_cons_ptr(e_type_state->ctx->primary_module->arch, direct_type);
}
E_IRNode *new_root = e_irtree_binary_op_u(arena, op, ptr_root, int_root);
result.root = new_root;
@@ -1214,6 +1214,7 @@ e_irtree_and_type_from_expr(Arena *arena, E_Expr *expr)
result.root = new_tree;
result.type_key = expr->type_key;
result.mode = E_Mode_Offset;
result.space = expr->space;
}break;
//- rjf: types