For SAVEHINTS(), re-order the savestack to be (?:PTR, )? INT, PTR.
[p5sagit/p5-mst-13.2.git] / perl.c
diff --git a/perl.c b/perl.c
index 2489917..63ff6d7 100644 (file)
--- a/perl.c
+++ b/perl.c
@@ -149,13 +149,13 @@ static I32 read_e_script(pTHX_ int idx, SV *buf_sv, int maxlen);
 
 #define CALL_BODY_EVAL(myop) \
     if (PL_op == (myop)) \
-       PL_op = Perl_pp_entereval(aTHX); \
+       PL_op = PL_ppaddr[OP_ENTEREVAL](aTHX); \
     if (PL_op) \
        CALLRUNOPS(aTHX);
 
 #define CALL_BODY_SUB(myop) \
     if (PL_op == (myop)) \
-       PL_op = Perl_pp_entersub(aTHX); \
+       PL_op = PL_ppaddr[OP_ENTERSUB](aTHX); \
     if (PL_op) \
        CALLRUNOPS(aTHX);
 
@@ -946,8 +946,8 @@ perl_destruct(pTHXx)
 
     /* magical thingies */
 
-    SvREFCNT_dec(PL_ofs_sv);   /* $, */
-    PL_ofs_sv = NULL;
+    SvREFCNT_dec(PL_ofsgv);    /* *, */
+    PL_ofsgv = NULL;
 
     SvREFCNT_dec(PL_ors_sv);   /* $\ */
     PL_ors_sv = NULL;
@@ -1876,6 +1876,9 @@ S_parse_body(pTHX_ char **env, XSINIT_t xsinit)
 #  ifdef PERL_MEM_LOG_TIMESTAMP
                             " PERL_MEM_LOG_TIMESTAMP"
 #  endif
+#  ifdef PERL_USE_DEVEL
+                            " PERL_USE_DEVEL"
+#  endif
 #  ifdef PERL_USE_SAFE_PUTENV
                             " PERL_USE_SAFE_PUTENV"
 #  endif
@@ -2892,17 +2895,6 @@ Perl_require_pv(pTHX_ const char *pv)
     POPSTACK;
 }
 
-void
-Perl_magicname(pTHX_ const char *sym, const char *name, I32 namlen)
-{
-    register GV * const gv = gv_fetchpv(sym, GV_ADD, SVt_PV);
-
-    PERL_ARGS_ASSERT_MAGICNAME;
-
-    if (gv)
-       sv_magic(GvSV(gv), MUTABLE_SV(gv), PERL_MAGIC_sv, name, namlen);
-}
-
 STATIC void
 S_usage(pTHX_ const char *name)                /* XXX move this out into a module ? */
 {
@@ -4551,6 +4543,8 @@ S_init_predump_symbols(pTHX)
     IO *io;
 
     sv_setpvs(get_sv("\"", TRUE), " ");
+    PL_ofsgv = (GV*)SvREFCNT_inc(gv_fetchpvs(",", GV_ADD|GV_NOTQUAL, SVt_PV));
+
     PL_stdingv = gv_fetchpvs("STDIN", GV_ADD|GV_NOTQUAL, SVt_PVIO);
     GvMULTI_on(PL_stdingv);
     io = GvIOp(PL_stdingv);
@@ -4652,7 +4646,11 @@ S_init_postdump_symbols(pTHX_ register int argc, register char **argv, register
        sv_setpv(GvSV(tmpgv),MacPerl_MPWFileName(PL_origfilename));
 #else
        sv_setpv(GvSV(tmpgv),PL_origfilename);
-       magicname("0", "0", 1);
+       {
+           GV * const gv = gv_fetchpv("0", GV_ADD, SVt_PV);
+           if (gv)
+               sv_magic(GvSV(gv), MUTABLE_SV(gv), PERL_MAGIC_sv, "0", 1);
+       }
 #endif
     }
     if ((PL_envgv = gv_fetchpvs("ENV", GV_ADD|GV_NOTQUAL, SVt_PVHV))) {
@@ -4831,7 +4829,8 @@ S_init_perllib(pTHX)
 #  endif
 #endif
 
-#ifdef PERL_VENDORLIB_STEM /* Search for version-specific dirs below here */
+#if defined(PERL_VENDORLIB_STEM) && defined(PERL_INC_VERSION_LIST)
+    /* Search for version-specific dirs below here */
     incpush(PERL_VENDORLIB_STEM, FALSE, TRUE, TRUE, TRUE);
 #endif