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__
David Brownell 2009-11-19 13:23:49 -08:00
parent cbc13187c3
commit 8f446fcf67
2 changed files with 2 additions and 1 deletions

View File

@ -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];

View File

@ -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,