diff options
author | Father Chrysostomos <sprout@cpan.org> | 2014-10-24 21:38:01 -0700 |
---|---|---|
committer | Father Chrysostomos <sprout@cpan.org> | 2014-10-24 21:46:13 -0700 |
commit | 96801525df66a32483d0872bdbfffea111d7add5 (patch) | |
tree | 7d18d6a8e4bc6ce182cd952041b1fb53f252a054 /perly.tab | |
parent | d40610d16eaa2c4551c2284e77d67581fc9ac258 (diff) | |
download | perl-96801525df66a32483d0872bdbfffea111d7add5.tar.gz |
Remove redundant op_lvalue calls in perly.y
When (\$x)=\$y is compiled, the \ on the lhs gives lvalue context to
its argument by calling op_lvalue. Then later the = gives lvalue con-
text to the \, calling op_lvalue again, which transforms the $x into
an lvref op (via op.c:S_lvref).
I just copied that logic when I extended aliasing via reference to
foreach \$x. But here, we don’t need to call op_lvalue on the $x,
because we know it is going to go through op.c:S_lvref, which doesn’t
care whether it has been through op_lvalue already or not. The end
result is the same.
Diffstat (limited to 'perly.tab')
-rw-r--r-- | perly.tab | 46 |
1 files changed, 23 insertions, 23 deletions
@@ -195,28 +195,28 @@ static const yytype_uint16 yyrline[] = 157, 156, 169, 168, 180, 188, 196, 199, 207, 212, 213, 223, 224, 233, 237, 241, 245, 252, 254, 265, 264, 296, 304, 303, 311, 317, 323, 334, 336, 338, - 345, 353, 355, 352, 371, 376, 383, 382, 398, 407, - 413, 420, 419, 434, 438, 446, 464, 465, 470, 472, - 474, 476, 478, 480, 482, 485, 491, 492, 497, 508, - 509, 515, 521, 522, 527, 530, 534, 539, 543, 547, - 551, 552, 556, 562, 567, 572, 573, 578, 579, 584, - 585, 587, 592, 594, 599, 601, 600, 619, 629, 630, - 634, 636, 638, 640, 644, 646, 651, 655, 659, 663, - 669, 674, 680, 686, 688, 691, 690, 701, 702, 706, - 710, 713, 718, 723, 726, 730, 734, 737, 742, 746, - 749, 751, 753, 758, 760, 762, 767, 769, 771, 773, - 775, 777, 779, 781, 783, 785, 787, 792, 794, 797, - 799, 801, 804, 807, 818, 821, 828, 830, 832, 834, - 836, 843, 845, 849, 850, 851, 852, 853, 855, 857, - 859, 861, 863, 865, 867, 869, 871, 873, 875, 877, - 879, 889, 899, 909, 919, 921, 923, 926, 931, 935, - 937, 939, 941, 944, 946, 949, 951, 953, 955, 957, - 959, 961, 963, 965, 968, 970, 972, 974, 976, 978, - 982, 985, 984, 997, 998, 999, 1004, 1008, 1010, 1015, - 1017, 1020, 1022, 1024, 1029, 1031, 1036, 1037, 1043, 1047, - 1048, 1049, 1052, 1053, 1056, 1060, 1064, 1070, 1076, 1078, - 1082, 1086, 1087, 1091, 1092, 1096, 1097, 1102, 1104, 1106, - 1109 + 345, 353, 355, 352, 371, 376, 383, 382, 397, 405, + 411, 418, 417, 432, 436, 444, 462, 463, 468, 470, + 472, 474, 476, 478, 480, 483, 489, 490, 495, 506, + 507, 513, 519, 520, 525, 528, 532, 537, 541, 545, + 549, 550, 554, 560, 565, 570, 571, 576, 577, 582, + 583, 585, 590, 592, 597, 599, 598, 617, 627, 628, + 632, 634, 636, 638, 642, 644, 649, 653, 657, 661, + 667, 672, 678, 684, 686, 689, 688, 699, 700, 704, + 708, 711, 716, 721, 724, 728, 732, 735, 740, 744, + 747, 749, 751, 756, 758, 760, 765, 767, 769, 771, + 773, 775, 777, 779, 781, 783, 785, 790, 792, 795, + 797, 799, 802, 805, 816, 819, 826, 828, 830, 832, + 834, 841, 843, 847, 848, 849, 850, 851, 853, 855, + 857, 859, 861, 863, 865, 867, 869, 871, 873, 875, + 877, 887, 897, 907, 917, 919, 921, 924, 929, 933, + 935, 937, 939, 942, 944, 947, 949, 951, 953, 955, + 957, 959, 961, 963, 966, 968, 970, 972, 974, 976, + 980, 983, 982, 995, 996, 997, 1002, 1006, 1008, 1013, + 1015, 1018, 1020, 1022, 1027, 1029, 1034, 1035, 1041, 1045, + 1046, 1047, 1050, 1051, 1054, 1058, 1062, 1068, 1074, 1076, + 1080, 1084, 1085, 1089, 1090, 1094, 1095, 1100, 1102, 1104, + 1107 }; #endif @@ -1140,6 +1140,6 @@ static const toketypes yy_type_tab[] = }; /* Generated from: - * e00865c409632c145afdedc53ed48cbd223351eb895754d2775ff66a5aae8533 perly.y + * 6943e6446c58ec52809f6821c15ff693b4d7c34f62c8a1b616279c2a66e3d62f perly.y * d1d4df7b8e30ac9dede664af9179e6e5e7ddc7f2ad9c4eff9e2e5b32c9e16a6e regen_perly.pl * ex: set ro: */ |