X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=blobdiff_plain;f=byterun.h;h=6e559ef4ff9cc110b04cc2cda52e668e62ea8e0e;hb=1d5472a96cdafb6d0b947d16fd3e5f3ddac8a37b;hp=fee8eda438a7a830826eee5441df03b1b11b91eb;hpb=79ee829736f0059fc3a1c40f89ec42de04dad28e;p=p5sagit%2Fp5-mst-13.2.git diff --git a/byterun.h b/byterun.h index fee8eda..6e559ef 100644 --- 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