From: Gurusamy Sarathy Date: Tue, 21 Jul 1998 05:31:13 +0000 (+0000) Subject: part 2 of PERL_OBJECT fixes (globals in bytecode.h moved to intrpvar.h) X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=commitdiff_plain;h=9f53fe7d93eb5e037ad4e2dad8fdfda2936aa875;p=p5sagit%2Fp5-mst-13.2.git part 2 of PERL_OBJECT fixes (globals in bytecode.h moved to intrpvar.h) p4raw-id: //depot/perl@1608 --- diff --git a/bytecode.h b/bytecode.h index e19bb22..ce84c81 100644 --- a/bytecode.h +++ b/bytecode.h @@ -7,19 +7,6 @@ typedef SV *svindex; typedef OP *opindex; typedef IV IV64; -EXT int iv_overflows INIT(0); - -EXT SV *sv; -/* -#ifndef USE_THREADS -EXT OP *PL_op; -#endif -*/ -EXT XPV pv; - -EXT void **obj_list; -EXT I32 obj_list_fill INIT(-1); - #ifdef INDIRECT_BGET_MACROS #define BGET_FREAD(argp, len, nelem) \ bs.fread((char*)(argp),(len),(nelem),bs.data) @@ -43,23 +30,23 @@ EXT I32 obj_list_fill INIT(-1); if (arg) \ bs.freadpv(arg, bs.data); \ else { \ - pv.xpv_pv = 0; \ - pv.xpv_len = 0; \ - pv.xpv_cur = 0; \ + PL_pv.xpv_pv = 0; \ + PL_pv.xpv_len = 0; \ + PL_pv.xpv_cur = 0; \ } \ } STMT_END #else #define BGET_PV(arg) STMT_START { \ BGET_U32(arg); \ if (arg) { \ - New(666, pv.xpv_pv, arg, char); \ - PerlIO_read(fp, pv.xpv_pv, arg); \ - pv.xpv_len = arg; \ - pv.xpv_cur = arg - 1; \ + New(666, PL_pv.xpv_pv, arg, char); \ + PerlIO_read(fp, PL_pv.xpv_pv, arg); \ + PL_pv.xpv_len = arg; \ + PL_pv.xpv_cur = arg - 1; \ } else { \ - pv.xpv_pv = 0; \ - pv.xpv_len = 0; \ - pv.xpv_cur = 0; \ + PL_pv.xpv_pv = 0; \ + PL_pv.xpv_len = 0; \ + PL_pv.xpv_cur = 0; \ } \ } STMT_END #endif /* INDIRECT_BGET_MACROS */ @@ -83,7 +70,7 @@ EXT I32 obj_list_fill INIT(-1); arg = (I32)lo; \ } \ else { \ - iv_overflows++; \ + PL_iv_overflows++; \ arg = 0; \ } \ } STMT_END @@ -98,7 +85,7 @@ EXT I32 obj_list_fill INIT(-1); arg = (char *) ary; \ } while (0) -#define BGET_pvcontents(arg) arg = pv.xpv_pv +#define BGET_pvcontents(arg) arg = PL_pv.xpv_pv #define BGET_strconst(arg) STMT_START { \ for (arg = PL_tokenbuf; (*arg = BGET_FGETC()); arg++) /* nothing */; \ arg = PL_tokenbuf; \ @@ -113,7 +100,7 @@ EXT I32 obj_list_fill INIT(-1); #define BGET_objindex(arg, type) STMT_START { \ U32 ix; \ BGET_U32(ix); \ - arg = (type)obj_list[ix]; \ + arg = (type)PL_obj_list[ix]; \ } STMT_END #define BGET_svindex(arg) BGET_objindex(arg, svindex) #define BGET_opindex(arg) BGET_objindex(arg, opindex) @@ -130,22 +117,22 @@ EXT I32 obj_list_fill INIT(-1); #define BSET_gv_fetchpv(sv, arg) sv = (SV*)gv_fetchpv(arg, TRUE, SVt_PV) #define BSET_gv_stashpv(sv, arg) sv = (SV*)gv_stashpv(arg, TRUE) #define BSET_sv_magic(sv, arg) sv_magic(sv, Nullsv, arg, 0, 0) -#define BSET_mg_pv(mg, arg) mg->mg_ptr = arg; mg->mg_len = pv.xpv_cur +#define BSET_mg_pv(mg, arg) mg->mg_ptr = arg; mg->mg_len = PL_pv.xpv_cur #define BSET_sv_upgrade(sv, arg) (void)SvUPGRADE(sv, arg) #define BSET_xpv(sv) do { \ - SvPV_set(sv, pv.xpv_pv); \ - SvCUR_set(sv, pv.xpv_cur); \ - SvLEN_set(sv, pv.xpv_len); \ + SvPV_set(sv, PL_pv.xpv_pv); \ + SvCUR_set(sv, PL_pv.xpv_cur); \ + SvLEN_set(sv, PL_pv.xpv_len); \ } while (0) #define BSET_av_extend(sv, arg) av_extend((AV*)sv, arg) #define BSET_av_push(sv, arg) av_push((AV*)sv, arg) #define BSET_hv_store(sv, arg) \ - hv_store((HV*)sv, pv.xpv_pv, pv.xpv_cur, arg, 0) + hv_store((HV*)sv, PL_pv.xpv_pv, PL_pv.xpv_cur, arg, 0) #define BSET_pv_free(pv) Safefree(pv.xpv_pv) #define BSET_pregcomp(o, arg) \ ((PMOP*)o)->op_pmregexp = arg ? \ - CALLREGCOMP(arg, arg + pv.xpv_cur, ((PMOP*)o)) : 0 + CALLREGCOMP(arg, arg + PL_pv.xpv_cur, ((PMOP*)o)) : 0 #define BSET_newsv(sv, arg) sv = NEWSV(666,0); SvUPGRADE(sv, arg) #define BSET_newop(o, arg) o = (OP*)safemalloc(optype_size[arg]) #define BSET_newopn(o, arg) STMT_START { \ @@ -170,5 +157,5 @@ EXT I32 obj_list_fill INIT(-1); #define BSET_curpad(pad, arg) pad = AvARRAY(arg) #define BSET_OBJ_STORE(obj, ix) \ - (I32)ix > obj_list_fill ? \ - bset_obj_store(obj, (I32)ix) : (obj_list[ix] = obj) + (I32)ix > PL_obj_list_fill ? \ + bset_obj_store(obj, (I32)ix) : (PL_obj_list[ix] = obj) diff --git a/byterun.c b/byterun.c index cfb7eb4..3d9d892 100644 --- a/byterun.c +++ b/byterun.c @@ -15,14 +15,14 @@ void * bset_obj_store(void *obj, I32 ix) { - if (ix > obj_list_fill) { - if (obj_list_fill == -1) - New(666, obj_list, ix + 1, void*); + if (ix > PL_obj_list_fill) { + if (PL_obj_list_fill == -1) + New(666, PL_obj_list, ix + 1, void*); else - Renew(obj_list, ix + 1, void*); - obj_list_fill = ix; + Renew(PL_obj_list, ix + 1, void*); + PL_obj_list_fill = ix; } - obj_list[ix] = obj; + PL_obj_list[ix] = obj; return obj; } @@ -56,7 +56,7 @@ void byterun(PerlIO *fp) { svindex arg; BGET_svindex(arg); - sv = arg; + PL_sv = arg; break; } case INSN_LDOP: /* 2 */ @@ -70,7 +70,7 @@ void byterun(PerlIO *fp) { U32 arg; BGET_U32(arg); - BSET_OBJ_STORE(sv, arg); + BSET_OBJ_STORE(PL_sv, arg); break; } case INSN_STOP: /* 4 */ @@ -84,14 +84,14 @@ void byterun(PerlIO *fp) { U8 arg; BGET_U8(arg); - BSET_ldspecsv(sv, arg); + BSET_ldspecsv(PL_sv, arg); break; } case INSN_NEWSV: /* 6 */ { U8 arg; BGET_U8(arg); - BSET_newsv(sv, arg); + BSET_newsv(PL_sv, arg); break; } case INSN_NEWOP: /* 7 */ @@ -118,486 +118,486 @@ void byterun(PerlIO *fp) { STRLEN arg; BGET_U32(arg); - pv.xpv_cur = arg; + PL_pv.xpv_cur = arg; break; } case INSN_PV_FREE: /* 12 */ { - BSET_pv_free(pv); + BSET_pv_free(PL_pv); break; } case INSN_SV_UPGRADE: /* 13 */ { char arg; BGET_U8(arg); - BSET_sv_upgrade(sv, arg); + BSET_sv_upgrade(PL_sv, arg); break; } case INSN_SV_REFCNT: /* 14 */ { U32 arg; BGET_U32(arg); - SvREFCNT(sv) = arg; + SvREFCNT(PL_sv) = arg; break; } case INSN_SV_REFCNT_ADD: /* 15 */ { I32 arg; BGET_I32(arg); - BSET_sv_refcnt_add(SvREFCNT(sv), arg); + BSET_sv_refcnt_add(SvREFCNT(PL_sv), arg); break; } case INSN_SV_FLAGS: /* 16 */ { U32 arg; BGET_U32(arg); - SvFLAGS(sv) = arg; + SvFLAGS(PL_sv) = arg; break; } case INSN_XRV: /* 17 */ { svindex arg; BGET_svindex(arg); - SvRV(sv) = arg; + SvRV(PL_sv) = arg; break; } case INSN_XPV: /* 18 */ { - BSET_xpv(sv); + BSET_xpv(PL_sv); break; } case INSN_XIV32: /* 19 */ { I32 arg; BGET_I32(arg); - SvIVX(sv) = arg; + SvIVX(PL_sv) = arg; break; } case INSN_XIV64: /* 20 */ { IV64 arg; BGET_IV64(arg); - SvIVX(sv) = arg; + SvIVX(PL_sv) = arg; break; } case INSN_XNV: /* 21 */ { double arg; BGET_double(arg); - SvNVX(sv) = arg; + SvNVX(PL_sv) = arg; break; } case INSN_XLV_TARGOFF: /* 22 */ { STRLEN arg; BGET_U32(arg); - LvTARGOFF(sv) = arg; + LvTARGOFF(PL_sv) = arg; break; } case INSN_XLV_TARGLEN: /* 23 */ { STRLEN arg; BGET_U32(arg); - LvTARGLEN(sv) = arg; + LvTARGLEN(PL_sv) = arg; break; } case INSN_XLV_TARG: /* 24 */ { svindex arg; BGET_svindex(arg); - LvTARG(sv) = arg; + LvTARG(PL_sv) = arg; break; } case INSN_XLV_TYPE: /* 25 */ { char arg; BGET_U8(arg); - LvTYPE(sv) = arg; + LvTYPE(PL_sv) = arg; break; } case INSN_XBM_USEFUL: /* 26 */ { I32 arg; BGET_I32(arg); - BmUSEFUL(sv) = arg; + BmUSEFUL(PL_sv) = arg; break; } case INSN_XBM_PREVIOUS: /* 27 */ { U16 arg; BGET_U16(arg); - BmPREVIOUS(sv) = arg; + BmPREVIOUS(PL_sv) = arg; break; } case INSN_XBM_RARE: /* 28 */ { U8 arg; BGET_U8(arg); - BmRARE(sv) = arg; + BmRARE(PL_sv) = arg; break; } case INSN_XFM_LINES: /* 29 */ { I32 arg; BGET_I32(arg); - FmLINES(sv) = arg; + FmLINES(PL_sv) = arg; break; } case INSN_XIO_LINES: /* 30 */ { long arg; BGET_I32(arg); - IoLINES(sv) = arg; + IoLINES(PL_sv) = arg; break; } case INSN_XIO_PAGE: /* 31 */ { long arg; BGET_I32(arg); - IoPAGE(sv) = arg; + IoPAGE(PL_sv) = arg; break; } case INSN_XIO_PAGE_LEN: /* 32 */ { long arg; BGET_I32(arg); - IoPAGE_LEN(sv) = arg; + IoPAGE_LEN(PL_sv) = arg; break; } case INSN_XIO_LINES_LEFT: /* 33 */ { long arg; BGET_I32(arg); - IoLINES_LEFT(sv) = arg; + IoLINES_LEFT(PL_sv) = arg; break; } case INSN_XIO_TOP_NAME: /* 34 */ { pvcontents arg; BGET_pvcontents(arg); - IoTOP_NAME(sv) = arg; + IoTOP_NAME(PL_sv) = arg; break; } case INSN_XIO_TOP_GV: /* 36 */ { svindex arg; BGET_svindex(arg); - *(SV**)&IoTOP_GV(sv) = arg; + *(SV**)&IoTOP_GV(PL_sv) = arg; break; } case INSN_XIO_FMT_NAME: /* 37 */ { pvcontents arg; BGET_pvcontents(arg); - IoFMT_NAME(sv) = arg; + IoFMT_NAME(PL_sv) = arg; break; } case INSN_XIO_FMT_GV: /* 38 */ { svindex arg; BGET_svindex(arg); - *(SV**)&IoFMT_GV(sv) = arg; + *(SV**)&IoFMT_GV(PL_sv) = arg; break; } case INSN_XIO_BOTTOM_NAME: /* 39 */ { pvcontents arg; BGET_pvcontents(arg); - IoBOTTOM_NAME(sv) = arg; + IoBOTTOM_NAME(PL_sv) = arg; break; } case INSN_XIO_BOTTOM_GV: /* 40 */ { svindex arg; BGET_svindex(arg); - *(SV**)&IoBOTTOM_GV(sv) = arg; + *(SV**)&IoBOTTOM_GV(PL_sv) = arg; break; } case INSN_XIO_SUBPROCESS: /* 41 */ { short arg; BGET_U16(arg); - IoSUBPROCESS(sv) = arg; + IoSUBPROCESS(PL_sv) = arg; break; } case INSN_XIO_TYPE: /* 42 */ { char arg; BGET_U8(arg); - IoTYPE(sv) = arg; + IoTYPE(PL_sv) = arg; break; } case INSN_XIO_FLAGS: /* 43 */ { char arg; BGET_U8(arg); - IoFLAGS(sv) = arg; + IoFLAGS(PL_sv) = arg; break; } case INSN_XCV_STASH: /* 44 */ { svindex arg; BGET_svindex(arg); - *(SV**)&CvSTASH(sv) = arg; + *(SV**)&CvSTASH(PL_sv) = arg; break; } case INSN_XCV_START: /* 45 */ { opindex arg; BGET_opindex(arg); - CvSTART(sv) = arg; + CvSTART(PL_sv) = arg; break; } case INSN_XCV_ROOT: /* 46 */ { opindex arg; BGET_opindex(arg); - CvROOT(sv) = arg; + CvROOT(PL_sv) = arg; break; } case INSN_XCV_GV: /* 47 */ { svindex arg; BGET_svindex(arg); - *(SV**)&CvGV(sv) = arg; + *(SV**)&CvGV(PL_sv) = arg; break; } case INSN_XCV_FILEGV: /* 48 */ { svindex arg; BGET_svindex(arg); - *(SV**)&CvFILEGV(sv) = arg; + *(SV**)&CvFILEGV(PL_sv) = arg; break; } case INSN_XCV_DEPTH: /* 49 */ { long arg; BGET_I32(arg); - CvDEPTH(sv) = arg; + CvDEPTH(PL_sv) = arg; break; } case INSN_XCV_PADLIST: /* 50 */ { svindex arg; BGET_svindex(arg); - *(SV**)&CvPADLIST(sv) = arg; + *(SV**)&CvPADLIST(PL_sv) = arg; break; } case INSN_XCV_OUTSIDE: /* 51 */ { svindex arg; BGET_svindex(arg); - *(SV**)&CvOUTSIDE(sv) = arg; + *(SV**)&CvOUTSIDE(PL_sv) = arg; break; } case INSN_XCV_FLAGS: /* 52 */ { U8 arg; BGET_U8(arg); - CvFLAGS(sv) = arg; + CvFLAGS(PL_sv) = arg; break; } case INSN_AV_EXTEND: /* 53 */ { SSize_t arg; BGET_I32(arg); - BSET_av_extend(sv, arg); + BSET_av_extend(PL_sv, arg); break; } case INSN_AV_PUSH: /* 54 */ { svindex arg; BGET_svindex(arg); - BSET_av_push(sv, arg); + BSET_av_push(PL_sv, arg); break; } case INSN_XAV_FILL: /* 55 */ { SSize_t arg; BGET_I32(arg); - AvFILLp(sv) = arg; + AvFILLp(PL_sv) = arg; break; } case INSN_XAV_MAX: /* 56 */ { SSize_t arg; BGET_I32(arg); - AvMAX(sv) = arg; + AvMAX(PL_sv) = arg; break; } case INSN_XAV_FLAGS: /* 57 */ { U8 arg; BGET_U8(arg); - AvFLAGS(sv) = arg; + AvFLAGS(PL_sv) = arg; break; } case INSN_XHV_RITER: /* 58 */ { I32 arg; BGET_I32(arg); - HvRITER(sv) = arg; + HvRITER(PL_sv) = arg; break; } case INSN_XHV_NAME: /* 59 */ { pvcontents arg; BGET_pvcontents(arg); - HvNAME(sv) = arg; + HvNAME(PL_sv) = arg; break; } case INSN_HV_STORE: /* 60 */ { svindex arg; BGET_svindex(arg); - BSET_hv_store(sv, arg); + BSET_hv_store(PL_sv, arg); break; } case INSN_SV_MAGIC: /* 61 */ { char arg; BGET_U8(arg); - BSET_sv_magic(sv, arg); + BSET_sv_magic(PL_sv, arg); break; } case INSN_MG_OBJ: /* 62 */ { svindex arg; BGET_svindex(arg); - SvMAGIC(sv)->mg_obj = arg; + SvMAGIC(PL_sv)->mg_obj = arg; break; } case INSN_MG_PRIVATE: /* 63 */ { U16 arg; BGET_U16(arg); - SvMAGIC(sv)->mg_private = arg; + SvMAGIC(PL_sv)->mg_private = arg; break; } case INSN_MG_FLAGS: /* 64 */ { U8 arg; BGET_U8(arg); - SvMAGIC(sv)->mg_flags = arg; + SvMAGIC(PL_sv)->mg_flags = arg; break; } case INSN_MG_PV: /* 65 */ { pvcontents arg; BGET_pvcontents(arg); - BSET_mg_pv(SvMAGIC(sv), arg); + BSET_mg_pv(SvMAGIC(PL_sv), arg); break; } case INSN_XMG_STASH: /* 66 */ { svindex arg; BGET_svindex(arg); - *(SV**)&SvSTASH(sv) = arg; + *(SV**)&SvSTASH(PL_sv) = arg; break; } case INSN_GV_FETCHPV: /* 67 */ { strconst arg; BGET_strconst(arg); - BSET_gv_fetchpv(sv, arg); + BSET_gv_fetchpv(PL_sv, arg); break; } case INSN_GV_STASHPV: /* 68 */ { strconst arg; BGET_strconst(arg); - BSET_gv_stashpv(sv, arg); + BSET_gv_stashpv(PL_sv, arg); break; } case INSN_GP_SV: /* 69 */ { svindex arg; BGET_svindex(arg); - GvSV(sv) = arg; + GvSV(PL_sv) = arg; break; } case INSN_GP_REFCNT: /* 70 */ { U32 arg; BGET_U32(arg); - GvREFCNT(sv) = arg; + GvREFCNT(PL_sv) = arg; break; } case INSN_GP_REFCNT_ADD: /* 71 */ { I32 arg; BGET_I32(arg); - BSET_gp_refcnt_add(GvREFCNT(sv), arg); + BSET_gp_refcnt_add(GvREFCNT(PL_sv), arg); break; } case INSN_GP_AV: /* 72 */ { svindex arg; BGET_svindex(arg); - *(SV**)&GvAV(sv) = arg; + *(SV**)&GvAV(PL_sv) = arg; break; } case INSN_GP_HV: /* 73 */ { svindex arg; BGET_svindex(arg); - *(SV**)&GvHV(sv) = arg; + *(SV**)&GvHV(PL_sv) = arg; break; } case INSN_GP_CV: /* 74 */ { svindex arg; BGET_svindex(arg); - *(SV**)&GvCV(sv) = arg; + *(SV**)&GvCV(PL_sv) = arg; break; } case INSN_GP_FILEGV: /* 75 */ { svindex arg; BGET_svindex(arg); - *(SV**)&GvFILEGV(sv) = arg; + *(SV**)&GvFILEGV(PL_sv) = arg; break; } case INSN_GP_IO: /* 76 */ { svindex arg; BGET_svindex(arg); - *(SV**)&GvIOp(sv) = arg; + *(SV**)&GvIOp(PL_sv) = arg; break; } case INSN_GP_FORM: /* 77 */ { svindex arg; BGET_svindex(arg); - *(SV**)&GvFORM(sv) = arg; + *(SV**)&GvFORM(PL_sv) = arg; break; } case INSN_GP_CVGEN: /* 78 */ { U32 arg; BGET_U32(arg); - GvCVGEN(sv) = arg; + GvCVGEN(PL_sv) = arg; break; } case INSN_GP_LINE: /* 79 */ { line_t arg; BGET_U16(arg); - GvLINE(sv) = arg; + GvLINE(PL_sv) = arg; break; } case INSN_GP_SHARE: /* 80 */ { svindex arg; BGET_svindex(arg); - BSET_gp_share(sv, arg); + BSET_gp_share(PL_sv, arg); break; } case INSN_XGV_FLAGS: /* 81 */ { U8 arg; BGET_U8(arg); - GvFLAGS(sv) = arg; + GvFLAGS(PL_sv) = arg; break; } case INSN_OP_NEXT: /* 82 */ diff --git a/embedvar.h b/embedvar.h index e445632..8c4c5de 100644 --- a/embedvar.h +++ b/embedvar.h @@ -189,6 +189,7 @@ #define PL_incgv (PL_curinterp->Iincgv) #define PL_initav (PL_curinterp->Iinitav) #define PL_inplace (PL_curinterp->Iinplace) +#define PL_iv_overflows (PL_curinterp->Iiv_overflows) #define PL_last_proto (PL_curinterp->Ilast_proto) #define PL_lastfd (PL_curinterp->Ilastfd) #define PL_lastsize (PL_curinterp->Ilastsize) @@ -213,6 +214,8 @@ #define PL_modglobal (PL_curinterp->Imodglobal) #define PL_multiline (PL_curinterp->Imultiline) #define PL_mystrk (PL_curinterp->Imystrk) +#define PL_obj_list (PL_curinterp->Iobj_list) +#define PL_obj_list_fill (PL_curinterp->Iobj_list_fill) #define PL_ofmt (PL_curinterp->Iofmt) #define PL_oldlastpm (PL_curinterp->Ioldlastpm) #define PL_oldname (PL_curinterp->Ioldname) @@ -231,6 +234,7 @@ #define PL_preambled (PL_curinterp->Ipreambled) #define PL_preprocess (PL_curinterp->Ipreprocess) #define PL_profiledata (PL_curinterp->Iprofiledata) +#define PL_pv (PL_curinterp->Ipv) #define PL_replgv (PL_curinterp->Ireplgv) #define PL_rightgv (PL_curinterp->Irightgv) #define PL_rsfp (PL_curinterp->Irsfp) @@ -247,6 +251,7 @@ #define PL_strtab (PL_curinterp->Istrtab) #define PL_sub_generation (PL_curinterp->Isub_generation) #define PL_sublex_info (PL_curinterp->Isublex_info) +#define PL_sv (PL_curinterp->Isv) #define PL_sv_arenaroot (PL_curinterp->Isv_arenaroot) #define PL_sv_count (PL_curinterp->Isv_count) #define PL_sv_objcount (PL_curinterp->Isv_objcount) @@ -318,6 +323,7 @@ #define PL_Iincgv PL_incgv #define PL_Iinitav PL_initav #define PL_Iinplace PL_inplace +#define PL_Iiv_overflows PL_iv_overflows #define PL_Ilast_proto PL_last_proto #define PL_Ilastfd PL_lastfd #define PL_Ilastsize PL_lastsize @@ -342,6 +348,8 @@ #define PL_Imodglobal PL_modglobal #define PL_Imultiline PL_multiline #define PL_Imystrk PL_mystrk +#define PL_Iobj_list PL_obj_list +#define PL_Iobj_list_fill PL_obj_list_fill #define PL_Iofmt PL_ofmt #define PL_Ioldlastpm PL_oldlastpm #define PL_Ioldname PL_oldname @@ -360,6 +368,7 @@ #define PL_Ipreambled PL_preambled #define PL_Ipreprocess PL_preprocess #define PL_Iprofiledata PL_profiledata +#define PL_Ipv PL_pv #define PL_Ireplgv PL_replgv #define PL_Irightgv PL_rightgv #define PL_Irsfp PL_rsfp @@ -376,6 +385,7 @@ #define PL_Istrtab PL_strtab #define PL_Isub_generation PL_sub_generation #define PL_Isublex_info PL_sublex_info +#define PL_Isv PL_sv #define PL_Isv_arenaroot PL_sv_arenaroot #define PL_Isv_count PL_sv_count #define PL_Isv_objcount PL_sv_objcount @@ -858,9 +868,13 @@ #define curcop PL_curcop #define curstash PL_curstash #define debstash PL_debstash +#define defgv PL_defgv #define dowarn PL_dowarn +#define errgv PL_errgv #define na PL_na +#define perldb PL_perldb #define rsfp PL_rsfp +#define rsfp_filters PL_rsfp_filters #define stack_base PL_stack_base #define stack_sp PL_stack_sp #define stdingv PL_stdingv diff --git a/interp.sym b/interp.sym index 687abb7..69c16de 100644 --- a/interp.sym +++ b/interp.sym @@ -73,6 +73,7 @@ in_eval incgv initav inplace +iv_overflows sys_intern last_in_gv last_proto @@ -106,6 +107,8 @@ modcount multiline mystrk nrs +obj_list +obj_list_fill ofmt ofs ofslen @@ -126,6 +129,7 @@ preambled preambleav preprocess profiledata +pv reg_eval_set reg_flags reg_start_tmp @@ -188,6 +192,7 @@ strchop strtab sub_generation sublex_info +sv sv_count sv_objcount sv_root diff --git a/intrpvar.h b/intrpvar.h index 71fcda7..f952d9d 100644 --- a/intrpvar.h +++ b/intrpvar.h @@ -201,6 +201,12 @@ PERLVAR(Ithrsv, SV *) /* struct perl_thread for main thread */ PERLVARI(Ithreadnum, U32, 0) /* incremented each thread creation */ #endif /* USE_THREADS */ +PERLVARI(Iiv_overflows, int, 0); /* from bytecode.h */ +PERLVAR(Isv, SV *); +PERLVAR(Ipv, XPV); +PERLVAR(Iobj_list, void **); +PERLVARI(Iobj_list_fill, I32, -1); + #ifdef PERL_OBJECT PERLVARI(piMem, IPerlMem*, NULL) PERLVARI(piENV, IPerlEnv*, NULL)