ARM: remove per-register malloc
Just pre-allocate memory for the cached register value. Shrinks heap overhead; increases locality-of-reference. Signed-off-by: David Brownell <dbrownell@users.sourceforge.net>__archive__
parent
cbc13187c3
commit
8f446fcf67
|
@ -489,7 +489,7 @@ struct reg_cache* armv4_5_build_reg_cache(struct target *target, struct arm *arm
|
||||||
|
|
||||||
reg_list[i].name = (char *) arm_core_regs[i].name;
|
reg_list[i].name = (char *) arm_core_regs[i].name;
|
||||||
reg_list[i].size = 32;
|
reg_list[i].size = 32;
|
||||||
reg_list[i].value = calloc(1, 4);
|
reg_list[i].value = &arch_info[i].value;
|
||||||
reg_list[i].type = &arm_reg_type;
|
reg_list[i].type = &arm_reg_type;
|
||||||
reg_list[i].arch_info = &arch_info[i];
|
reg_list[i].arch_info = &arch_info[i];
|
||||||
|
|
||||||
|
|
|
@ -143,6 +143,7 @@ struct armv4_5_core_reg
|
||||||
enum armv4_5_mode mode;
|
enum armv4_5_mode mode;
|
||||||
struct target *target;
|
struct target *target;
|
||||||
struct arm *armv4_5_common;
|
struct arm *armv4_5_common;
|
||||||
|
uint32_t value;
|
||||||
};
|
};
|
||||||
|
|
||||||
struct reg_cache* armv4_5_build_reg_cache(struct target *target,
|
struct reg_cache* armv4_5_build_reg_cache(struct target *target,
|
||||||
|
|
Loading…
Reference in New Issue