-/* !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
- This file is built by opcode.pl from its data. Any changes made here
- will be lost!
-*/
+/* -*- buffer-read-only: t -*-
+ *
+ * opcode.h
+ *
+ * Copyright (C) 1993, 1994, 1995, 1996, 1997, 1998, 1999,
+ * 2000, 2001, 2002, 2003, 2004, 2005 by Larry Wall and others
+ *
+ * You may distribute under the terms of either the GNU General Public
+ * License or the Artistic License, as specified in the README file.
+ *
+ * !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
+ * This file is built by opcode.pl from its data. Any changes made here
+ * will be lost!
+ */
+
+#ifndef PERL_GLOBAL_STRUCT_INIT
#define Perl_pp_i_preinc Perl_pp_preinc
#define Perl_pp_i_predec Perl_pp_predec
#define Perl_pp_i_postinc Perl_pp_postinc
#define Perl_pp_i_postdec Perl_pp_postdec
-
START_EXTERN_C
-
-#define OP_NAME(o) (o->op_type == OP_CUSTOM ? custom_op_name(o) : \
- PL_op_name[o->op_type])
-#define OP_DESC(o) (o->op_type == OP_CUSTOM ? custom_op_desc(o) : \
- PL_op_desc[o->op_type])
+#define OP_NAME(o) ((o)->op_type == OP_CUSTOM ? custom_op_name(o) : \
+ PL_op_name[(o)->op_type])
+#define OP_DESC(o) ((o)->op_type == OP_CUSTOM ? custom_op_desc(o) : \
+ PL_op_desc[(o)->op_type])
#ifndef DOINIT
-EXT char *PL_op_name[];
+EXTCONST char* const PL_op_name[];
#else
-EXT char *PL_op_name[] = {
+EXTCONST char* const PL_op_name[] = {
"null",
"stub",
"scalar",
"threadsv",
"setstate",
"method_named",
+ "dor",
+ "dorassign",
"custom",
};
#endif
#ifndef DOINIT
-EXT char *PL_op_desc[];
+EXTCONST char* const PL_op_desc[];
#else
-EXT char *PL_op_desc[] = {
+EXTCONST char* const PL_op_desc[] = {
"null operation",
"stub",
"scalar",
"per-thread value",
"set statement info",
"method with known name",
+ "defined or (//)",
+ "defined or assignment (//=)",
"unknown custom operator",
};
#endif
END_EXTERN_C
+#endif /* !PERL_GLOBAL_STRUCT_INIT */
START_EXTERN_C
-#ifndef DOINIT
-EXT OP * (CPERLscope(*PL_ppaddr)[])(pTHX);
+#ifdef PERL_GLOBAL_STRUCT_INIT
+static const Perl_ppaddr_t Gppaddr[]
#else
-EXT OP * (CPERLscope(*PL_ppaddr)[])(pTHX) = {
+# ifndef PERL_GLOBAL_STRUCT
+EXT Perl_ppaddr_t PL_ppaddr[] /* or perlvars.h */
+# endif
+#endif /* PERL_GLOBAL_STRUCT */
+#if (defined(DOINIT) && !defined(PERL_GLOBAL_STRUCT)) || defined(PERL_GLOBAL_STRUCT_INIT)
+= {
MEMBER_TO_FPTR(Perl_pp_null),
MEMBER_TO_FPTR(Perl_pp_stub),
MEMBER_TO_FPTR(Perl_pp_scalar),
MEMBER_TO_FPTR(Perl_pp_threadsv),
MEMBER_TO_FPTR(Perl_pp_setstate),
MEMBER_TO_FPTR(Perl_pp_method_named),
-};
+ MEMBER_TO_FPTR(Perl_pp_dor),
+ MEMBER_TO_FPTR(Perl_pp_dorassign),
+}
#endif
+;
-#ifndef DOINIT
-EXT OP * (CPERLscope(*PL_check)[]) (pTHX_ OP *op);
+#ifdef PERL_GLOBAL_STRUCT_INIT
+static const Perl_check_t Gcheck[]
#else
-EXT OP * (CPERLscope(*PL_check)[]) (pTHX_ OP *op) = {
+# ifndef PERL_GLOBAL_STRUCT
+EXT Perl_check_t PL_check[] /* or perlvars.h */
+# endif
+#endif
+#if (defined(DOINIT) && !defined(PERL_GLOBAL_STRUCT)) || defined(PERL_GLOBAL_STRUCT_INIT)
+= {
MEMBER_TO_FPTR(Perl_ck_null), /* null */
MEMBER_TO_FPTR(Perl_ck_null), /* stub */
MEMBER_TO_FPTR(Perl_ck_fun), /* scalar */
MEMBER_TO_FPTR(Perl_ck_null), /* regcomp */
MEMBER_TO_FPTR(Perl_ck_match), /* match */
MEMBER_TO_FPTR(Perl_ck_match), /* qr */
- MEMBER_TO_FPTR(Perl_ck_null), /* subst */
+ MEMBER_TO_FPTR(Perl_ck_match), /* subst */
MEMBER_TO_FPTR(Perl_ck_null), /* substcont */
- MEMBER_TO_FPTR(Perl_ck_null), /* trans */
+ MEMBER_TO_FPTR(Perl_ck_match), /* trans */
MEMBER_TO_FPTR(Perl_ck_sassign), /* sassign */
MEMBER_TO_FPTR(Perl_ck_null), /* aassign */
MEMBER_TO_FPTR(Perl_ck_spair), /* chop */
MEMBER_TO_FPTR(Perl_ck_rvconst), /* rv2hv */
MEMBER_TO_FPTR(Perl_ck_null), /* helem */
MEMBER_TO_FPTR(Perl_ck_null), /* hslice */
- MEMBER_TO_FPTR(Perl_ck_fun), /* unpack */
+ MEMBER_TO_FPTR(Perl_ck_unpack), /* unpack */
MEMBER_TO_FPTR(Perl_ck_fun), /* pack */
MEMBER_TO_FPTR(Perl_ck_split), /* split */
MEMBER_TO_FPTR(Perl_ck_join), /* join */
MEMBER_TO_FPTR(Perl_ck_null), /* threadsv */
MEMBER_TO_FPTR(Perl_ck_null), /* setstate */
MEMBER_TO_FPTR(Perl_ck_null), /* method_named */
+ MEMBER_TO_FPTR(Perl_ck_null), /* dor */
+ MEMBER_TO_FPTR(Perl_ck_null), /* dorassign */
MEMBER_TO_FPTR(Perl_ck_null), /* custom */
-};
+}
#endif
+;
+
+#ifndef PERL_GLOBAL_STRUCT_INIT
#ifndef DOINIT
-EXT U32 PL_opargs[];
+EXT const U32 PL_opargs[];
#else
-EXT U32 PL_opargs[] = {
+EXT const U32 PL_opargs[] = {
0x00000000, /* null */
0x00000000, /* stub */
0x00003604, /* scalar */
0x00000248, /* rv2hv */
0x00028404, /* helem */
0x00048801, /* hslice */
- 0x00022800, /* unpack */
+ 0x00122800, /* unpack */
0x0004280d, /* pack */
0x00222808, /* split */
0x0004280d, /* join */
0x00004805, /* anonhash */
0x05326801, /* splice */
0x0004691d, /* push */
- 0x00007604, /* pop */
- 0x00007604, /* shift */
+ 0x00017604, /* pop */
+ 0x00017604, /* shift */
0x0004691d, /* unshift */
0x0005a801, /* sort */
0x00004809, /* reverse */
0x0002291c, /* link */
0x0002291c, /* symlink */
0x0001368c, /* readlink */
- 0x0012291c, /* mkdir */
+ 0x0013299c, /* mkdir */
0x0001379c, /* rmdir */
0x0002c814, /* open_dir */
0x0000d600, /* readdir */
0x00000014, /* egrent */
0x0000000c, /* getlogin */
0x0004281d, /* syscall */
- 0x00003604, /* lock */
+ 0x0000f604, /* lock */
0x00000044, /* threadsv */
0x00001404, /* setstate */
0x00000c40, /* method_named */
+ 0x00000600, /* dor */
+ 0x00000604, /* dorassign */
0x00000000, /* custom */
};
#endif
END_EXTERN_C
+
+#endif /* !PERL_GLOBAL_STRUCT_INIT */
+/* ex: set ro: */