This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
Change #3053 missed perldelta.
[perl5.git] / byterun.h
index fee8eda..6e559ef 100644 (file)
--- a/byterun.h
+++ b/byterun.h
@@ -1,5 +1,5 @@
 /*
- *      Copyright (c) 1996 Malcolm Beattie
+ *      Copyright (c) 1996-1998 Malcolm Beattie
  *
  *      You may distribute under the terms of either the GNU General Public
  *      License or the Artistic License, as specified in the README file.
@@ -15,12 +15,12 @@ struct bytestream {
     int (*fread)(char *, size_t, size_t, void*);
     void (*freadpv)(U32, void*);
 };
-void freadpv _((U32, void *));
-void byterun _((struct bytestream));
-#else
-void byterun _((FILE *));
 #endif /* INDIRECT_BGET_MACROS */
 
+#ifndef PERL_OBJECT
+void *bset_obj_store _((void *, I32));
+#endif
+
 enum {
     INSN_RET,                  /* 0 */
     INSN_LDSV,                 /* 1 */
@@ -123,27 +123,25 @@ enum {
     INSN_OP_PMREPLSTART,                       /* 98 */
     INSN_OP_PMNEXT,                    /* 99 */
     INSN_PREGCOMP,                     /* 100 */
-    INSN_OP_PMSHORT,                   /* 101 */
-    INSN_OP_PMFLAGS,                   /* 102 */
-    INSN_OP_PMPERMFLAGS,                       /* 103 */
-    INSN_OP_PMSLEN,                    /* 104 */
-    INSN_OP_SV,                        /* 105 */
-    INSN_OP_GV,                        /* 106 */
-    INSN_OP_PV,                        /* 107 */
-    INSN_OP_PV_TR,                     /* 108 */
-    INSN_OP_REDOOP,                    /* 109 */
-    INSN_OP_NEXTOP,                    /* 110 */
-    INSN_OP_LASTOP,                    /* 111 */
-    INSN_COP_LABEL,                    /* 112 */
-    INSN_COP_STASH,                    /* 113 */
-    INSN_COP_FILEGV,                   /* 114 */
-    INSN_COP_SEQ,                      /* 115 */
-    INSN_COP_ARYBASE,                  /* 116 */
-    INSN_COP_LINE,                     /* 117 */
-    INSN_MAIN_START,                   /* 118 */
-    INSN_MAIN_ROOT,                    /* 119 */
-    INSN_CURPAD,                       /* 120 */
-    MAX_INSN = 120
+    INSN_OP_PMFLAGS,                   /* 101 */
+    INSN_OP_PMPERMFLAGS,                       /* 102 */
+    INSN_OP_SV,                        /* 103 */
+    INSN_OP_GV,                        /* 104 */
+    INSN_OP_PV,                        /* 105 */
+    INSN_OP_PV_TR,                     /* 106 */
+    INSN_OP_REDOOP,                    /* 107 */
+    INSN_OP_NEXTOP,                    /* 108 */
+    INSN_OP_LASTOP,                    /* 109 */
+    INSN_COP_LABEL,                    /* 110 */
+    INSN_COP_STASH,                    /* 111 */
+    INSN_COP_FILEGV,                   /* 112 */
+    INSN_COP_SEQ,                      /* 113 */
+    INSN_COP_ARYBASE,                  /* 114 */
+    INSN_COP_LINE,                     /* 115 */
+    INSN_MAIN_START,                   /* 116 */
+    INSN_MAIN_ROOT,                    /* 117 */
+    INSN_CURPAD,                       /* 118 */
+    MAX_INSN = 118
 };
 
 enum {
@@ -180,8 +178,9 @@ EXT int optype_size[]
 #endif /* DOINIT */
 ;
 
-EXT SV * specialsv_list[4]
-#ifdef DOINIT
-= { Nullsv, &sv_undef, &sv_yes, &sv_no }
-#endif /* DOINIT */
-;
+#define INIT_SPECIALSV_LIST STMT_START { \
+       PL_specialsv_list[0] = Nullsv; \
+       PL_specialsv_list[1] = &PL_sv_undef; \
+       PL_specialsv_list[2] = &PL_sv_yes; \
+       PL_specialsv_list[3] = &PL_sv_no; \
+    } STMT_END