Better fix for RT #2140 (list assignment with duplicated temporaries)
authorNicholas Clark <nick@ccl4.org>
Sun, 2 May 2010 19:23:29 +0000 (20:23 +0100)
committerNicholas Clark <nick@ccl4.org>
Sun, 2 May 2010 19:23:29 +0000 (20:23 +0100)
commit61e5f455dc8214c9c23deb700f3fcf67b180afa5
tree22b0dfab532bd36c00564e38b9415ed0e08bd456
parent86e10ae19d90298873ec725d677f8d6e69375b31
Better fix for RT #2140 (list assignment with duplicated temporaries)

4c8f17b905f2 (change 7867) took the approach of a special case in sv_setsv()
when PL_op indicated that the current OP was OP_AASSIGN. The problem is in one
part of pp_aassign, where it was using sv_mortalcopy() on values that were
correctly marked as temporaries, but also still needed later. Hence a more
targetted solution is to avoid that call, and to instead use API calls that
will not steal temporaries.
pp_hot.c
sv.c