develooper Front page | perl.perl5.porters | Postings from December 2009

Re: [perl #70171] 5.10.0 -> 5.10.1 Regression in fafafbaf70 (Big slowdown in 5.10 @_ parameter passing)

Thread Previous | Thread Next
From:
Rafael Garcia-Suarez
Date:
December 7, 2009 05:35
Subject:
Re: [perl #70171] 5.10.0 -> 5.10.1 Regression in fafafbaf70 (Big slowdown in 5.10 @_ parameter passing)
Message ID:
b77c1dce0912070535t1ac813dfna9b0b5fe259161d4@mail.gmail.com
2009/12/6 Father Chrysostomos <sprout@cpan.org>:
> In this case my %x = %$x assigns a hash to itself. This causes the hv_clear
> in pp_aassign to wipe away the hash before it can be copied. The ‘panic:
> attempt to copy freed scalar’ error is triggered by this line, which copies
> the value:
>                        sv_setsv(tmpstr,*relem);        /* value */
>
> The solution is to make sure the OPpASSIGN_COMMON flag is on in such cases,
> so that pp_aassign copies everything before doing the assignment.

Even if you have an OP_PADSV on the left ? I think that in this case
we can leave the optimisation in.

> This fix causes a bus error in sort.t, because it happens to expose bug
> #71076. If the patch in that queue is applied first, this one works with no
> problems.

Ok.

Thread Previous | Thread Next


nntp.perl.org: Perl Programming lists via nntp and http.
Comments to Ask Bjørn Hansen at ask@perl.org | Group listing | About