summaryrefslogtreecommitdiff
path: root/opcode.pl
diff options
context:
space:
mode:
authorNicholas Clark <nick@ccl4.org>2007-12-20 21:15:57 +0000
committerNicholas Clark <nick@ccl4.org>2007-12-20 21:15:57 +0000
commit878d132a73f5d089e821fedd49aa4835a2786d1d (patch)
tree5f489d4e731a9809ef0261bfb731eee600f3911a /opcode.pl
parent3bdcbd26ea8ce137a02a61d6364dbbb1afb63c19 (diff)
downloadperl-878d132a73f5d089e821fedd49aa4835a2786d1d.tar.gz
Implement each @array.
Documentation needed, FIXME for proper 64 bit support of arrays longer than 2**32, re-order the new ops at the end if merging to 5.10.x. p4raw-id: //depot/perl@32680
Diffstat (limited to 'opcode.pl')
-rwxr-xr-xopcode.pl11
1 files changed, 8 insertions, 3 deletions
diff --git a/opcode.pl b/opcode.pl
index 854996dfb4..c65ced3c2e 100755
--- a/opcode.pl
+++ b/opcode.pl
@@ -91,6 +91,7 @@ my @raw_alias = (
Perl_pp_sin => [qw(cos exp log sqrt)],
Perl_pp_bit_or => ['bit_xor'],
Perl_pp_rv2av => ['rv2hv'],
+ Perl_pp_akeys => ['avalues'],
);
while (my ($func, $names) = splice @raw_alias, 0, 2) {
@@ -736,11 +737,15 @@ aelemfast constant array element ck_null s$ A S
aelem array element ck_null s2 A S
aslice array slice ck_null m@ A L
+aeach each on array ck_each % A
+akeys keys on array ck_each t% A
+avalues values on array ck_each t% A
+
# Hashes.
-each each ck_fun % H
-values values ck_fun t% H
-keys keys ck_fun t% H
+each each ck_each % H
+values values ck_each t% H
+keys keys ck_each t% H
delete delete ck_delete % S
exists exists ck_exists is% S
rv2hv hash dereference ck_rvconst dt1