qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Qemu-devel] [PATCH v2][RESEND] target-arm: cleanup internal resourc


From: Juha.Riihimaki
Subject: Re: [Qemu-devel] [PATCH v2][RESEND] target-arm: cleanup internal resource leaks
Date: Mon, 26 Oct 2009 11:52:54 +0100

On Oct 26, 2009, at 12:46, ext Laurent Desnogues wrote:

>> @@ -5511,8 +5539,9 @@ static int disas_neon_data_insn(CPUState *  
>> env, DisasContext *s, uint32_t insn)
>>                    tcg_gen_movi_i32(tmp, 0);
>>                }
>>                tmp2 = neon_load_reg(rm, 0);
>> -                gen_helper_neon_tbl(tmp2, tmp2, tmp, tcg_const_i32 
>> (rn),
>> -                                    tcg_const_i32(n));
>> +                tmp4 = tcg_const_i32(rn);
>> +                tmp5 = tcg_const_i32(n);
>> +                gen_helper_neon_tbl(tmp2, tmp2, tmp, tmp4, tmp5);
>>                dead_tmp(tmp);
>>                if (insn & (1 << 6)) {
>>                    tmp = neon_load_reg(rd, 1);
>> @@ -5521,8 +5550,9 @@ static int disas_neon_data_insn(CPUState *  
>> env, DisasContext *s, uint32_t insn)
>>                    tcg_gen_movi_i32(tmp, 0);
>>                }
>>                tmp3 = neon_load_reg(rm, 1);
>> -                gen_helper_neon_tbl(tmp3, tmp3, tmp, tcg_const_i32 
>> (rn),
>> -                                    tcg_const_i32(n));
>> +                gen_helper_neon_tbl(tmp3, tmp3, tmp, tmp4, tmp5);
>> +                dead_tmp(tmp5);
>> +                dead_tmp(tmp4);
>
> I missed this mistake when I acked the patch:  you're using
> dead_tmp instead of tcg_temp_free...  One more reason
> to drop dead_tmp :-)

Indeed. I'll fix it, didn't notice it either because I'm using other  
new_xxx/dead_xxx helpers myself to catch resource leaks. I should work  
around that to get more similar code and eliminate this kind of issues.

The bug will cause false resource leak reports, the actual freeing of  
the temporary is done correctly. Since this patch seems to have  
already been applied, I'll just provide a patch that fixes this  
specific error in the mainline instead of reposting a fixed version of  
the original patch.


Regards,
Juha




reply via email to

[Prev in Thread] Current Thread [Next in Thread]