Change 27433 by [EMAIL PROTECTED] on 2006/03/09 12:01:36
Unroll 27425 - keeping Larry's order in op.c means that exactly the
same sequence of pad usage is generated with and without MAD.
Affected files ...
... //depot/perl/ext/B/t/f_map.t#11 edit
... //depot/perl/op.c#780 edit
Differences ...
==== //depot/perl/ext/B/t/f_map.t#11 (text) ====
Index: perl/ext/B/t/f_map.t
--- perl/ext/B/t/f_map.t#10~27425~ 2006-03-08 13:18:58.000000000 -0800
+++ perl/ext/B/t/f_map.t 2006-03-09 04:01:36.000000000 -0800
@@ -57,32 +57,32 @@
# 2 <0> pushmark s
# 3 <0> pushmark s
# 4 <#> gv[*nums] s
-# 5 <1> rv2av[t6] lKM/1
+# 5 <1> rv2av[t7] lKM/1
# 6 <@> mapstart lK
-# 7 <|> mapwhile(other->8)[t7] lK
+# 7 <|> mapwhile(other->8)[t8] lK
# 8 <#> gvsv[*_] s
# 9 <1> chr[t5] sK/1
# goto 7
# a <0> pushmark s
# b <#> gv[*chars] s
# c <1> rv2av[t2] lKRM*/1
-# d <2> aassign[t8] KS/COMMON
+# d <2> aassign[t9] KS/COMMON
# e <1> leavesub[1 ref] K/REFC,1
EOT_EOT
# 1 <;> nextstate(main 559 (eval 15):1) v
# 2 <0> pushmark s
# 3 <0> pushmark s
# 4 <$> gv(*nums) s
-# 5 <1> rv2av[t2] lKM/1
+# 5 <1> rv2av[t4] lKM/1
# 6 <@> mapstart lK
-# 7 <|> mapwhile(other->8)[t4] lK
+# 7 <|> mapwhile(other->8)[t5] lK
# 8 <$> gvsv(*_) s
# 9 <1> chr[t3] sK/1
# goto 7
# a <0> pushmark s
# b <$> gv(*chars) s
# c <1> rv2av[t1] lKRM*/1
-# d <2> aassign[t5] KS/COMMON
+# d <2> aassign[t6] KS/COMMON
# e <1> leavesub[1 ref] K/REFC,1
EONT_EONT
==== //depot/perl/op.c#780 (text) ====
Index: perl/op.c
--- perl/op.c#779~27432~ 2006-03-09 03:20:14.000000000 -0800
+++ perl/op.c 2006-03-09 04:01:36.000000000 -0800
@@ -6365,13 +6365,15 @@
listkids(o);
}
else if (PL_opargs[type] & OA_DEFGV) {
- OP *newop = newUNOP(type, 0, newDEFSVOP());
#ifdef PERL_MAD
+ OP *newop = newUNOP(type, 0, newDEFSVOP());
op_getmad(o,newop,'O');
+ return newop;
#else
+ /* Ordering of these two is important to keep f_map.t passing. */
op_free(o);
+ return newUNOP(type, 0, newDEFSVOP());
#endif
- return newop;
}
if (oa) {
End of Patch.