mirror of
https://github.com/Ed94/raddebugger.git
synced 2026-08-01 03:40:02 +00:00
entity parameter tree equipment; architecture -> arch
This commit is contained in:
@@ -102,7 +102,7 @@ e_dynamically_typed_eval_from_eval(E_Eval eval)
|
||||
if(e_space_read(eval.space, &class_base_vaddr, r1u64(ptr_vaddr, ptr_vaddr+addr_size)) &&
|
||||
e_space_read(eval.space, &vtable_vaddr, r1u64(class_base_vaddr, class_base_vaddr+addr_size)))
|
||||
{
|
||||
Architecture arch = e_type_state->ctx->primary_module->arch;
|
||||
Arch arch = e_type_state->ctx->primary_module->arch;
|
||||
U32 rdi_idx = 0;
|
||||
RDI_Parsed *rdi = 0;
|
||||
U64 module_base = 0;
|
||||
|
||||
@@ -110,7 +110,7 @@ struct E_Module
|
||||
{
|
||||
RDI_Parsed *rdi;
|
||||
Rng1U64 vaddr_range;
|
||||
Architecture arch;
|
||||
Arch arch;
|
||||
E_Space space;
|
||||
};
|
||||
|
||||
|
||||
@@ -163,7 +163,7 @@ e_interpret(String8 bytecode)
|
||||
U8 byte_size = (imm.u64&0x00FF00)>>8;
|
||||
U8 byte_off = (imm.u64&0xFF0000)>>16;
|
||||
REGS_RegCode base_reg_code = regs_reg_code_from_arch_rdi_code(e_interpret_ctx->reg_arch, rdi_reg_code);
|
||||
REGS_Rng rng = regs_reg_code_rng_table_from_architecture(e_interpret_ctx->reg_arch)[base_reg_code];
|
||||
REGS_Rng rng = regs_reg_code_rng_table_from_arch(e_interpret_ctx->reg_arch)[base_reg_code];
|
||||
U64 off = (U64)rng.byte_off + byte_off;
|
||||
U64 size = (U64)byte_size;
|
||||
B32 good_read = e_space_read(e_interpret_ctx->reg_space, &nval, r1u64(off, off+size));
|
||||
|
||||
@@ -26,7 +26,7 @@ struct E_InterpretCtx
|
||||
E_SpaceRWFunction *space_read;
|
||||
E_SpaceRWFunction *space_write;
|
||||
E_Space primary_space;
|
||||
Architecture reg_arch;
|
||||
Arch reg_arch;
|
||||
E_Space reg_space;
|
||||
U64 reg_unwind_count;
|
||||
U64 *module_base;
|
||||
|
||||
@@ -1292,7 +1292,7 @@ e_parse_expr_from_text_tokens__prec(Arena *arena, String8 text, E_TokenArray *to
|
||||
E_TypeKey type_key = zero_struct;
|
||||
String8 local_lookup_string = token_string;
|
||||
E_Space space = {0};
|
||||
Architecture arch = Architecture_Null;
|
||||
Arch arch = Arch_Null;
|
||||
|
||||
//- rjf: identifiers surrounded by ``s should have those `s stripped
|
||||
if(local_lookup_string.size >= 2 &&
|
||||
@@ -1594,7 +1594,7 @@ e_parse_expr_from_text_tokens__prec(Arena *arena, String8 text, E_TokenArray *to
|
||||
}
|
||||
else if(reg_code != 0)
|
||||
{
|
||||
REGS_Rng reg_rng = regs_reg_code_rng_table_from_architecture(e_parse_ctx->primary_module->arch)[reg_code];
|
||||
REGS_Rng reg_rng = regs_reg_code_rng_table_from_arch(e_parse_ctx->primary_module->arch)[reg_code];
|
||||
E_OpList oplist = {0};
|
||||
e_oplist_push_uconst(arena, &oplist, reg_rng.byte_off);
|
||||
atom = e_push_expr(arena, E_ExprKind_LeafBytecode, token_string.str);
|
||||
@@ -1606,8 +1606,8 @@ e_parse_expr_from_text_tokens__prec(Arena *arena, String8 text, E_TokenArray *to
|
||||
}
|
||||
else if(alias_code != 0)
|
||||
{
|
||||
REGS_Slice alias_slice = regs_alias_code_slice_table_from_architecture(e_parse_ctx->primary_module->arch)[alias_code];
|
||||
REGS_Rng alias_reg_rng = regs_reg_code_rng_table_from_architecture(e_parse_ctx->primary_module->arch)[alias_slice.code];
|
||||
REGS_Slice alias_slice = regs_alias_code_slice_table_from_arch(e_parse_ctx->primary_module->arch)[alias_code];
|
||||
REGS_Rng alias_reg_rng = regs_reg_code_rng_table_from_arch(e_parse_ctx->primary_module->arch)[alias_slice.code];
|
||||
E_OpList oplist = {0};
|
||||
e_oplist_push_uconst(arena, &oplist, alias_reg_rng.byte_off + alias_slice.byte_off);
|
||||
atom = e_push_expr(arena, E_ExprKind_LeafBytecode, token_string.str);
|
||||
@@ -1674,7 +1674,7 @@ e_parse_expr_from_text_tokens__prec(Arena *arena, String8 text, E_TokenArray *to
|
||||
case RDI_LocationKind_ValReg:
|
||||
{
|
||||
REGS_RegCode regs_reg_code = regs_reg_code_from_arch_rdi_code(arch, loc_reg.reg_code);
|
||||
REGS_Rng reg_rng = regs_reg_code_rng_table_from_architecture(arch)[regs_reg_code];
|
||||
REGS_Rng reg_rng = regs_reg_code_rng_table_from_arch(arch)[regs_reg_code];
|
||||
E_OpList oplist = {0};
|
||||
U64 byte_size = (U64)reg_rng.byte_size;
|
||||
U64 byte_pos = 0;
|
||||
|
||||
@@ -256,7 +256,7 @@ e_type_key_ext(E_TypeKind kind, U32 type_idx, U32 rdi_idx)
|
||||
}
|
||||
|
||||
internal E_TypeKey
|
||||
e_type_key_reg(Architecture arch, REGS_RegCode code)
|
||||
e_type_key_reg(Arch arch, REGS_RegCode code)
|
||||
{
|
||||
E_TypeKey key = {E_TypeKeyKind_Reg};
|
||||
key.u32[0] = (U32)arch;
|
||||
@@ -265,7 +265,7 @@ e_type_key_reg(Architecture arch, REGS_RegCode code)
|
||||
}
|
||||
|
||||
internal E_TypeKey
|
||||
e_type_key_reg_alias(Architecture arch, REGS_AliasCode code)
|
||||
e_type_key_reg_alias(Arch arch, REGS_AliasCode code)
|
||||
{
|
||||
E_TypeKey key = {E_TypeKeyKind_RegAlias};
|
||||
key.u32[0] = (U32)arch;
|
||||
@@ -398,7 +398,7 @@ e_type_key_cons_array(E_TypeKey element_type_key, U64 count)
|
||||
}
|
||||
|
||||
internal E_TypeKey
|
||||
e_type_key_cons_ptr(Architecture arch, E_TypeKey element_type_key)
|
||||
e_type_key_cons_ptr(Arch arch, E_TypeKey element_type_key)
|
||||
{
|
||||
E_TypeKey key = e_type_key_cons(.arch = arch, .kind = E_TypeKind_Ptr, .direct_key = element_type_key);
|
||||
return key;
|
||||
@@ -818,16 +818,16 @@ e_type_from_key(Arena *arena, E_TypeKey key)
|
||||
//- rjf: reg type keys
|
||||
case E_TypeKeyKind_Reg:
|
||||
{
|
||||
Architecture arch = (Architecture)key.u32[0];
|
||||
Arch arch = (Arch)key.u32[0];
|
||||
REGS_RegCode code = (REGS_RegCode)key.u32[1];
|
||||
REGS_Rng rng = regs_reg_code_rng_table_from_architecture(arch)[code];
|
||||
REGS_Rng rng = regs_reg_code_rng_table_from_arch(arch)[code];
|
||||
reg_byte_count = (U64)rng.byte_size;
|
||||
}goto build_reg_type;
|
||||
case E_TypeKeyKind_RegAlias:
|
||||
{
|
||||
Architecture arch = (Architecture)key.u32[0];
|
||||
Arch arch = (Arch)key.u32[0];
|
||||
REGS_AliasCode code = (REGS_AliasCode)key.u32[1];
|
||||
REGS_Slice slice = regs_alias_code_slice_table_from_architecture(arch)[code];
|
||||
REGS_Slice slice = regs_alias_code_slice_table_from_arch(arch)[code];
|
||||
reg_byte_count = (U64)slice.byte_size;
|
||||
}goto build_reg_type;
|
||||
build_reg_type:
|
||||
|
||||
@@ -23,7 +23,7 @@ struct E_TypeKey
|
||||
{
|
||||
E_TypeKeyKind kind;
|
||||
U32 u32[3];
|
||||
// [0] -> E_TypeKind (Basic, Cons, Ext); Architecture (Reg, RegAlias)
|
||||
// [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)
|
||||
};
|
||||
@@ -138,7 +138,7 @@ struct E_Type
|
||||
typedef struct E_ConsTypeParams E_ConsTypeParams;
|
||||
struct E_ConsTypeParams
|
||||
{
|
||||
Architecture arch;
|
||||
Arch arch;
|
||||
E_TypeKind kind;
|
||||
String8 name;
|
||||
E_TypeKey direct_key;
|
||||
@@ -230,8 +230,8 @@ internal void e_select_type_ctx(E_TypeCtx *ctx);
|
||||
internal E_TypeKey e_type_key_zero(void);
|
||||
internal E_TypeKey e_type_key_basic(E_TypeKind kind);
|
||||
internal E_TypeKey e_type_key_ext(E_TypeKind kind, U32 type_idx, U32 rdi_idx);
|
||||
internal E_TypeKey e_type_key_reg(Architecture arch, REGS_RegCode code);
|
||||
internal E_TypeKey e_type_key_reg_alias(Architecture arch, REGS_AliasCode code);
|
||||
internal E_TypeKey e_type_key_reg(Arch arch, REGS_RegCode code);
|
||||
internal E_TypeKey e_type_key_reg_alias(Arch arch, REGS_AliasCode code);
|
||||
|
||||
//- rjf: constructed type construction
|
||||
internal U64 e_hash_from_cons_type_params(E_ConsTypeParams *params);
|
||||
@@ -241,7 +241,7 @@ internal E_TypeKey e_type_key_cons_(E_ConsTypeParams *params);
|
||||
|
||||
//- rjf: constructed type construction helpers
|
||||
internal E_TypeKey e_type_key_cons_array(E_TypeKey element_type_key, U64 count);
|
||||
internal E_TypeKey e_type_key_cons_ptr(Architecture arch, E_TypeKey element_type_key);
|
||||
internal E_TypeKey e_type_key_cons_ptr(Arch arch, E_TypeKey element_type_key);
|
||||
|
||||
//- rjf: basic type key functions
|
||||
internal B32 e_type_key_match(E_TypeKey l, E_TypeKey r);
|
||||
|
||||
Reference in New Issue
Block a user