|
From: Florian K. <fk...@so...> - 2025-12-12 20:46:18
|
https://sourceware.org/cgit/valgrind/commit/?id=5992b26427872876d1ab979448e070f037731fc2 commit 5992b26427872876d1ab979448e070f037731fc2 Author: Florian Krohm <fl...@ei...> Date: Fri Dec 12 20:43:55 2025 +0000 vex: change ISelEnv allocation No need for dynamic memory allocation. Local variable will do just fine. Saves roughly 136 bytes per IRSB on s390. Diff: --- VEX/priv/host_amd64_isel.c | 4 ++-- VEX/priv/host_arm64_isel.c | 4 ++-- VEX/priv/host_arm_isel.c | 4 ++-- VEX/priv/host_mips_isel.c | 4 ++-- VEX/priv/host_nanomips_isel.c | 4 ++-- VEX/priv/host_ppc_isel.c | 4 ++-- VEX/priv/host_riscv64_isel.c | 4 ++-- VEX/priv/host_s390_isel.c | 4 ++-- VEX/priv/host_x86_isel.c | 4 ++-- 9 files changed, 18 insertions(+), 18 deletions(-) diff --git a/VEX/priv/host_amd64_isel.c b/VEX/priv/host_amd64_isel.c index 6de40bccfb..3b0c459c49 100644 --- a/VEX/priv/host_amd64_isel.c +++ b/VEX/priv/host_amd64_isel.c @@ -5405,7 +5405,7 @@ HInstrArray* iselSB_AMD64 ( const IRSB* bb, { Int i, j; HReg hreg, hregHI; - ISelEnv* env; + ISelEnv *env, envmem; UInt hwcaps_host = archinfo_host->hwcaps; AMD64AMode *amCounter, *amFailAddr; @@ -5430,7 +5430,7 @@ HInstrArray* iselSB_AMD64 ( const IRSB* bb, vassert(archinfo_host->endness == VexEndnessLE); /* Make up an initial environment to use. */ - env = LibVEX_Alloc_inline(sizeof(ISelEnv)); + env = &envmem; env->vreg_ctr = 0; /* Set up output code array. */ diff --git a/VEX/priv/host_arm64_isel.c b/VEX/priv/host_arm64_isel.c index 55d688531d..0c072d5835 100644 --- a/VEX/priv/host_arm64_isel.c +++ b/VEX/priv/host_arm64_isel.c @@ -4641,7 +4641,7 @@ HInstrArray* iselSB_ARM64 ( const IRSB* bb, { Int i, j; HReg hreg, hregHI; - ISelEnv* env; + ISelEnv *env, envmem; UInt hwcaps_host = archinfo_host->hwcaps; ARM64AMode *amCounter, *amFailAddr; @@ -4655,7 +4655,7 @@ HInstrArray* iselSB_ARM64 ( const IRSB* bb, vassert(sizeof(ARM64Instr) <= 32); /* Make up an initial environment to use. */ - env = LibVEX_Alloc_inline(sizeof(ISelEnv)); + env = &envmem; env->vreg_ctr = 0; /* Set up output code array. */ diff --git a/VEX/priv/host_arm_isel.c b/VEX/priv/host_arm_isel.c index 71bf871c4f..75041b63b0 100644 --- a/VEX/priv/host_arm_isel.c +++ b/VEX/priv/host_arm_isel.c @@ -6540,7 +6540,7 @@ HInstrArray* iselSB_ARM ( const IRSB* bb, { Int i, j; HReg hreg, hregHI; - ISelEnv* env; + ISelEnv *env, envmem; UInt hwcaps_host = archinfo_host->hwcaps; ARMAMode1 *amCounter, *amFailAddr; @@ -6554,7 +6554,7 @@ HInstrArray* iselSB_ARM ( const IRSB* bb, vassert(sizeof(ARMInstr) <= 28); /* Make up an initial environment to use. */ - env = LibVEX_Alloc_inline(sizeof(ISelEnv)); + env = &envmem; env->vreg_ctr = 0; /* Set up output code array. */ diff --git a/VEX/priv/host_mips_isel.c b/VEX/priv/host_mips_isel.c index 7d57078ba8..19c761b00b 100644 --- a/VEX/priv/host_mips_isel.c +++ b/VEX/priv/host_mips_isel.c @@ -7410,7 +7410,7 @@ HInstrArray *iselSB_MIPS ( const IRSB* bb, { Int i, j; HReg hreg, hregHI; - ISelEnv* env; + ISelEnv *env, envmem; MIPSAMode *amCounter, *amFailAddr; hwcaps_host = archinfo_host->hwcaps; @@ -7433,7 +7433,7 @@ HInstrArray *iselSB_MIPS ( const IRSB* bb, has_msa = VEX_MIPS_PROC_MSA(archinfo_host->hwcaps); /* Make up an initial environment to use. */ - env = LibVEX_Alloc_inline(sizeof(ISelEnv)); + env = &envmem; env->vreg_ctr = 0; env->mode64 = mode64; env->fp_mode64 = fp_mode64; diff --git a/VEX/priv/host_nanomips_isel.c b/VEX/priv/host_nanomips_isel.c index 65998fd8aa..c14dfbc106 100644 --- a/VEX/priv/host_nanomips_isel.c +++ b/VEX/priv/host_nanomips_isel.c @@ -1515,7 +1515,7 @@ HInstrArray *iselSB_NANOMIPS(const IRSB * bb, { Int i, j; HReg hreg, hregHI; - ISelEnv *env; + ISelEnv *env, envmem; hwcaps_host = archinfo_host->hwcaps; /* sanity ... */ vassert(arch_host == VexArchNANOMIPS); @@ -1523,7 +1523,7 @@ HInstrArray *iselSB_NANOMIPS(const IRSB * bb, vassert(archinfo_host->endness == VexEndnessLE || archinfo_host->endness == VexEndnessBE); /* Make up an initial environment to use. */ - env = LibVEX_Alloc_inline(sizeof(ISelEnv)); + env = &envmem; env->vreg_ctr = 0; /* Set up output code array. */ env->code = newHInstrArray(); diff --git a/VEX/priv/host_ppc_isel.c b/VEX/priv/host_ppc_isel.c index ea7ff89a9d..daac1ed16f 100644 --- a/VEX/priv/host_ppc_isel.c +++ b/VEX/priv/host_ppc_isel.c @@ -7259,7 +7259,7 @@ HInstrArray* iselSB_PPC ( const IRSB* bb, { Int i, j; HReg hregLo, hregMedLo, hregMedHi, hregHi; - ISelEnv* env; + ISelEnv *env, envmem; UInt hwcaps_host = archinfo_host->hwcaps; Bool mode64 = False; UInt mask32, mask64; @@ -7297,7 +7297,7 @@ HInstrArray* iselSB_PPC ( const IRSB* bb, IEndianess = Iend_LE; /* Make up an initial environment to use. */ - env = LibVEX_Alloc_inline(sizeof(ISelEnv)); + env = &envmem; env->vreg_ctr = 0; /* Are we being ppc32 or ppc64? */ diff --git a/VEX/priv/host_riscv64_isel.c b/VEX/priv/host_riscv64_isel.c index b174d260d0..ca1b8babe5 100644 --- a/VEX/priv/host_riscv64_isel.c +++ b/VEX/priv/host_riscv64_isel.c @@ -2014,7 +2014,7 @@ HInstrArray* iselSB_RISCV64(const IRSB* bb, { Int i, j; HReg hreg, hregHI; - ISelEnv* env; + ISelEnv *env, envmem; /* Do some sanity checks. */ vassert(arch_host == VexArchRISCV64); @@ -2026,7 +2026,7 @@ HInstrArray* iselSB_RISCV64(const IRSB* bb, vassert(sizeof(RISCV64Instr) <= 32); /* Make up an initial environment to use. */ - env = LibVEX_Alloc_inline(sizeof(ISelEnv)); + env = &envmem; env->vreg_ctr = 0; /* Set up output code array. */ diff --git a/VEX/priv/host_s390_isel.c b/VEX/priv/host_s390_isel.c index ffe8a82a2a..d128f6eeb0 100644 --- a/VEX/priv/host_s390_isel.c +++ b/VEX/priv/host_s390_isel.c @@ -5497,7 +5497,7 @@ iselSB_S390(const IRSB *bb, VexArch arch_host, const VexArchInfo *archinfo_host, { UInt i, j; HReg hreg, hregHI; - ISelEnv *env; + ISelEnv *env, envmem; UInt hwcaps_host = archinfo_host->hwcaps; /* Do some sanity checks */ @@ -5507,7 +5507,7 @@ iselSB_S390(const IRSB *bb, VexArch arch_host, const VexArchInfo *archinfo_host, vassert(archinfo_host->endness == VexEndnessBE); /* Make up an initial environment to use. */ - env = LibVEX_Alloc_inline(sizeof(ISelEnv)); + env = &envmem; env->vreg_ctr = 0; /* Set up output code array. */ diff --git a/VEX/priv/host_x86_isel.c b/VEX/priv/host_x86_isel.c index 72d6b46843..22a5702c05 100644 --- a/VEX/priv/host_x86_isel.c +++ b/VEX/priv/host_x86_isel.c @@ -4586,7 +4586,7 @@ HInstrArray* iselSB_X86 ( const IRSB* bb, { Int i, j; HReg hreg, hregHI; - ISelEnv* env; + ISelEnv *env, envmem; UInt hwcaps_host = archinfo_host->hwcaps; X86AMode *amCounter, *amFailAddr; @@ -4603,7 +4603,7 @@ HInstrArray* iselSB_X86 ( const IRSB* bb, vassert(archinfo_host->endness == VexEndnessLE); /* Make up an initial environment to use. */ - env = LibVEX_Alloc_inline(sizeof(ISelEnv)); + env = &envmem; env->vreg_ctr = 0; /* Set up output code array. */ |