Skip to content

Commit

Permalink
cpu: Drop unnecessary dynamic casts in *_env_get_cpu()
Browse files Browse the repository at this point in the history
A transition from CPUFooState to FooCPU can be considered safe,
just like FooCPU::env access in the opposite direction.
The only benefit of the FOO_CPU() casts would be protection against
bogus CPUFooState pointers, but then surrounding code would likely
break, too.

This should slightly improve interrupt etc. performance when going from
CPUFooState to FooCPU.
For any additional CPU() casts see 3556c23
(qom: allow turning cast debugging off).

Reported-by: Anthony Liguori <aliguori@us.ibm.com>
Acked-by: Richard Henderson <rth@twiddle.net>
Signed-off-by: Andreas Färber <afaerber@suse.de>
  • Loading branch information
afaerber committed Jul 9, 2013
1 parent 6291ad7 commit 6e42be7
Show file tree
Hide file tree
Showing 16 changed files with 16 additions and 16 deletions.
2 changes: 1 addition & 1 deletion target-alpha/cpu-qom.h
Expand Up @@ -67,7 +67,7 @@ typedef struct AlphaCPU {

static inline AlphaCPU *alpha_env_get_cpu(CPUAlphaState *env)
{
return ALPHA_CPU(container_of(env, AlphaCPU, env));
return container_of(env, AlphaCPU, env);
}

#define ENV_GET_CPU(e) CPU(alpha_env_get_cpu(e))
Expand Down
2 changes: 1 addition & 1 deletion target-arm/cpu-qom.h
Expand Up @@ -127,7 +127,7 @@ typedef struct ARMCPU {

static inline ARMCPU *arm_env_get_cpu(CPUARMState *env)
{
return ARM_CPU(container_of(env, ARMCPU, env));
return container_of(env, ARMCPU, env);
}

#define ENV_GET_CPU(e) CPU(arm_env_get_cpu(e))
Expand Down
2 changes: 1 addition & 1 deletion target-cris/cpu-qom.h
Expand Up @@ -66,7 +66,7 @@ typedef struct CRISCPU {

static inline CRISCPU *cris_env_get_cpu(CPUCRISState *env)
{
return CRIS_CPU(container_of(env, CRISCPU, env));
return container_of(env, CRISCPU, env);
}

#define ENV_GET_CPU(e) CPU(cris_env_get_cpu(e))
Expand Down
2 changes: 1 addition & 1 deletion target-i386/cpu-qom.h
Expand Up @@ -72,7 +72,7 @@ typedef struct X86CPU {

static inline X86CPU *x86_env_get_cpu(CPUX86State *env)
{
return X86_CPU(container_of(env, X86CPU, env));
return container_of(env, X86CPU, env);
}

#define ENV_GET_CPU(e) CPU(x86_env_get_cpu(e))
Expand Down
2 changes: 1 addition & 1 deletion target-lm32/cpu-qom.h
Expand Up @@ -64,7 +64,7 @@ typedef struct LM32CPU {

static inline LM32CPU *lm32_env_get_cpu(CPULM32State *env)
{
return LM32_CPU(container_of(env, LM32CPU, env));
return container_of(env, LM32CPU, env);
}

#define ENV_GET_CPU(e) CPU(lm32_env_get_cpu(e))
Expand Down
2 changes: 1 addition & 1 deletion target-m68k/cpu-qom.h
Expand Up @@ -63,7 +63,7 @@ typedef struct M68kCPU {

static inline M68kCPU *m68k_env_get_cpu(CPUM68KState *env)
{
return M68K_CPU(container_of(env, M68kCPU, env));
return container_of(env, M68kCPU, env);
}

#define ENV_GET_CPU(e) CPU(m68k_env_get_cpu(e))
Expand Down
2 changes: 1 addition & 1 deletion target-microblaze/cpu-qom.h
Expand Up @@ -64,7 +64,7 @@ typedef struct MicroBlazeCPU {

static inline MicroBlazeCPU *mb_env_get_cpu(CPUMBState *env)
{
return MICROBLAZE_CPU(container_of(env, MicroBlazeCPU, env));
return container_of(env, MicroBlazeCPU, env);
}

#define ENV_GET_CPU(e) CPU(mb_env_get_cpu(e))
Expand Down
2 changes: 1 addition & 1 deletion target-mips/cpu-qom.h
Expand Up @@ -67,7 +67,7 @@ typedef struct MIPSCPU {

static inline MIPSCPU *mips_env_get_cpu(CPUMIPSState *env)
{
return MIPS_CPU(container_of(env, MIPSCPU, env));
return container_of(env, MIPSCPU, env);
}

#define ENV_GET_CPU(e) CPU(mips_env_get_cpu(e))
Expand Down
2 changes: 1 addition & 1 deletion target-moxie/cpu.h
Expand Up @@ -106,7 +106,7 @@ typedef struct MoxieCPU {

static inline MoxieCPU *moxie_env_get_cpu(CPUMoxieState *env)
{
return MOXIE_CPU(container_of(env, MoxieCPU, env));
return container_of(env, MoxieCPU, env);
}

#define ENV_GET_CPU(e) CPU(moxie_env_get_cpu(e))
Expand Down
2 changes: 1 addition & 1 deletion target-openrisc/cpu.h
Expand Up @@ -335,7 +335,7 @@ typedef struct OpenRISCCPU {

static inline OpenRISCCPU *openrisc_env_get_cpu(CPUOpenRISCState *env)
{
return OPENRISC_CPU(container_of(env, OpenRISCCPU, env));
return container_of(env, OpenRISCCPU, env);
}

#define ENV_GET_CPU(e) CPU(openrisc_env_get_cpu(e))
Expand Down
2 changes: 1 addition & 1 deletion target-ppc/cpu-qom.h
Expand Up @@ -91,7 +91,7 @@ typedef struct PowerPCCPU {

static inline PowerPCCPU *ppc_env_get_cpu(CPUPPCState *env)
{
return POWERPC_CPU(container_of(env, PowerPCCPU, env));
return container_of(env, PowerPCCPU, env);
}

#define ENV_GET_CPU(e) CPU(ppc_env_get_cpu(e))
Expand Down
2 changes: 1 addition & 1 deletion target-s390x/cpu-qom.h
Expand Up @@ -64,7 +64,7 @@ typedef struct S390CPU {

static inline S390CPU *s390_env_get_cpu(CPUS390XState *env)
{
return S390_CPU(container_of(env, S390CPU, env));
return container_of(env, S390CPU, env);
}

#define ENV_GET_CPU(e) CPU(s390_env_get_cpu(e))
Expand Down
2 changes: 1 addition & 1 deletion target-sh4/cpu-qom.h
Expand Up @@ -76,7 +76,7 @@ typedef struct SuperHCPU {

static inline SuperHCPU *sh_env_get_cpu(CPUSH4State *env)
{
return SUPERH_CPU(container_of(env, SuperHCPU, env));
return container_of(env, SuperHCPU, env);
}

#define ENV_GET_CPU(e) CPU(sh_env_get_cpu(e))
Expand Down
2 changes: 1 addition & 1 deletion target-sparc/cpu-qom.h
Expand Up @@ -68,7 +68,7 @@ typedef struct SPARCCPU {

static inline SPARCCPU *sparc_env_get_cpu(CPUSPARCState *env)
{
return SPARC_CPU(container_of(env, SPARCCPU, env));
return container_of(env, SPARCCPU, env);
}

#define ENV_GET_CPU(e) CPU(sparc_env_get_cpu(e))
Expand Down
2 changes: 1 addition & 1 deletion target-unicore32/cpu-qom.h
Expand Up @@ -53,7 +53,7 @@ typedef struct UniCore32CPU {

static inline UniCore32CPU *uc32_env_get_cpu(CPUUniCore32State *env)
{
return UNICORE32_CPU(container_of(env, UniCore32CPU, env));
return container_of(env, UniCore32CPU, env);
}

#define ENV_GET_CPU(e) CPU(uc32_env_get_cpu(e))
Expand Down
2 changes: 1 addition & 1 deletion target-xtensa/cpu-qom.h
Expand Up @@ -73,7 +73,7 @@ typedef struct XtensaCPU {

static inline XtensaCPU *xtensa_env_get_cpu(const CPUXtensaState *env)
{
return XTENSA_CPU(container_of(env, XtensaCPU, env));
return container_of(env, XtensaCPU, env);
}

#define ENV_GET_CPU(e) CPU(xtensa_env_get_cpu(e))
Expand Down

0 comments on commit 6e42be7

Please sign in to comment.