refactor aassign
authorRuslan Zakirov <ruz@bestpractical.com>
Sun, 14 Oct 2012 00:41:35 +0000 (04:41 +0400)
committerFather Chrysostomos <sprout@cpan.org>
Tue, 11 Dec 2012 16:59:41 +0000 (08:59 -0800)
commit1c4ea38437d309ec547e78e6f14940e799920be3
tree0d57cc77f2b6548b5f81bf1dc0a8a60af77bb2fb
parent4ff6ceafd69f873d6db07cde3cb7c5cb6e8fef2d
refactor aassign

move populating stack with return values. Place it
into main loop right after we stored values.

This allow us to delete special if blocks for
hash/array on LHS followed by other hash/array.

Also, clearing HV out of ENTER/LEAVE block is bad -
segfaults in corner cases.

Don't use goto for odd elements case.

store undef on stack for odd case. we can avoid NULL
checks in the loop and use assert like array assignment
does.

use SvSETMAGIC rather than repeate what it means.

for array and hash assignment "while (relem <= SP)" loop
at the end was always empty. Put it into else branch.
pp_hot.c