From 6a0af06bd9f66780d2c3e9f69c40f2b89ad90605 Mon Sep 17 00:00:00 2001 From: David Brownell Date: Thu, 5 Nov 2009 22:04:25 -0800 Subject: ARM: shrink offsets Move various embedded target structs to the beginnings of their containers ... pretty much the way C++ or Obj-C would for single inheritance. This shrinks code that accesses those embedded structs by letting common offsets use smaller instructions. Sample before/after sizes (on amd64): 17181 312 0 17493 4455 arm920t.o 16810 312 0 17122 42e2 arm920t.o Where the "after" is the smaller number, with this patch over the ones leveraging that embedding knowledge. Signed-off-by: David Brownell --- src/target/arm926ejs.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'src/target/arm926ejs.h') diff --git a/src/target/arm926ejs.h b/src/target/arm926ejs.h index ff811e3f..01e3c090 100644 --- a/src/target/arm926ejs.h +++ b/src/target/arm926ejs.h @@ -27,9 +27,9 @@ typedef struct arm926ejs_common_s { + arm9tdmi_common_t arm9tdmi_common; uint32_t common_magic; armv4_5_mmu_common_t armv4_5_mmu; - arm9tdmi_common_t arm9tdmi_common; int (*read_cp15)(target_t *target, uint32_t op1, uint32_t op2, uint32_t CRn, uint32_t CRm, uint32_t *value); int (*write_cp15)(target_t *target, uint32_t op1, uint32_t op2, uint32_t CRn, uint32_t CRm, uint32_t value); uint32_t cp15_control_reg; -- cgit v1.2.3