This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
Make sort respect overloading
[perl5.git] / byterun.c
index 57c6620..34beaf4 100644 (file)
--- a/byterun.c
+++ b/byterun.c
 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_bytecode_obj_list_fill) {
+       if (PL_bytecode_obj_list_fill == -1)
+           New(666, PL_bytecode_obj_list, ix + 1, void*);
        else
-           Renew(obj_list, ix + 1, void*);
-       obj_list_fill = ix;
+           Renew(PL_bytecode_obj_list, ix + 1, void*);
+       PL_bytecode_obj_list_fill = ix;
     }
-    obj_list[ix] = obj;
+    PL_bytecode_obj_list[ix] = obj;
     return obj;
 }
 
 #ifdef INDIRECT_BGET_MACROS
 void byterun(struct bytestream bs)
 #else
-void byterun(FILE *fp)
+void byterun(PerlIO *fp)
 #endif /* INDIRECT_BGET_MACROS */
 {
     dTHR;
     int insn;
-    while ((insn = FGETC()) != EOF) {
+    while ((insn = BGET_FGETC()) != EOF) {
        switch (insn) {
          case INSN_COMMENT:            /* 35 */
            {
-               comment arg;
-               BGET_comment(arg);
+               comment_t arg;
+               BGET_comment_t(arg);
                arg = arg;
                break;
            }
@@ -55,57 +55,57 @@ void byterun(FILE *fp)
          case INSN_LDSV:               /* 1 */
            {
                svindex arg;
-               BGET_objindex(arg);
-               sv = arg;
+               BGET_svindex(arg);
+               PL_bytecode_sv = arg;
                break;
            }
          case INSN_LDOP:               /* 2 */
            {
                opindex arg;
-               BGET_objindex(arg);
-               op = arg;
+               BGET_opindex(arg);
+               PL_op = arg;
                break;
            }
          case INSN_STSV:               /* 3 */
            {
                U32 arg;
                BGET_U32(arg);
-               BSET_OBJ_STORE(sv, arg);
+               BSET_OBJ_STORE(PL_bytecode_sv, arg);
                break;
            }
          case INSN_STOP:               /* 4 */
            {
                U32 arg;
                BGET_U32(arg);
-               BSET_OBJ_STORE(op, arg);
+               BSET_OBJ_STORE(PL_op, arg);
                break;
            }
          case INSN_LDSPECSV:           /* 5 */
            {
                U8 arg;
                BGET_U8(arg);
-               BSET_ldspecsv(sv, arg);
+               BSET_ldspecsv(PL_bytecode_sv, arg);
                break;
            }
          case INSN_NEWSV:              /* 6 */
            {
                U8 arg;
                BGET_U8(arg);
-               BSET_newsv(sv, arg);
+               BSET_newsv(PL_bytecode_sv, arg);
                break;
            }
          case INSN_NEWOP:              /* 7 */
            {
                U8 arg;
                BGET_U8(arg);
-               BSET_newop(op, arg);
+               BSET_newop(PL_op, arg);
                break;
            }
          case INSN_NEWOPN:             /* 8 */
            {
                U8 arg;
                BGET_U8(arg);
-               BSET_newopn(op, arg);
+               BSET_newopn(PL_op, arg);
                break;
            }
          case INSN_NEWPV:              /* 9 */
@@ -118,576 +118,576 @@ void byterun(FILE *fp)
            {
                STRLEN arg;
                BGET_U32(arg);
-               pv.xpv_cur = arg;
+               PL_bytecode_pv.xpv_cur = arg;
                break;
            }
          case INSN_PV_FREE:            /* 12 */
            {
-               BSET_pv_free(pv);
+               BSET_pv_free(PL_bytecode_pv);
                break;
            }
          case INSN_SV_UPGRADE:         /* 13 */
            {
                char arg;
                BGET_U8(arg);
-               BSET_sv_upgrade(sv, arg);
+               BSET_sv_upgrade(PL_bytecode_sv, arg);
                break;
            }
          case INSN_SV_REFCNT:          /* 14 */
            {
                U32 arg;
                BGET_U32(arg);
-               SvREFCNT(sv) = arg;
+               SvREFCNT(PL_bytecode_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_bytecode_sv), arg);
                break;
            }
          case INSN_SV_FLAGS:           /* 16 */
            {
                U32 arg;
                BGET_U32(arg);
-               SvFLAGS(sv) = arg;
+               SvFLAGS(PL_bytecode_sv) = arg;
                break;
            }
          case INSN_XRV:                /* 17 */
            {
                svindex arg;
-               BGET_objindex(arg);
-               SvRV(sv) = arg;
+               BGET_svindex(arg);
+               SvRV(PL_bytecode_sv) = arg;
                break;
            }
          case INSN_XPV:                /* 18 */
            {
-               BSET_xpv(sv);
+               BSET_xpv(PL_bytecode_sv);
                break;
            }
          case INSN_XIV32:              /* 19 */
            {
                I32 arg;
                BGET_I32(arg);
-               SvIVX(sv) = arg;
+               SvIVX(PL_bytecode_sv) = arg;
                break;
            }
          case INSN_XIV64:              /* 20 */
            {
                IV64 arg;
                BGET_IV64(arg);
-               SvIVX(sv) = arg;
+               SvIVX(PL_bytecode_sv) = arg;
                break;
            }
          case INSN_XNV:                /* 21 */
            {
                double arg;
                BGET_double(arg);
-               SvNVX(sv) = arg;
+               SvNVX(PL_bytecode_sv) = arg;
                break;
            }
          case INSN_XLV_TARGOFF:                /* 22 */
            {
                STRLEN arg;
                BGET_U32(arg);
-               LvTARGOFF(sv) = arg;
+               LvTARGOFF(PL_bytecode_sv) = arg;
                break;
            }
          case INSN_XLV_TARGLEN:                /* 23 */
            {
                STRLEN arg;
                BGET_U32(arg);
-               LvTARGLEN(sv) = arg;
+               LvTARGLEN(PL_bytecode_sv) = arg;
                break;
            }
          case INSN_XLV_TARG:           /* 24 */
            {
                svindex arg;
-               BGET_objindex(arg);
-               LvTARG(sv) = arg;
+               BGET_svindex(arg);
+               LvTARG(PL_bytecode_sv) = arg;
                break;
            }
          case INSN_XLV_TYPE:           /* 25 */
            {
                char arg;
                BGET_U8(arg);
-               LvTYPE(sv) = arg;
+               LvTYPE(PL_bytecode_sv) = arg;
                break;
            }
          case INSN_XBM_USEFUL:         /* 26 */
            {
                I32 arg;
                BGET_I32(arg);
-               BmUSEFUL(sv) = arg;
+               BmUSEFUL(PL_bytecode_sv) = arg;
                break;
            }
          case INSN_XBM_PREVIOUS:               /* 27 */
            {
                U16 arg;
                BGET_U16(arg);
-               BmPREVIOUS(sv) = arg;
+               BmPREVIOUS(PL_bytecode_sv) = arg;
                break;
            }
          case INSN_XBM_RARE:           /* 28 */
            {
                U8 arg;
                BGET_U8(arg);
-               BmRARE(sv) = arg;
+               BmRARE(PL_bytecode_sv) = arg;
                break;
            }
          case INSN_XFM_LINES:          /* 29 */
            {
                I32 arg;
                BGET_I32(arg);
-               FmLINES(sv) = arg;
+               FmLINES(PL_bytecode_sv) = arg;
                break;
            }
          case INSN_XIO_LINES:          /* 30 */
            {
                long arg;
                BGET_I32(arg);
-               IoLINES(sv) = arg;
+               IoLINES(PL_bytecode_sv) = arg;
                break;
            }
          case INSN_XIO_PAGE:           /* 31 */
            {
                long arg;
                BGET_I32(arg);
-               IoPAGE(sv) = arg;
+               IoPAGE(PL_bytecode_sv) = arg;
                break;
            }
          case INSN_XIO_PAGE_LEN:               /* 32 */
            {
                long arg;
                BGET_I32(arg);
-               IoPAGE_LEN(sv) = arg;
+               IoPAGE_LEN(PL_bytecode_sv) = arg;
                break;
            }
          case INSN_XIO_LINES_LEFT:             /* 33 */
            {
                long arg;
                BGET_I32(arg);
-               IoLINES_LEFT(sv) = arg;
+               IoLINES_LEFT(PL_bytecode_sv) = arg;
                break;
            }
          case INSN_XIO_TOP_NAME:               /* 34 */
            {
                pvcontents arg;
                BGET_pvcontents(arg);
-               IoTOP_NAME(sv) = arg;
+               IoTOP_NAME(PL_bytecode_sv) = arg;
                break;
            }
          case INSN_XIO_TOP_GV:         /* 36 */
            {
                svindex arg;
-               BGET_objindex(arg);
-               *(SV**)&IoTOP_GV(sv) = arg;
+               BGET_svindex(arg);
+               *(SV**)&IoTOP_GV(PL_bytecode_sv) = arg;
                break;
            }
          case INSN_XIO_FMT_NAME:               /* 37 */
            {
                pvcontents arg;
                BGET_pvcontents(arg);
-               IoFMT_NAME(sv) = arg;
+               IoFMT_NAME(PL_bytecode_sv) = arg;
                break;
            }
          case INSN_XIO_FMT_GV:         /* 38 */
            {
                svindex arg;
-               BGET_objindex(arg);
-               *(SV**)&IoFMT_GV(sv) = arg;
+               BGET_svindex(arg);
+               *(SV**)&IoFMT_GV(PL_bytecode_sv) = arg;
                break;
            }
          case INSN_XIO_BOTTOM_NAME:            /* 39 */
            {
                pvcontents arg;
                BGET_pvcontents(arg);
-               IoBOTTOM_NAME(sv) = arg;
+               IoBOTTOM_NAME(PL_bytecode_sv) = arg;
                break;
            }
          case INSN_XIO_BOTTOM_GV:              /* 40 */
            {
                svindex arg;
-               BGET_objindex(arg);
-               *(SV**)&IoBOTTOM_GV(sv) = arg;
+               BGET_svindex(arg);
+               *(SV**)&IoBOTTOM_GV(PL_bytecode_sv) = arg;
                break;
            }
          case INSN_XIO_SUBPROCESS:             /* 41 */
            {
                short arg;
                BGET_U16(arg);
-               IoSUBPROCESS(sv) = arg;
+               IoSUBPROCESS(PL_bytecode_sv) = arg;
                break;
            }
          case INSN_XIO_TYPE:           /* 42 */
            {
                char arg;
                BGET_U8(arg);
-               IoTYPE(sv) = arg;
+               IoTYPE(PL_bytecode_sv) = arg;
                break;
            }
          case INSN_XIO_FLAGS:          /* 43 */
            {
                char arg;
                BGET_U8(arg);
-               IoFLAGS(sv) = arg;
+               IoFLAGS(PL_bytecode_sv) = arg;
                break;
            }
          case INSN_XCV_STASH:          /* 44 */
            {
                svindex arg;
-               BGET_objindex(arg);
-               *(SV**)&CvSTASH(sv) = arg;
+               BGET_svindex(arg);
+               *(SV**)&CvSTASH(PL_bytecode_sv) = arg;
                break;
            }
          case INSN_XCV_START:          /* 45 */
            {
                opindex arg;
-               BGET_objindex(arg);
-               CvSTART(sv) = arg;
+               BGET_opindex(arg);
+               CvSTART(PL_bytecode_sv) = arg;
                break;
            }
          case INSN_XCV_ROOT:           /* 46 */
            {
                opindex arg;
-               BGET_objindex(arg);
-               CvROOT(sv) = arg;
+               BGET_opindex(arg);
+               CvROOT(PL_bytecode_sv) = arg;
                break;
            }
          case INSN_XCV_GV:             /* 47 */
            {
                svindex arg;
-               BGET_objindex(arg);
-               *(SV**)&CvGV(sv) = arg;
+               BGET_svindex(arg);
+               *(SV**)&CvGV(PL_bytecode_sv) = arg;
                break;
            }
          case INSN_XCV_FILEGV:         /* 48 */
            {
                svindex arg;
-               BGET_objindex(arg);
-               *(SV**)&CvFILEGV(sv) = arg;
+               BGET_svindex(arg);
+               *(SV**)&CvFILEGV(PL_bytecode_sv) = arg;
                break;
            }
          case INSN_XCV_DEPTH:          /* 49 */
            {
                long arg;
                BGET_I32(arg);
-               CvDEPTH(sv) = arg;
+               CvDEPTH(PL_bytecode_sv) = arg;
                break;
            }
          case INSN_XCV_PADLIST:                /* 50 */
            {
                svindex arg;
-               BGET_objindex(arg);
-               *(SV**)&CvPADLIST(sv) = arg;
+               BGET_svindex(arg);
+               *(SV**)&CvPADLIST(PL_bytecode_sv) = arg;
                break;
            }
          case INSN_XCV_OUTSIDE:                /* 51 */
            {
                svindex arg;
-               BGET_objindex(arg);
-               *(SV**)&CvOUTSIDE(sv) = arg;
+               BGET_svindex(arg);
+               *(SV**)&CvOUTSIDE(PL_bytecode_sv) = arg;
                break;
            }
          case INSN_XCV_FLAGS:          /* 52 */
            {
                U8 arg;
                BGET_U8(arg);
-               CvFLAGS(sv) = arg;
+               CvFLAGS(PL_bytecode_sv) = arg;
                break;
            }
          case INSN_AV_EXTEND:          /* 53 */
            {
                SSize_t arg;
                BGET_I32(arg);
-               BSET_av_extend(sv, arg);
+               BSET_av_extend(PL_bytecode_sv, arg);
                break;
            }
          case INSN_AV_PUSH:            /* 54 */
            {
                svindex arg;
-               BGET_objindex(arg);
-               BSET_av_push(sv, arg);
+               BGET_svindex(arg);
+               BSET_av_push(PL_bytecode_sv, arg);
                break;
            }
          case INSN_XAV_FILL:           /* 55 */
            {
                SSize_t arg;
                BGET_I32(arg);
-               AvFILLp(sv) = arg;
+               AvFILLp(PL_bytecode_sv) = arg;
                break;
            }
          case INSN_XAV_MAX:            /* 56 */
            {
                SSize_t arg;
                BGET_I32(arg);
-               AvMAX(sv) = arg;
+               AvMAX(PL_bytecode_sv) = arg;
                break;
            }
          case INSN_XAV_FLAGS:          /* 57 */
            {
                U8 arg;
                BGET_U8(arg);
-               AvFLAGS(sv) = arg;
+               AvFLAGS(PL_bytecode_sv) = arg;
                break;
            }
          case INSN_XHV_RITER:          /* 58 */
            {
                I32 arg;
                BGET_I32(arg);
-               HvRITER(sv) = arg;
+               HvRITER(PL_bytecode_sv) = arg;
                break;
            }
          case INSN_XHV_NAME:           /* 59 */
            {
                pvcontents arg;
                BGET_pvcontents(arg);
-               HvNAME(sv) = arg;
+               HvNAME(PL_bytecode_sv) = arg;
                break;
            }
          case INSN_HV_STORE:           /* 60 */
            {
                svindex arg;
-               BGET_objindex(arg);
-               BSET_hv_store(sv, arg);
+               BGET_svindex(arg);
+               BSET_hv_store(PL_bytecode_sv, arg);
                break;
            }
          case INSN_SV_MAGIC:           /* 61 */
            {
                char arg;
                BGET_U8(arg);
-               BSET_sv_magic(sv, arg);
+               BSET_sv_magic(PL_bytecode_sv, arg);
                break;
            }
          case INSN_MG_OBJ:             /* 62 */
            {
                svindex arg;
-               BGET_objindex(arg);
-               SvMAGIC(sv)->mg_obj = arg;
+               BGET_svindex(arg);
+               SvMAGIC(PL_bytecode_sv)->mg_obj = arg;
                break;
            }
          case INSN_MG_PRIVATE:         /* 63 */
            {
                U16 arg;
                BGET_U16(arg);
-               SvMAGIC(sv)->mg_private = arg;
+               SvMAGIC(PL_bytecode_sv)->mg_private = arg;
                break;
            }
          case INSN_MG_FLAGS:           /* 64 */
            {
                U8 arg;
                BGET_U8(arg);
-               SvMAGIC(sv)->mg_flags = arg;
+               SvMAGIC(PL_bytecode_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_bytecode_sv), arg);
                break;
            }
          case INSN_XMG_STASH:          /* 66 */
            {
                svindex arg;
-               BGET_objindex(arg);
-               *(SV**)&SvSTASH(sv) = arg;
+               BGET_svindex(arg);
+               *(SV**)&SvSTASH(PL_bytecode_sv) = arg;
                break;
            }
          case INSN_GV_FETCHPV:         /* 67 */
            {
                strconst arg;
                BGET_strconst(arg);
-               BSET_gv_fetchpv(sv, arg);
+               BSET_gv_fetchpv(PL_bytecode_sv, arg);
                break;
            }
          case INSN_GV_STASHPV:         /* 68 */
            {
                strconst arg;
                BGET_strconst(arg);
-               BSET_gv_stashpv(sv, arg);
+               BSET_gv_stashpv(PL_bytecode_sv, arg);
                break;
            }
          case INSN_GP_SV:              /* 69 */
            {
                svindex arg;
-               BGET_objindex(arg);
-               GvSV(sv) = arg;
+               BGET_svindex(arg);
+               GvSV(PL_bytecode_sv) = arg;
                break;
            }
          case INSN_GP_REFCNT:          /* 70 */
            {
                U32 arg;
                BGET_U32(arg);
-               GvREFCNT(sv) = arg;
+               GvREFCNT(PL_bytecode_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_bytecode_sv), arg);
                break;
            }
          case INSN_GP_AV:              /* 72 */
            {
                svindex arg;
-               BGET_objindex(arg);
-               *(SV**)&GvAV(sv) = arg;
+               BGET_svindex(arg);
+               *(SV**)&GvAV(PL_bytecode_sv) = arg;
                break;
            }
          case INSN_GP_HV:              /* 73 */
            {
                svindex arg;
-               BGET_objindex(arg);
-               *(SV**)&GvHV(sv) = arg;
+               BGET_svindex(arg);
+               *(SV**)&GvHV(PL_bytecode_sv) = arg;
                break;
            }
          case INSN_GP_CV:              /* 74 */
            {
                svindex arg;
-               BGET_objindex(arg);
-               *(SV**)&GvCV(sv) = arg;
+               BGET_svindex(arg);
+               *(SV**)&GvCV(PL_bytecode_sv) = arg;
                break;
            }
          case INSN_GP_FILEGV:          /* 75 */
            {
                svindex arg;
-               BGET_objindex(arg);
-               *(SV**)&GvFILEGV(sv) = arg;
+               BGET_svindex(arg);
+               *(SV**)&GvFILEGV(PL_bytecode_sv) = arg;
                break;
            }
          case INSN_GP_IO:              /* 76 */
            {
                svindex arg;
-               BGET_objindex(arg);
-               *(SV**)&GvIOp(sv) = arg;
+               BGET_svindex(arg);
+               *(SV**)&GvIOp(PL_bytecode_sv) = arg;
                break;
            }
          case INSN_GP_FORM:            /* 77 */
            {
                svindex arg;
-               BGET_objindex(arg);
-               *(SV**)&GvFORM(sv) = arg;
+               BGET_svindex(arg);
+               *(SV**)&GvFORM(PL_bytecode_sv) = arg;
                break;
            }
          case INSN_GP_CVGEN:           /* 78 */
            {
                U32 arg;
                BGET_U32(arg);
-               GvCVGEN(sv) = arg;
+               GvCVGEN(PL_bytecode_sv) = arg;
                break;
            }
          case INSN_GP_LINE:            /* 79 */
            {
                line_t arg;
                BGET_U16(arg);
-               GvLINE(sv) = arg;
+               GvLINE(PL_bytecode_sv) = arg;
                break;
            }
          case INSN_GP_SHARE:           /* 80 */
            {
                svindex arg;
-               BGET_objindex(arg);
-               BSET_gp_share(sv, arg);
+               BGET_svindex(arg);
+               BSET_gp_share(PL_bytecode_sv, arg);
                break;
            }
          case INSN_XGV_FLAGS:          /* 81 */
            {
                U8 arg;
                BGET_U8(arg);
-               GvFLAGS(sv) = arg;
+               GvFLAGS(PL_bytecode_sv) = arg;
                break;
            }
          case INSN_OP_NEXT:            /* 82 */
            {
                opindex arg;
-               BGET_objindex(arg);
-               op->op_next = arg;
+               BGET_opindex(arg);
+               PL_op->op_next = arg;
                break;
            }
          case INSN_OP_SIBLING:         /* 83 */
            {
                opindex arg;
-               BGET_objindex(arg);
-               op->op_sibling = arg;
+               BGET_opindex(arg);
+               PL_op->op_sibling = arg;
                break;
            }
          case INSN_OP_PPADDR:          /* 84 */
            {
                strconst arg;
                BGET_strconst(arg);
-               BSET_op_ppaddr(op->op_ppaddr, arg);
+               BSET_op_ppaddr(PL_op->op_ppaddr, arg);
                break;
            }
          case INSN_OP_TARG:            /* 85 */
            {
                PADOFFSET arg;
                BGET_U32(arg);
-               op->op_targ = arg;
+               PL_op->op_targ = arg;
                break;
            }
          case INSN_OP_TYPE:            /* 86 */
            {
                OPCODE arg;
                BGET_U16(arg);
-               BSET_op_type(op, arg);
+               BSET_op_type(PL_op, arg);
                break;
            }
          case INSN_OP_SEQ:             /* 87 */
            {
                U16 arg;
                BGET_U16(arg);
-               op->op_seq = arg;
+               PL_op->op_seq = arg;
                break;
            }
          case INSN_OP_FLAGS:           /* 88 */
            {
                U8 arg;
                BGET_U8(arg);
-               op->op_flags = arg;
+               PL_op->op_flags = arg;
                break;
            }
          case INSN_OP_PRIVATE:         /* 89 */
            {
                U8 arg;
                BGET_U8(arg);
-               op->op_private = arg;
+               PL_op->op_private = arg;
                break;
            }
          case INSN_OP_FIRST:           /* 90 */
            {
                opindex arg;
-               BGET_objindex(arg);
+               BGET_opindex(arg);
                cUNOP->op_first = arg;
                break;
            }
          case INSN_OP_LAST:            /* 91 */
            {
                opindex arg;
-               BGET_objindex(arg);
+               BGET_opindex(arg);
                cBINOP->op_last = arg;
                break;
            }
          case INSN_OP_OTHER:           /* 92 */
            {
                opindex arg;
-               BGET_objindex(arg);
+               BGET_opindex(arg);
                cLOGOP->op_other = arg;
                break;
            }
          case INSN_OP_TRUE:            /* 93 */
            {
                opindex arg;
-               BGET_objindex(arg);
+               BGET_opindex(arg);
                cCONDOP->op_true = arg;
                break;
            }
          case INSN_OP_FALSE:           /* 94 */
            {
                opindex arg;
-               BGET_objindex(arg);
+               BGET_opindex(arg);
                cCONDOP->op_false = arg;
                break;
            }
@@ -701,28 +701,28 @@ void byterun(FILE *fp)
          case INSN_OP_PMREPLROOT:              /* 96 */
            {
                opindex arg;
-               BGET_objindex(arg);
+               BGET_opindex(arg);
                cPMOP->op_pmreplroot = arg;
                break;
            }
          case INSN_OP_PMREPLROOTGV:            /* 97 */
            {
                svindex arg;
-               BGET_objindex(arg);
+               BGET_svindex(arg);
                *(SV**)&cPMOP->op_pmreplroot = arg;
                break;
            }
          case INSN_OP_PMREPLSTART:             /* 98 */
            {
                opindex arg;
-               BGET_objindex(arg);
+               BGET_opindex(arg);
                cPMOP->op_pmreplstart = arg;
                break;
            }
          case INSN_OP_PMNEXT:          /* 99 */
            {
                opindex arg;
-               BGET_objindex(arg);
+               BGET_opindex(arg);
                *(OP**)&cPMOP->op_pmnext = arg;
                break;
            }
@@ -730,7 +730,7 @@ void byterun(FILE *fp)
            {
                pvcontents arg;
                BGET_pvcontents(arg);
-               BSET_pregcomp(op, arg);
+               BSET_pregcomp(PL_op, arg);
                break;
            }
          case INSN_OP_PMFLAGS:         /* 101 */
@@ -750,14 +750,14 @@ void byterun(FILE *fp)
          case INSN_OP_SV:              /* 103 */
            {
                svindex arg;
-               BGET_objindex(arg);
+               BGET_svindex(arg);
                cSVOP->op_sv = arg;
                break;
            }
          case INSN_OP_GV:              /* 104 */
            {
                svindex arg;
-               BGET_objindex(arg);
+               BGET_svindex(arg);
                *(SV**)&cGVOP->op_gv = arg;
                break;
            }
@@ -778,21 +778,21 @@ void byterun(FILE *fp)
          case INSN_OP_REDOOP:          /* 107 */
            {
                opindex arg;
-               BGET_objindex(arg);
+               BGET_opindex(arg);
                cLOOP->op_redoop = arg;
                break;
            }
          case INSN_OP_NEXTOP:          /* 108 */
            {
                opindex arg;
-               BGET_objindex(arg);
+               BGET_opindex(arg);
                cLOOP->op_nextop = arg;
                break;
            }
          case INSN_OP_LASTOP:          /* 109 */
            {
                opindex arg;
-               BGET_objindex(arg);
+               BGET_opindex(arg);
                cLOOP->op_lastop = arg;
                break;
            }
@@ -806,14 +806,14 @@ void byterun(FILE *fp)
          case INSN_COP_STASH:          /* 111 */
            {
                svindex arg;
-               BGET_objindex(arg);
+               BGET_svindex(arg);
                *(SV**)&cCOP->cop_stash = arg;
                break;
            }
          case INSN_COP_FILEGV:         /* 112 */
            {
                svindex arg;
-               BGET_objindex(arg);
+               BGET_svindex(arg);
                *(SV**)&cCOP->cop_filegv = arg;
                break;
            }
@@ -841,22 +841,22 @@ void byterun(FILE *fp)
          case INSN_MAIN_START:         /* 116 */
            {
                opindex arg;
-               BGET_objindex(arg);
-               main_start = arg;
+               BGET_opindex(arg);
+               PL_main_start = arg;
                break;
            }
          case INSN_MAIN_ROOT:          /* 117 */
            {
                opindex arg;
-               BGET_objindex(arg);
-               main_root = arg;
+               BGET_opindex(arg);
+               PL_main_root = arg;
                break;
            }
          case INSN_CURPAD:             /* 118 */
            {
                svindex arg;
-               BGET_objindex(arg);
-               BSET_curpad(curpad, arg);
+               BGET_svindex(arg);
+               BSET_curpad(PL_curpad, arg);
                break;
            }
          default: