summaryrefslogtreecommitdiff
path: root/opcode.h
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.h
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.h')
-rw-r--r--opcode.h21
1 files changed, 18 insertions, 3 deletions
diff --git a/opcode.h b/opcode.h
index 76df85cbb9..a7ca1520c0 100644
--- a/opcode.h
+++ b/opcode.h
@@ -163,6 +163,9 @@ EXTCONST char* const PL_op_name[] = {
"aelemfast",
"aelem",
"aslice",
+ "aeach",
+ "akeys",
+ "avalues",
"each",
"values",
"keys",
@@ -532,6 +535,9 @@ EXTCONST char* const PL_op_desc[] = {
"constant array element",
"array element",
"array slice",
+ "each on array",
+ "keys on array",
+ "values on array",
"each",
"values",
"keys",
@@ -915,6 +921,9 @@ EXT Perl_ppaddr_t PL_ppaddr[] /* or perlvars.h */
MEMBER_TO_FPTR(Perl_pp_aelemfast),
MEMBER_TO_FPTR(Perl_pp_aelem),
MEMBER_TO_FPTR(Perl_pp_aslice),
+ MEMBER_TO_FPTR(Perl_pp_aeach),
+ MEMBER_TO_FPTR(Perl_pp_akeys),
+ MEMBER_TO_FPTR(Perl_pp_akeys), /* Perl_pp_avalues */
MEMBER_TO_FPTR(Perl_pp_each),
MEMBER_TO_FPTR(Perl_do_kv), /* Perl_pp_values */
MEMBER_TO_FPTR(Perl_do_kv), /* Perl_pp_keys */
@@ -1295,9 +1304,12 @@ EXT Perl_check_t PL_check[] /* or perlvars.h */
MEMBER_TO_FPTR(Perl_ck_null), /* aelemfast */
MEMBER_TO_FPTR(Perl_ck_null), /* aelem */
MEMBER_TO_FPTR(Perl_ck_null), /* aslice */
- MEMBER_TO_FPTR(Perl_ck_fun), /* each */
- MEMBER_TO_FPTR(Perl_ck_fun), /* values */
- MEMBER_TO_FPTR(Perl_ck_fun), /* keys */
+ MEMBER_TO_FPTR(Perl_ck_each), /* aeach */
+ MEMBER_TO_FPTR(Perl_ck_each), /* akeys */
+ MEMBER_TO_FPTR(Perl_ck_each), /* avalues */
+ MEMBER_TO_FPTR(Perl_ck_each), /* each */
+ MEMBER_TO_FPTR(Perl_ck_each), /* values */
+ MEMBER_TO_FPTR(Perl_ck_each), /* keys */
MEMBER_TO_FPTR(Perl_ck_delete), /* delete */
MEMBER_TO_FPTR(Perl_ck_exists), /* exists */
MEMBER_TO_FPTR(Perl_ck_rvconst), /* rv2hv */
@@ -1669,6 +1681,9 @@ EXTCONST U32 PL_opargs[] = {
0x00026c04, /* aelemfast */
0x00026404, /* aelem */
0x00046801, /* aslice */
+ 0x00007600, /* aeach */
+ 0x00007608, /* akeys */
+ 0x00007608, /* avalues */
0x00009600, /* each */
0x00009608, /* values */
0x00009608, /* keys */