This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
more complete support for implicit thread/interpreter pointer,
authorGurusamy Sarathy <gsar@cpan.org>
Wed, 9 Jun 1999 18:03:01 +0000 (18:03 +0000)
committerGurusamy Sarathy <gsar@cpan.org>
Wed, 9 Jun 1999 18:03:01 +0000 (18:03 +0000)
enabled via -DPERL_IMPLICIT_CONTEXT (all changes are noops
without that enabled):
  - USE_THREADS now enables PERL_IMPLICIT_CONTEXT, so dTHR
    is a noop; tests pass on Solaris; should be faster now!
  - MULTIPLICITY has been tested with and without
    PERL_IMPLICIT_CONTEXT on Solaris
  - improved function database now merged with embed.pl
  - everything except the varargs functions have foo(a,b,c) macros
    to provide compatibility
  - varargs functions default to compatibility variants that
    get the context pointer using dTHX
  - there should be almost no source compatibility issues as a
    result of all this
  - dl_foo.xs changes other than dl_dlopen.xs untested
  - still needs documentation, fixups for win32 etc
Next step: migrate most non-mutex variables from perlvars.h
to intrpvar.h

p4raw-id: //depot/perl@3524

78 files changed:
MANIFEST
XSUB.h
av.c
bytecode.pl
cv.h
doio.c
doop.c
dump.c
ebcdic.c
embed.h
embed.pl
embedvar.h
ext/B/B.xs
ext/B/typemap
ext/ByteLoader/ByteLoader.xs
ext/ByteLoader/bytecode.h
ext/ByteLoader/byterun.c
ext/ByteLoader/byterun.h
ext/Data/Dumper/Dumper.xs
ext/Devel/Peek/Peek.xs
ext/DynaLoader/dl_aix.xs
ext/DynaLoader/dl_beos.xs
ext/DynaLoader/dl_cygwin32.xs
ext/DynaLoader/dl_dld.xs
ext/DynaLoader/dl_dlopen.xs
ext/DynaLoader/dl_hpux.xs
ext/DynaLoader/dl_mpeix.xs
ext/DynaLoader/dl_next.xs
ext/DynaLoader/dl_rhapsody.xs
ext/DynaLoader/dl_vmesa.xs
ext/DynaLoader/dl_vms.xs
ext/DynaLoader/dlutils.c
ext/Opcode/Opcode.xs
ext/POSIX/POSIX.xs
ext/Thread/Thread.xs
ext/re/re.xs
global.sym
globals.c
gv.c
hv.c
lib/ExtUtils/xsubpp
malloc.c
mg.c
mg.h
miniperlmain.c
objXSUB.h
op.c
opcode.h
opcode.pl
perl.c
perl.h
perlio.c
perlsfio.h
perly.c
pp.c
pp.h
pp_ctl.c
pp_hot.c
pp_sys.c
proto.h
proto.pl [deleted file]
regcomp.c
regcomp.h
regexec.c
run.c
scope.c
scope.h
sv.c
taint.c
thrdvar.h
thread.h
toke.c
universal.c
utf8.c
util.c
win32/Makefile
win32/makefile.mk
writemain.SH

index f16120e..8ec17f5 100644 (file)
--- a/MANIFEST
+++ b/MANIFEST
@@ -157,7 +157,7 @@ emacs/cperl-mode.el An alternate perl-mode
 emacs/e2ctags.pl       etags to ctags converter
 emacs/ptags            Creates smart TAGS file
 embed.h                        Maps symbols to safer names
-embed.pl               Produces embed.h
+embed.pl               Produces {embed,embedvar,objXSUB,proto}.h, global.sym
 embedvar.h             C namespace management
 ext/B/B.pm             Compiler backend support functions and methods
 ext/B/B.xs             Compiler backend external subroutines
@@ -1025,7 +1025,6 @@ pp_hot.c          Push/Pop code for heavily used opcodes
 pp_proto.h             C++ definitions for Push/Pop code
 pp_sys.c               Push/Pop code for system interaction
 proto.h                        Prototypes
-proto.pl               Produces proto.h and global.sym
 qnx/ar                 QNX implementation of "ar" utility
 qnx/cpp                        QNX implementation of preprocessor filter
 regcomp.c              Regular expression compiler
diff --git a/XSUB.h b/XSUB.h
index 5c3ec64..44e2f7d 100644 (file)
--- a/XSUB.h
+++ b/XSUB.h
@@ -1,17 +1,13 @@
 #define ST(off) PL_stack_base[ax + (off)]
 
-#ifdef CAN_PROTOTYPE
-#  ifdef PERL_OBJECT
-#    define XS(name) void name(CV* cv, CPerlObj* pPerl)
+#ifdef PERL_OBJECT
+#  define XS(name) void name(CV* cv, CPerlObj* pPerl)
+#else
+#  if defined(CYGWIN32) && defined(USE_DYNAMIC_LOADING)
+#    define XS(name) __declspec(dllexport) void name(pTHX_ CV* cv)
 #  else
-#    if defined(CYGWIN32) && defined(USE_DYNAMIC_LOADING)
-#      define XS(name) __declspec(dllexport) void name(CV* cv)
-#    else
-#      define XS(name) void name(CV* cv)
-#    endif
+#    define XS(name) void name(pTHX_ CV* cv)
 #  endif
-#else
-#  define XS(name) void name(cv) CV* cv;
 #endif
 
 #define dXSARGS                                \
@@ -31,7 +27,7 @@
 #define dXSFUNCTION(ret)               XSINTERFACE_CVT(ret,XSFUNCTION)
 #define XSINTERFACE_FUNC(ret,cv,f)     ((XSINTERFACE_CVT(ret,))(f))
 #define XSINTERFACE_FUNC_SET(cv,f)     \
-               CvXSUBANY(cv).any_dptr = (void (*) (void*))(f)
+               CvXSUBANY(cv).any_dptr = (void (*) (pTHX_ void*))(f)
 
 #define XSRETURN(off)                                  \
     STMT_START {                                       \
            tmpsv = ST(1);                                              \
        else {                                                          \
            /* XXX GV_ADDWARN */                                        \
-           tmpsv = get_sv(form("%s::%s", module,                       \
+           tmpsv = get_sv(Perl_form(aTHX_ "%s::%s", module,            \
                                vn = "XS_VERSION"), FALSE);             \
            if (!tmpsv || !SvOK(tmpsv))                                 \
-               tmpsv = get_sv(form("%s::%s", module,                   \
+               tmpsv = get_sv(Perl_form(aTHX_ "%s::%s", module,        \
                                    vn = "VERSION"), FALSE);            \
        }                                                               \
        if (tmpsv && (!SvOK(tmpsv) || strNE(XS_VERSION, SvPV(tmpsv, n_a))))     \
-           croak("%s object version %s does not match %s%s%s%s %_",    \
+           Perl_croak(aTHX_ "%s object version %s does not match %s%s%s%s %_", \
                  module, XS_VERSION,                                   \
                  vn ? "$" : "", vn ? module : "", vn ? "::" : "",      \
                  vn ? vn : "bootstrap parameter", tmpsv);              \
diff --git a/av.c b/av.c
index 265eb71..3b0913a 100644 (file)
--- a/av.c
+++ b/av.c
@@ -26,7 +26,7 @@ Perl_av_reify(pTHX_ AV *av)
        return;
 #ifdef DEBUGGING
     if (SvTIED_mg((SV*)av, 'P'))
-       warn("av_reify called on tied array");
+       Perl_warn(aTHX_ "av_reify called on tied array");
 #endif
     key = AvMAX(av) + 1;
     while (key > AvFILLp(av) + 1)
@@ -215,7 +215,7 @@ Perl_av_store(pTHX_ register AV *av, I32 key, SV *val)
     }
 
     if (SvREADONLY(av) && key >= AvFILL(av))
-       croak(PL_no_modify);
+       Perl_croak(aTHX_ PL_no_modify);
 
     if (SvRMAGICAL(av)) {
        if (mg_find((SV*)av,'P')) {
@@ -326,7 +326,7 @@ Perl_av_clear(pTHX_ register AV *av)
 
 #ifdef DEBUGGING
     if (SvREFCNT(av) <= 0) {
-       warn("Attempt to clear deleted array");
+       Perl_warn(aTHX_ "Attempt to clear deleted array");
     }
 #endif
     if (!av)
@@ -334,7 +334,7 @@ Perl_av_clear(pTHX_ register AV *av)
     /*SUPPRESS 560*/
 
     if (SvREADONLY(av))
-       croak(PL_no_modify);
+       Perl_croak(aTHX_ PL_no_modify);
 
     /* Give any tie a chance to cleanup first */
     if (SvRMAGICAL(av))
@@ -394,7 +394,7 @@ Perl_av_push(pTHX_ register AV *av, SV *val)
     if (!av)
        return;
     if (SvREADONLY(av))
-       croak(PL_no_modify);
+       Perl_croak(aTHX_ PL_no_modify);
 
     if (mg = SvTIED_mg((SV*)av, 'P')) {
        dSP;
@@ -422,7 +422,7 @@ Perl_av_pop(pTHX_ register AV *av)
     if (!av || AvFILL(av) < 0)
        return &PL_sv_undef;
     if (SvREADONLY(av))
-       croak(PL_no_modify);
+       Perl_croak(aTHX_ PL_no_modify);
     if (mg = SvTIED_mg((SV*)av, 'P')) {
        dSP;    
        PUSHSTACKi(PERLSI_MAGIC);
@@ -456,7 +456,7 @@ Perl_av_unshift(pTHX_ register AV *av, register I32 num)
     if (!av || num <= 0)
        return;
     if (SvREADONLY(av))
-       croak(PL_no_modify);
+       Perl_croak(aTHX_ PL_no_modify);
 
     if (mg = SvTIED_mg((SV*)av, 'P')) {
        dSP;
@@ -508,7 +508,7 @@ Perl_av_shift(pTHX_ register AV *av)
     if (!av || AvFILL(av) < 0)
        return &PL_sv_undef;
     if (SvREADONLY(av))
-       croak(PL_no_modify);
+       Perl_croak(aTHX_ PL_no_modify);
     if (mg = SvTIED_mg((SV*)av, 'P')) {
        dSP;
        PUSHSTACKi(PERLSI_MAGIC);
@@ -547,7 +547,7 @@ Perl_av_fill(pTHX_ register AV *av, I32 fill)
 {
     MAGIC *mg;
     if (!av)
-       croak("panic: null array");
+       Perl_croak(aTHX_ "panic: null array");
     if (fill < 0)
        fill = -1;
     if (mg = SvTIED_mg((SV*)av, 'P')) {
@@ -596,11 +596,11 @@ Perl_av_fill(pTHX_ register AV *av, I32 fill)
  */
 
 STATIC I32
-avhv_index_sv(pTHX_ SV* sv)
+S_avhv_index_sv(pTHX_ SV* sv)
 {
     I32 index = SvIV(sv);
     if (index < 1)
-       croak("Bad index while coercing array into hash");
+       Perl_croak(aTHX_ "Bad index while coercing array into hash");
     return index;    
 }
 
@@ -618,7 +618,7 @@ Perl_avhv_keys(pTHX_ AV *av)
                return (HV*)sv;
        }
     }
-    croak("Can't coerce array into hash");
+    Perl_croak(aTHX_ "Can't coerce array into hash");
     return Nullhv;
 }
 
@@ -631,7 +631,7 @@ Perl_avhv_fetch_ent(pTHX_ AV *av, SV *keysv, I32 lval, U32 hash)
     
     he = hv_fetch_ent(keys, keysv, FALSE, hash);
     if (!he)
-        croak("No such array field");
+        Perl_croak(aTHX_ "No such array field");
     return av_fetch(av, avhv_index_sv(HeVAL(he)), lval);
 }
 
index 93457ea..c9bb491 100644 (file)
@@ -102,7 +102,8 @@ bset_obj_store(void *obj, I32 ix)
     return obj;
 }
 
-void byterun(struct bytestream bs)
+void
+byterun(pTHX_ struct bytestream bs)
 {
     dTHR;
     int insn;
@@ -173,7 +174,7 @@ EOT
 #
 print BYTERUN_C <<'EOT';
          default:
-           croak("Illegal bytecode instruction %d\n", insn);
+           Perl_croak(aTHX_ "Illegal bytecode instruction %d\n", insn);
            /* NOTREACHED */
        }
     }
diff --git a/cv.h b/cv.h
index 482a257..d862aeb 100644 (file)
--- a/cv.h
+++ b/cv.h
@@ -21,7 +21,7 @@ struct xpvcv {
     HV *       xcv_stash;
     OP *       xcv_start;
     OP *       xcv_root;
-    void      (*xcv_xsub) (CV* _CPERLproto);
+    void      (*xcv_xsub) (pTHX_ CV*);
     ANY                xcv_xsubany;
     GV *       xcv_gv;
     GV *       xcv_filegv;
diff --git a/doio.c b/doio.c
index aac69f8..92a463c 100644 (file)
--- a/doio.c
+++ b/doio.c
@@ -191,7 +191,7 @@ Perl_do_open(pTHX_ GV *gv, register char *name, I32 len, int as_raw, int rawmode
            if (*name == '\0') { /* command is missing 19990114 */
                dTHR;
                if (ckWARN(WARN_PIPE))
-                   warner(WARN_PIPE, "Missing command in piped open");
+                   Perl_warner(aTHX_ WARN_PIPE, "Missing command in piped open");
                errno = EPIPE;
                goto say_false;
            }
@@ -202,7 +202,7 @@ Perl_do_open(pTHX_ GV *gv, register char *name, I32 len, int as_raw, int rawmode
                dTHR;
                name[strlen(name)-1] = '\0' ;
                if (ckWARN(WARN_PIPE))
-                   warner(WARN_PIPE, "Can't do bidirectional pipe");
+                   Perl_warner(aTHX_ WARN_PIPE, "Can't do bidirectional pipe");
            }
            fp = PerlProc_popen(name,"w");
            writing = 1;
@@ -295,7 +295,7 @@ Perl_do_open(pTHX_ GV *gv, register char *name, I32 len, int as_raw, int rawmode
            if (*name == '\0') { /* command is missing 19990114 */
                dTHR;
                if (ckWARN(WARN_PIPE))
-                   warner(WARN_PIPE, "Missing command in piped open");
+                   Perl_warner(aTHX_ WARN_PIPE, "Missing command in piped open");
                errno = EPIPE;
                goto say_false;
            }
@@ -320,7 +320,7 @@ Perl_do_open(pTHX_ GV *gv, register char *name, I32 len, int as_raw, int rawmode
     if (!fp) {
        dTHR;
        if (ckWARN(WARN_NEWLINE) && IoTYPE(io) == '<' && strchr(name, '\n'))
-           warner(WARN_NEWLINE, PL_warn_nl, "open");
+           Perl_warner(aTHX_ WARN_NEWLINE, PL_warn_nl, "open");
        goto say_false;
     }
     if (IoTYPE(io) &&
@@ -455,7 +455,7 @@ Perl_nextargv(pTHX_ register GV *gv)
                fileuid = PL_statbuf.st_uid;
                filegid = PL_statbuf.st_gid;
                if (!S_ISREG(PL_filemode)) {
-                   warn("Can't do inplace edit: %s is not a regular file",
+                   Perl_warn(aTHX_ "Can't do inplace edit: %s is not a regular file",
                      PL_oldname );
                    do_close(gv,FALSE);
                    continue;
@@ -484,7 +484,7 @@ Perl_nextargv(pTHX_ register GV *gv)
                       || (_djstat_fail_bits & _STFAIL_TRUENAME)!=0
 #endif
                       ) {
-                       warn("Can't do inplace edit: %s would not be unique",
+                       Perl_warn(aTHX_ "Can't do inplace edit: %s would not be unique",
                          SvPVX(sv) );
                        do_close(gv,FALSE);
                        continue;
@@ -493,7 +493,7 @@ Perl_nextargv(pTHX_ register GV *gv)
 #ifdef HAS_RENAME
 #ifndef DOSISH
                    if (PerlLIO_rename(PL_oldname,SvPVX(sv)) < 0) {
-                       warn("Can't rename %s to %s: %s, skipping file",
+                       Perl_warn(aTHX_ "Can't rename %s to %s: %s, skipping file",
                          PL_oldname, SvPVX(sv), Strerror(errno) );
                        do_close(gv,FALSE);
                        continue;
@@ -507,7 +507,7 @@ Perl_nextargv(pTHX_ register GV *gv)
 #else
                    (void)UNLINK(SvPVX(sv));
                    if (link(PL_oldname,SvPVX(sv)) < 0) {
-                       warn("Can't rename %s to %s: %s, skipping file",
+                       Perl_warn(aTHX_ "Can't rename %s to %s: %s, skipping file",
                          PL_oldname, SvPVX(sv), Strerror(errno) );
                        do_close(gv,FALSE);
                        continue;
@@ -519,14 +519,14 @@ Perl_nextargv(pTHX_ register GV *gv)
 #if !defined(DOSISH) && !defined(AMIGAOS)
 #  ifndef VMS  /* Don't delete; use automatic file versioning */
                    if (UNLINK(PL_oldname) < 0) {
-                       warn("Can't remove %s: %s, skipping file",
+                       Perl_warn(aTHX_ "Can't remove %s: %s, skipping file",
                          PL_oldname, Strerror(errno) );
                        do_close(gv,FALSE);
                        continue;
                    }
 #  endif
 #else
-                   croak("Can't do inplace edit without backup");
+                   Perl_croak(aTHX_ "Can't do inplace edit without backup");
 #endif
                }
 
@@ -540,7 +540,7 @@ Perl_nextargv(pTHX_ register GV *gv)
                if (!do_open(PL_argvoutgv,SvPVX(sv),SvCUR(sv),PL_inplace!=0,
                             O_WRONLY|O_CREAT|OPEN_EXCL,0666,Nullfp)) {
 #endif
-                   warn("Can't do inplace edit on %s: %s",
+                   Perl_warn(aTHX_ "Can't do inplace edit on %s: %s",
                      PL_oldname, Strerror(errno) );
                    do_close(gv,FALSE);
                    continue;
@@ -643,7 +643,7 @@ Perl_do_close(pTHX_ GV *gv, bool not_implicit)
        if (not_implicit) {
            dTHR;
            if (ckWARN(WARN_UNOPENED))
-               warner(WARN_UNOPENED, 
+               Perl_warner(aTHX_ WARN_UNOPENED, 
                       "Close on unopened file <%s>",GvENAME(gv));
            SETERRNO(EBADF,SS$_IVCHAN);
        }
@@ -744,7 +744,7 @@ Perl_do_tell(pTHX_ GV *gv)
     {
        dTHR;
        if (ckWARN(WARN_UNOPENED))
-           warner(WARN_UNOPENED, "tell() on unopened file");
+           Perl_warner(aTHX_ WARN_UNOPENED, "tell() on unopened file");
     }
     SETERRNO(EBADF,RMS$_IFI);
     return (Off_t)-1;
@@ -766,7 +766,7 @@ Perl_do_seek(pTHX_ GV *gv, Off_t pos, int whence)
     {
        dTHR;
        if (ckWARN(WARN_UNOPENED))
-           warner(WARN_UNOPENED, "seek() on unopened file");
+           Perl_warner(aTHX_ WARN_UNOPENED, "seek() on unopened file");
     }
     SETERRNO(EBADF,RMS$_IFI);
     return FALSE;
@@ -783,7 +783,7 @@ Perl_do_sysseek(pTHX_ GV *gv, Off_t pos, int whence)
     {
        dTHR;
        if (ckWARN(WARN_UNOPENED))
-           warner(WARN_UNOPENED, "sysseek() on unopened file");
+           Perl_warner(aTHX_ WARN_UNOPENED, "sysseek() on unopened file");
     }
     SETERRNO(EBADF,RMS$_IFI);
     return -1L;
@@ -793,7 +793,7 @@ int
 Perl_do_binmode(pTHX_ PerlIO *fp, int iotype, int flag)
 {
     if (flag != TRUE)
-       croak("panic: unsetting binmode"); /* Not implemented yet */
+       Perl_croak(aTHX_ "panic: unsetting binmode"); /* Not implemented yet */
 #ifdef DOSISH
 #if defined(atarist) || defined(__MINT__)
     if (!PerlIO_flush(fp) && (fp->_flag |= _IOBIN))
@@ -907,7 +907,7 @@ Perl_do_print(pTHX_ register SV *sv, PerlIO *fp)
        {
            dTHR;
            if (ckWARN(WARN_UNINITIALIZED))
-               warner(WARN_UNINITIALIZED, PL_warn_uninit);
+               Perl_warner(aTHX_ WARN_UNINITIALIZED, PL_warn_uninit);
        }
        return TRUE;
     case SVt_IV:
@@ -931,7 +931,7 @@ Perl_do_print(pTHX_ register SV *sv, PerlIO *fp)
 }
 
 I32
-Perl_my_stat(pTHX_ ARGSproto)
+Perl_my_stat(pTHX)
 {
     djSP;
     IO *io;
@@ -952,7 +952,7 @@ Perl_my_stat(pTHX_ ARGSproto)
            if (tmpgv == PL_defgv)
                return PL_laststatval;
            if (ckWARN(WARN_UNOPENED))
-               warner(WARN_UNOPENED, "Stat on unopened file <%s>",
+               Perl_warner(aTHX_ WARN_UNOPENED, "Stat on unopened file <%s>",
                  GvENAME(tmpgv));
            PL_statgv = Nullgv;
            sv_setpv(PL_statname,"");
@@ -979,13 +979,13 @@ Perl_my_stat(pTHX_ ARGSproto)
        PL_laststype = OP_STAT;
        PL_laststatval = PerlLIO_stat(s, &PL_statcache);
        if (PL_laststatval < 0 && ckWARN(WARN_NEWLINE) && strchr(s, '\n'))
-           warner(WARN_NEWLINE, PL_warn_nl, "stat");
+           Perl_warner(aTHX_ WARN_NEWLINE, PL_warn_nl, "stat");
        return PL_laststatval;
     }
 }
 
 I32
-Perl_my_lstat(pTHX_ ARGSproto)
+Perl_my_lstat(pTHX)
 {
     djSP;
     SV *sv;
@@ -994,10 +994,10 @@ Perl_my_lstat(pTHX_ ARGSproto)
        EXTEND(SP,1);
        if (cGVOP->op_gv == PL_defgv) {
            if (PL_laststype != OP_LSTAT)
-               croak("The stat preceding -l _ wasn't an lstat");
+               Perl_croak(aTHX_ "The stat preceding -l _ wasn't an lstat");
            return PL_laststatval;
        }
-       croak("You can't use -l on a filehandle");
+       Perl_croak(aTHX_ "You can't use -l on a filehandle");
     }
 
     PL_laststype = OP_LSTAT;
@@ -1007,7 +1007,7 @@ Perl_my_lstat(pTHX_ ARGSproto)
     sv_setpv(PL_statname,SvPV(sv, n_a));
     PL_laststatval = PerlLIO_lstat(SvPV(sv, n_a),&PL_statcache);
     if (PL_laststatval < 0 && ckWARN(WARN_NEWLINE) && strchr(SvPV(sv, n_a), '\n'))
-       warner(WARN_NEWLINE, PL_warn_nl, "lstat");
+       Perl_warner(aTHX_ WARN_NEWLINE, PL_warn_nl, "lstat");
     return PL_laststatval;
 }
 
@@ -1036,7 +1036,7 @@ Perl_do_aexec(pTHX_ SV *really, register SV **mark, register SV **sp)
        else
            PerlProc_execvp(PL_Argv[0],PL_Argv);
        if (ckWARN(WARN_EXEC))
-           warner(WARN_EXEC, "Can't exec \"%s\": %s", 
+           Perl_warner(aTHX_ WARN_EXEC, "Can't exec \"%s\": %s", 
                PL_Argv[0], Strerror(errno));
     }
     do_execfree();
@@ -1150,7 +1150,7 @@ Perl_do_exec3(pTHX_ char *cmd, int fd, int do_report)
            int e = errno;
 
            if (ckWARN(WARN_EXEC))
-               warner(WARN_EXEC, "Can't exec \"%s\": %s", 
+               Perl_warner(aTHX_ WARN_EXEC, "Can't exec \"%s\": %s", 
                    PL_Argv[0], Strerror(errno));
            if (do_report) {
                PerlLIO_write(fd, (void*)&e, sizeof(int));
@@ -1242,7 +1242,7 @@ nothing in the core.
            if (*s == 'S' && s[1] == 'I' && s[2] == 'G')
                s += 3;
            if (!(val = whichsig(s)))
-               croak("Unrecognized signal name \"%s\"",s);
+               Perl_croak(aTHX_ "Unrecognized signal name \"%s\"",s);
        }
        else
            val = SvIVx(*mark);
@@ -1469,7 +1469,7 @@ Perl_do_ipcget(pTHX_ I32 optype, SV **mark, SV **sp)
 #endif
 #if !defined(HAS_MSG) || !defined(HAS_SEM) || !defined(HAS_SHM)
     default:
-       croak("%s not implemented", PL_op_desc[optype]);
+       Perl_croak(aTHX_ "%s not implemented", PL_op_desc[optype]);
 #endif
     }
     return -1;                 /* should never happen */
@@ -1524,13 +1524,13 @@ Perl_do_ipcctl(pTHX_ I32 optype, SV **mark, SV **sp)
                   than guessing about u_?short(_t)? */
        }
 #else
-       croak("%s not implemented", PL_op_desc[optype]);
+       Perl_croak(aTHX_ "%s not implemented", PL_op_desc[optype]);
 #endif
        break;
 #endif
 #if !defined(HAS_MSG) || !defined(HAS_SEM) || !defined(HAS_SHM)
     default:
-       croak("%s not implemented", PL_op_desc[optype]);
+       Perl_croak(aTHX_ "%s not implemented", PL_op_desc[optype]);
 #endif
     }
 
@@ -1546,7 +1546,7 @@ Perl_do_ipcctl(pTHX_ I32 optype, SV **mark, SV **sp)
        {
            a = SvPV(astr, len);
            if (len != infosize)
-               croak("Bad arg length for %s, is %lu, should be %ld",
+               Perl_croak(aTHX_ "Bad arg length for %s, is %lu, should be %ld",
                      PL_op_desc[optype],
                      (unsigned long)len,
                      (long)infosize);
@@ -1573,7 +1573,7 @@ Perl_do_ipcctl(pTHX_ I32 optype, SV **mark, SV **sp)
             unsemds.buf = (struct semid_ds *)a;
            ret = Semctl(id, n, cmd, unsemds);
 #else
-           croak("%s not implemented", PL_op_desc[optype]);
+           Perl_croak(aTHX_ "%s not implemented", PL_op_desc[optype]);
 #endif
         }
        break;
@@ -1607,11 +1607,11 @@ Perl_do_msgsnd(pTHX_ SV **mark, SV **sp)
     flags = SvIVx(*++mark);
     mbuf = SvPV(mstr, len);
     if ((msize = len - sizeof(long)) < 0)
-       croak("Arg too short for msgsnd");
+       Perl_croak(aTHX_ "Arg too short for msgsnd");
     SETERRNO(0,0);
     return msgsnd(id, (struct msgbuf *)mbuf, msize, flags);
 #else
-    croak("msgsnd not implemented");
+    Perl_croak(aTHX_ "msgsnd not implemented");
 #endif
 }
 
@@ -1642,7 +1642,7 @@ Perl_do_msgrcv(pTHX_ SV **mark, SV **sp)
     }
     return ret;
 #else
-    croak("msgrcv not implemented");
+    Perl_croak(aTHX_ "msgrcv not implemented");
 #endif
 }
 
@@ -1667,7 +1667,7 @@ Perl_do_semop(pTHX_ SV **mark, SV **sp)
     SETERRNO(0,0);
     return semop(id, (struct sembuf *)opbuf, opsize/sizeof(struct sembuf));
 #else
-    croak("semop not implemented");
+    Perl_croak(aTHX_ "semop not implemented");
 #endif
 }
 
@@ -1717,7 +1717,7 @@ Perl_do_shmio(pTHX_ I32 optype, SV **mark, SV **sp)
     }
     return shmdt(shm);
 #else
-    croak("shm I/O not implemented");
+    Perl_croak(aTHX_ "shm I/O not implemented");
 #endif
 }
 
diff --git a/doop.c b/doop.c
index 7b5f751..2857792 100644 (file)
--- a/doop.c
+++ b/doop.c
@@ -20,7 +20,7 @@
 #endif
 
 STATIC I32
-do_trans_CC_simple(pTHX_ SV *sv)
+S_do_trans_CC_simple(pTHX_ SV *sv)
 {
     dTHR;
     U8 *s;
@@ -32,7 +32,7 @@ do_trans_CC_simple(pTHX_ SV *sv)
 
     tbl = (short*)cPVOP->op_pv;
     if (!tbl)
-       croak("panic: do_trans");
+       Perl_croak(aTHX_ "panic: do_trans");
 
     s = (U8*)SvPV(sv, len);
     send = s + len;
@@ -50,7 +50,7 @@ do_trans_CC_simple(pTHX_ SV *sv)
 }
 
 STATIC I32
-do_trans_CC_count(pTHX_ SV *sv)
+S_do_trans_CC_count(pTHX_ SV *sv)
 {
     dTHR;
     U8 *s;
@@ -61,7 +61,7 @@ do_trans_CC_count(pTHX_ SV *sv)
 
     tbl = (short*)cPVOP->op_pv;
     if (!tbl)
-       croak("panic: do_trans");
+       Perl_croak(aTHX_ "panic: do_trans");
 
     s = (U8*)SvPV(sv, len);
     send = s + len;
@@ -76,7 +76,7 @@ do_trans_CC_count(pTHX_ SV *sv)
 }
 
 STATIC I32
-do_trans_CC_complex(pTHX_ SV *sv)
+S_do_trans_CC_complex(pTHX_ SV *sv)
 {
     dTHR;
     U8 *s;
@@ -89,7 +89,7 @@ do_trans_CC_complex(pTHX_ SV *sv)
 
     tbl = (short*)cPVOP->op_pv;
     if (!tbl)
-       croak("panic: do_trans");
+       Perl_croak(aTHX_ "panic: do_trans");
 
     s = (U8*)SvPV(sv, len);
     send = s + len;
@@ -133,7 +133,7 @@ do_trans_CC_complex(pTHX_ SV *sv)
 }
 
 STATIC I32
-do_trans_UU_simple(pTHX_ SV *sv)
+S_do_trans_UU_simple(pTHX_ SV *sv)
 {
     dTHR;
     U8 *s;
@@ -185,7 +185,7 @@ do_trans_UU_simple(pTHX_ SV *sv)
 }
 
 STATIC I32
-do_trans_UU_count(pTHX_ SV *sv)
+S_do_trans_UU_count(pTHX_ SV *sv)
 {
     dTHR;
     U8 *s;
@@ -212,7 +212,7 @@ do_trans_UU_count(pTHX_ SV *sv)
 }
 
 STATIC I32
-do_trans_UC_simple(pTHX_ SV *sv)
+S_do_trans_UC_simple(pTHX_ SV *sv)
 {
     dTHR;
     U8 *s;
@@ -265,7 +265,7 @@ do_trans_UC_simple(pTHX_ SV *sv)
 }
 
 STATIC I32
-do_trans_CU_simple(pTHX_ SV *sv)
+S_do_trans_CU_simple(pTHX_ SV *sv)
 {
     dTHR;
     U8 *s;
@@ -328,7 +328,7 @@ do_trans_CU_simple(pTHX_ SV *sv)
 /* utf-8 to latin-1 */
 
 STATIC I32
-do_trans_UC_trivial(pTHX_ SV *sv)
+S_do_trans_UC_trivial(pTHX_ SV *sv)
 {
     dTHR;
     U8 *s;
@@ -360,7 +360,7 @@ do_trans_UC_trivial(pTHX_ SV *sv)
 /* latin-1 to utf-8 */
 
 STATIC I32
-do_trans_CU_trivial(pTHX_ SV *sv)
+S_do_trans_CU_trivial(pTHX_ SV *sv)
 {
     dTHR;
     U8 *s;
@@ -394,7 +394,7 @@ do_trans_CU_trivial(pTHX_ SV *sv)
 }
 
 STATIC I32
-do_trans_UU_complex(pTHX_ SV *sv)
+S_do_trans_UU_complex(pTHX_ SV *sv)
 {
     dTHR;
     U8 *s;
@@ -585,7 +585,7 @@ Perl_do_trans(pTHX_ SV *sv)
     STRLEN len;
 
     if (SvREADONLY(sv) && !(PL_op->op_private & OPpTRANS_IDENTICAL))
-       croak(PL_no_modify);
+       Perl_croak(aTHX_ PL_no_modify);
 
     (void)SvPV(sv, len);
     if (!len)
@@ -594,7 +594,7 @@ Perl_do_trans(pTHX_ SV *sv)
        (void)SvPV_force(sv, len);
     (void)SvPOK_only(sv);
 
-    DEBUG_t( deb("2.TBL\n"));
+    DEBUG_t( Perl_deb(aTHX_ "2.TBL\n"));
 
     switch (PL_op->op_private & 63) {
     case 0:
@@ -777,7 +777,7 @@ Perl_do_chop(pTHX_ register SV *astr, register SV *sv)
         return;
     }
     else if (SvREADONLY(sv))
-       croak(PL_no_modify);
+       Perl_croak(aTHX_ PL_no_modify);
     s = SvPV(sv, len);
     if (len && !SvPOK(sv))
        s = SvPV_force(sv, len);
@@ -789,7 +789,7 @@ Perl_do_chop(pTHX_ register SV *astr, register SV *sv)
            while ((*s & 0xc0) == 0x80)
                --s;
            if (UTF8SKIP(s) != send - s)
-               warn("Malformed UTF-8 character");
+               Perl_warn(aTHX_ "Malformed UTF-8 character");
            sv_setpvn(astr, s, send - s);
            *s = '\0';
            SvCUR_set(sv, s - start);
@@ -846,7 +846,7 @@ Perl_do_chomp(pTHX_ register SV *sv)
         return count;
     }
     else if (SvREADONLY(sv))
-       croak(PL_no_modify);
+       Perl_croak(aTHX_ PL_no_modify);
     s = SvPV(sv, len);
     if (len && !SvPOKp(sv))
        s = SvPV_force(sv, len);
@@ -1005,7 +1005,7 @@ Perl_do_vop(pTHX_ I32 optype, SV *sv, SV *left, SV *right)
 }
 
 OP *
-Perl_do_kv(pTHX_ ARGSproto)
+Perl_do_kv(pTHX)
 {
     djSP;
     HV *hv = (HV*)POPs;
@@ -1077,7 +1077,7 @@ Perl_do_kv(pTHX_ ARGSproto)
            PUTBACK;
            tmpstr = realhv ?
                     hv_iterval(hv,entry) : avhv_iterval((AV*)hv,entry);
-           DEBUG_H(sv_setpvf(tmpstr, "%lu%%%d=%lu",
+           DEBUG_H(Perl_sv_setpvf(aTHX_ tmpstr, "%lu%%%d=%lu",
                            (unsigned long)HeHASH(entry),
                            HvMAX(keys)+1,
                            (unsigned long)(HeHASH(entry) & HvMAX(keys))));
diff --git a/dump.c b/dump.c
index 063d296..ef0d858 100644 (file)
--- a/dump.c
+++ b/dump.c
@@ -74,15 +74,15 @@ Perl_dump_sub(pTHX_ GV *gv)
     SV *sv = sv_newmortal();
 
     gv_fullname3(sv, gv, Nullch);
-    dump_indent(0, Perl_debug_log, "\nSUB %s = ", SvPVX(sv));
+    Perl_dump_indent(aTHX_ 0, Perl_debug_log, "\nSUB %s = ", SvPVX(sv));
     if (CvXSUB(GvCV(gv)))
-       dump_indent(0, Perl_debug_log, "(xsub 0x%x %d)\n",
+       Perl_dump_indent(aTHX_ 0, Perl_debug_log, "(xsub 0x%x %d)\n",
            (long)CvXSUB(GvCV(gv)),
            CvXSUBANY(GvCV(gv)).any_i32);
     else if (CvROOT(GvCV(gv)))
        op_dump(CvROOT(GvCV(gv)));
     else
-       dump_indent(0, Perl_debug_log, "<undef>\n");
+       Perl_dump_indent(aTHX_ 0, Perl_debug_log, "<undef>\n");
 }
 
 void
@@ -91,11 +91,11 @@ Perl_dump_form(pTHX_ GV *gv)
     SV *sv = sv_newmortal();
 
     gv_fullname3(sv, gv, Nullch);
-    dump_indent(0, Perl_debug_log, "\nFORMAT %s = ", SvPVX(sv));
+    Perl_dump_indent(aTHX_ 0, Perl_debug_log, "\nFORMAT %s = ", SvPVX(sv));
     if (CvROOT(GvFORM(gv)))
        op_dump(CvROOT(GvFORM(gv)));
     else
-       dump_indent(0, Perl_debug_log, "<undef>\n");
+       Perl_dump_indent(aTHX_ 0, Perl_debug_log, "<undef>\n");
 }
 
 void
@@ -129,9 +129,9 @@ Perl_pv_display(pTHX_ SV *sv, char *pv, STRLEN cur, STRLEN len, STRLEN pvlim)
         }
        else {
            if (cur && isDIGIT(*(pv+1)))
-               sv_catpvf(sv, "\\%03o", *pv);
+               Perl_sv_catpvf(aTHX_ sv, "\\%03o", *pv);
            else
-               sv_catpvf(sv, "\\%o", *pv);
+               Perl_sv_catpvf(aTHX_ sv, "\\%o", *pv);
         }
     }
     sv_catpvn(sv, "\"", 1);
@@ -246,7 +246,7 @@ Perl_sv_peek(pTHX_ SV *sv)
        break;
     case SVt_PVCV:
        if (CvGV(sv))
-           sv_catpvf(t, "CV(%s)", GvNAME(CvGV(sv)));
+           Perl_sv_catpvf(aTHX_ t, "CV(%s)", GvNAME(CvGV(sv)));
        else
            sv_catpv(t, "CV()");
        goto finish;
@@ -271,20 +271,20 @@ Perl_sv_peek(pTHX_ SV *sv)
            SV *tmp = newSVpvn("", 0);
            sv_catpv(t, "(");
            if (SvOOK(sv))
-               sv_catpvf(t, "[%s]", pv_display(tmp, SvPVX(sv)-SvIVX(sv), SvIVX(sv), 0, 127));
-           sv_catpvf(t, "%s)", pv_display(tmp, SvPVX(sv), SvCUR(sv), SvLEN(sv), 127));
+               Perl_sv_catpvf(aTHX_ t, "[%s]", pv_display(tmp, SvPVX(sv)-SvIVX(sv), SvIVX(sv), 0, 127));
+           Perl_sv_catpvf(aTHX_ t, "%s)", pv_display(tmp, SvPVX(sv), SvCUR(sv), SvLEN(sv), 127));
            SvREFCNT_dec(tmp);
        }
     }
     else if (SvNOKp(sv)) {
        SET_NUMERIC_STANDARD();
-       sv_catpvf(t, "(%g)",SvNVX(sv));
+       Perl_sv_catpvf(aTHX_ t, "(%g)",SvNVX(sv));
     }
     else if (SvIOKp(sv)) {             /* XXXX: IV, UV? */
        if (SvIsUV(sv))
-           sv_catpvf(t, "(%lu)",(unsigned long)SvUVX(sv));
+           Perl_sv_catpvf(aTHX_ t, "(%lu)",(unsigned long)SvUVX(sv));
        else
-            sv_catpvf(t, "(%ld)",(long)SvIVX(sv));
+            Perl_sv_catpvf(aTHX_ t, "(%ld)",(long)SvIVX(sv));
     }
     else
        sv_catpv(t, "()");
@@ -303,23 +303,23 @@ Perl_do_pmop_dump(pTHX_ I32 level, PerlIO *file, PMOP *pm)
     char ch;
 
     if (!pm) {
-       dump_indent(level, file, "{}\n");
+       Perl_dump_indent(aTHX_ level, file, "{}\n");
        return;
     }
-    dump_indent(level, file, "{\n");
+    Perl_dump_indent(aTHX_ level, file, "{\n");
     level++;
     if (pm->op_pmflags & PMf_ONCE)
        ch = '?';
     else
        ch = '/';
     if (pm->op_pmregexp)
-       dump_indent(level, file, "PMf_PRE %c%s%c%s\n",
+       Perl_dump_indent(aTHX_ level, file, "PMf_PRE %c%s%c%s\n",
             ch, pm->op_pmregexp->precomp, ch,
             (pm->op_private & OPpRUNTIME) ? " (RUNTIME)" : "");
     else
-       dump_indent(level, file, "PMf_PRE (RUNTIME)\n");
+       Perl_dump_indent(aTHX_ level, file, "PMf_PRE (RUNTIME)\n");
     if (pm->op_type != OP_PUSHRE && pm->op_pmreplroot) {
-       dump_indent(level, file, "PMf_REPL = ");
+       Perl_dump_indent(aTHX_ level, file, "PMf_REPL = ");
        op_dump(pm->op_pmreplroot);
     }
     if (pm->op_pmflags || (pm->op_pmregexp && pm->op_pmregexp->check_substr)) {
@@ -350,11 +350,11 @@ Perl_do_pmop_dump(pTHX_ I32 level, PerlIO *file, PMOP *pm)
            sv_catpv(tmpsv, ",RETAINT");
        if (pm->op_pmflags & PMf_EVAL)
            sv_catpv(tmpsv, ",EVAL");
-       dump_indent(level, file, "PMFLAGS = (%s)\n", SvCUR(tmpsv) ? SvPVX(tmpsv) + 1 : "");
+       Perl_dump_indent(aTHX_ level, file, "PMFLAGS = (%s)\n", SvCUR(tmpsv) ? SvPVX(tmpsv) + 1 : "");
        SvREFCNT_dec(tmpsv);
     }
 
-    dump_indent(level-1, file, "}\n");
+    Perl_dump_indent(aTHX_ level-1, file, "}\n");
 }
 
 void
@@ -368,7 +368,7 @@ Perl_do_op_dump(pTHX_ I32 level, PerlIO *file, OP *o)
 {
     dTHR;
     STRLEN n_a;
-    dump_indent(level, file, "{\n");
+    Perl_dump_indent(aTHX_ level, file, "{\n");
     level++;
     if (o->op_seq)
        PerlIO_printf(file, "%-4d", o->op_seq);
@@ -385,12 +385,12 @@ Perl_do_op_dump(pTHX_ I32 level, PerlIO *file, OP *o)
        PerlIO_printf(file, "DONE\n");
     if (o->op_targ) {
        if (o->op_type == OP_NULL)
-           dump_indent(level, file, "  (was %s)\n", PL_op_name[o->op_targ]);
+           Perl_dump_indent(aTHX_ level, file, "  (was %s)\n", PL_op_name[o->op_targ]);
        else
-           dump_indent(level, file, "TARG = %d\n", o->op_targ);
+           Perl_dump_indent(aTHX_ level, file, "TARG = %d\n", o->op_targ);
     }
 #ifdef DUMPADDR
-    dump_indent(level, file, "ADDR = 0x%lx => 0x%lx\n",o, o->op_next);
+    Perl_dump_indent(aTHX_ level, file, "ADDR = 0x%lx => 0x%lx\n",o, o->op_next);
 #endif
     if (o->op_flags) {
        SV *tmpsv = newSVpvn("", 0);
@@ -420,7 +420,7 @@ Perl_do_op_dump(pTHX_ I32 level, PerlIO *file, OP *o)
            sv_catpv(tmpsv, ",MOD");
        if (o->op_flags & OPf_SPECIAL)
            sv_catpv(tmpsv, ",SPECIAL");
-       dump_indent(level, file, "FLAGS = (%s)\n", SvCUR(tmpsv) ? SvPVX(tmpsv) + 1 : "");
+       Perl_dump_indent(aTHX_ level, file, "FLAGS = (%s)\n", SvCUR(tmpsv) ? SvPVX(tmpsv) + 1 : "");
        SvREFCNT_dec(tmpsv);
     }
     if (o->op_private) {
@@ -496,7 +496,7 @@ Perl_do_op_dump(pTHX_ I32 level, PerlIO *file, OP *o)
        if (o->op_flags & OPf_MOD && o->op_private & OPpLVAL_INTRO)
            sv_catpv(tmpsv, ",INTRO");
        if (SvCUR(tmpsv))
-           dump_indent(level, file, "PRIVATE = (%s)\n", SvPVX(tmpsv) + 1);
+           Perl_dump_indent(aTHX_ level, file, "PRIVATE = (%s)\n", SvPVX(tmpsv) + 1);
        SvREFCNT_dec(tmpsv);
     }
 
@@ -508,46 +508,46 @@ Perl_do_op_dump(pTHX_ I32 level, PerlIO *file, OP *o)
            ENTER;
            SAVEFREESV(tmpsv);
            gv_fullname3(tmpsv, cGVOPo->op_gv, Nullch);
-           dump_indent(level, file, "GV = %s\n", SvPV(tmpsv, n_a));
+           Perl_dump_indent(aTHX_ level, file, "GV = %s\n", SvPV(tmpsv, n_a));
            LEAVE;
        }
        else
-           dump_indent(level, file, "GV = NULL\n");
+           Perl_dump_indent(aTHX_ level, file, "GV = NULL\n");
        break;
     case OP_CONST:
-       dump_indent(level, file, "SV = %s\n", SvPEEK(cSVOPo->op_sv));
+       Perl_dump_indent(aTHX_ level, file, "SV = %s\n", SvPEEK(cSVOPo->op_sv));
        break;
     case OP_NEXTSTATE:
     case OP_DBSTATE:
        if (cCOPo->cop_line)
-           dump_indent(level, file, "LINE = %d\n",cCOPo->cop_line);
+           Perl_dump_indent(aTHX_ level, file, "LINE = %d\n",cCOPo->cop_line);
        if (cCOPo->cop_label)
-           dump_indent(level, file, "LABEL = \"%s\"\n",cCOPo->cop_label);
+           Perl_dump_indent(aTHX_ level, file, "LABEL = \"%s\"\n",cCOPo->cop_label);
        break;
     case OP_ENTERLOOP:
-       dump_indent(level, file, "REDO ===> ");
+       Perl_dump_indent(aTHX_ level, file, "REDO ===> ");
        if (cLOOPo->op_redoop)
            PerlIO_printf(file, "%d\n", cLOOPo->op_redoop->op_seq);
        else
            PerlIO_printf(file, "DONE\n");
-       dump_indent(level, file, "NEXT ===> ");
+       Perl_dump_indent(aTHX_ level, file, "NEXT ===> ");
        if (cLOOPo->op_nextop)
            PerlIO_printf(file, "%d\n", cLOOPo->op_nextop->op_seq);
        else
            PerlIO_printf(file, "DONE\n");
-       dump_indent(level, file, "LAST ===> ");
+       Perl_dump_indent(aTHX_ level, file, "LAST ===> ");
        if (cLOOPo->op_lastop)
            PerlIO_printf(file, "%d\n", cLOOPo->op_lastop->op_seq);
        else
            PerlIO_printf(file, "DONE\n");
        break;
     case OP_COND_EXPR:
-       dump_indent(level, file, "TRUE ===> ");
+       Perl_dump_indent(aTHX_ level, file, "TRUE ===> ");
        if (cCONDOPo->op_true)
            PerlIO_printf(file, "%d\n", cCONDOPo->op_true->op_seq);
        else
            PerlIO_printf(file, "DONE\n");
-       dump_indent(level, file, "FALSE ===> ");
+       Perl_dump_indent(aTHX_ level, file, "FALSE ===> ");
        if (cCONDOPo->op_false)
            PerlIO_printf(file, "%d\n", cCONDOPo->op_false->op_seq);
        else
@@ -557,7 +557,7 @@ Perl_do_op_dump(pTHX_ I32 level, PerlIO *file, OP *o)
     case OP_GREPWHILE:
     case OP_OR:
     case OP_AND:
-       dump_indent(level, file, "OTHER ===> ");
+       Perl_dump_indent(aTHX_ level, file, "OTHER ===> ");
        if (cLOGOPo->op_other)
            PerlIO_printf(file, "%d\n", cLOGOPo->op_other->op_seq);
        else
@@ -577,7 +577,7 @@ Perl_do_op_dump(pTHX_ I32 level, PerlIO *file, OP *o)
        for (kid = cUNOPo->op_first; kid; kid = kid->op_sibling)
            do_op_dump(level, file, kid);
     }
-    dump_indent(level-1, file, "}\n");
+    Perl_dump_indent(aTHX_ level-1, file, "}\n");
 }
 
 void
@@ -598,20 +598,20 @@ Perl_gv_dump(pTHX_ GV *gv)
     sv = sv_newmortal();
     PerlIO_printf(Perl_debug_log, "{\n");
     gv_fullname3(sv, gv, Nullch);
-    dump_indent(1, Perl_debug_log, "GV_NAME = %s", SvPVX(sv));
+    Perl_dump_indent(aTHX_ 1, Perl_debug_log, "GV_NAME = %s", SvPVX(sv));
     if (gv != GvEGV(gv)) {
        gv_efullname3(sv, GvEGV(gv), Nullch);
-       dump_indent(1, Perl_debug_log, "-> %s", SvPVX(sv));
+       Perl_dump_indent(aTHX_ 1, Perl_debug_log, "-> %s", SvPVX(sv));
     }
     PerlIO_putc(Perl_debug_log, '\n');
-    dump_indent(0, Perl_debug_log, "}\n");
+    Perl_dump_indent(aTHX_ 0, Perl_debug_log, "}\n");
 }
 
 void
 Perl_do_magic_dump(pTHX_ I32 level, PerlIO *file, MAGIC *mg, I32 nest, I32 maxnest, bool dumpops, STRLEN pvlim)
 {
     for (; mg; mg = mg->mg_moremagic) {
-       dump_indent(level, file, "  MAGIC = 0x%lx\n", (long)mg);
+       Perl_dump_indent(aTHX_ level, file, "  MAGIC = 0x%lx\n", (long)mg);
        if (mg->mg_virtual) {
             MGVTBL *v = mg->mg_virtual;
            char *s = 0;
@@ -643,41 +643,41 @@ Perl_do_magic_dump(pTHX_ I32 level, PerlIO *file, MAGIC *mg, I32 nest, I32 maxne
            else if (v == &PL_vtbl_amagicelem) s = "amagicelem";
            else if (v == &PL_vtbl_backref)    s = "backref";
            if (s)
-               dump_indent(level, file, "    MG_VIRTUAL = &PL_vtbl_%s\n", s);
+               Perl_dump_indent(aTHX_ level, file, "    MG_VIRTUAL = &PL_vtbl_%s\n", s);
            else
-               dump_indent(level, file, "    MG_VIRTUAL = 0x%lx\n", (long)v);
+               Perl_dump_indent(aTHX_ level, file, "    MG_VIRTUAL = 0x%lx\n", (long)v);
         }
        else
-           dump_indent(level, file, "    MG_VIRTUAL = 0\n");
+           Perl_dump_indent(aTHX_ level, file, "    MG_VIRTUAL = 0\n");
 
        if (mg->mg_private)
-           dump_indent(level, file, "    MG_PRIVATE = %d\n", mg->mg_private);
+           Perl_dump_indent(aTHX_ level, file, "    MG_PRIVATE = %d\n", mg->mg_private);
 
        if (isPRINT(mg->mg_type))
-           dump_indent(level, file, "    MG_TYPE = '%c'\n", mg->mg_type);
+           Perl_dump_indent(aTHX_ level, file, "    MG_TYPE = '%c'\n", mg->mg_type);
        else
-           dump_indent(level, file, "    MG_TYPE = '\\%o'\n", mg->mg_type);
+           Perl_dump_indent(aTHX_ level, file, "    MG_TYPE = '\\%o'\n", mg->mg_type);
 
         if (mg->mg_flags) {
-            dump_indent(level, file, "    MG_FLAGS = 0x%02X\n", mg->mg_flags);
+            Perl_dump_indent(aTHX_ level, file, "    MG_FLAGS = 0x%02X\n", mg->mg_flags);
            if (mg->mg_flags & MGf_TAINTEDDIR)
-               dump_indent(level, file, "      TAINTEDDIR\n");
+               Perl_dump_indent(aTHX_ level, file, "      TAINTEDDIR\n");
            if (mg->mg_flags & MGf_REFCOUNTED)
-               dump_indent(level, file, "      REFCOUNTED\n");
+               Perl_dump_indent(aTHX_ level, file, "      REFCOUNTED\n");
             if (mg->mg_flags & MGf_GSKIP)
-               dump_indent(level, file, "      GSKIP\n");
+               Perl_dump_indent(aTHX_ level, file, "      GSKIP\n");
            if (mg->mg_flags & MGf_MINMATCH)
-               dump_indent(level, file, "      MINMATCH\n");
+               Perl_dump_indent(aTHX_ level, file, "      MINMATCH\n");
         }
        if (mg->mg_obj) {
-           dump_indent(level, file, "    MG_OBJ = 0x%lx\n", (long)mg->mg_obj);
+           Perl_dump_indent(aTHX_ level, file, "    MG_OBJ = 0x%lx\n", (long)mg->mg_obj);
            if (mg->mg_flags & MGf_REFCOUNTED)
                do_sv_dump(level+2, file, mg->mg_obj, nest+1, maxnest, dumpops, pvlim); /* MG is already +1 */
        }
         if (mg->mg_len)
-           dump_indent(level, file, "    MG_LEN = %d\n", mg->mg_len);
+           Perl_dump_indent(aTHX_ level, file, "    MG_LEN = %d\n", mg->mg_len);
         if (mg->mg_ptr) {
-           dump_indent(level, file, "    MG_PTR = 0x%lx", (long)mg->mg_ptr);
+           Perl_dump_indent(aTHX_ level, file, "    MG_PTR = 0x%lx", (long)mg->mg_ptr);
            if (mg->mg_len >= 0) {
                SV *sv = newSVpvn("", 0);
                 PerlIO_printf(file, " %s", pv_display(sv, mg->mg_ptr, mg->mg_len, 0, pvlim));
@@ -704,7 +704,7 @@ Perl_magic_dump(pTHX_ MAGIC *mg)
 void
 Perl_do_hv_dump(pTHX_ I32 level, PerlIO *file, char *name, HV *sv)
 {
-    dump_indent(level, file, "%s = 0x%lx", name, (long)sv);
+    Perl_dump_indent(aTHX_ level, file, "%s = 0x%lx", name, (long)sv);
     if (sv && HvNAME(sv))
        PerlIO_printf(file, "\t\"%s\"\n", HvNAME(sv));
     else
@@ -714,7 +714,7 @@ Perl_do_hv_dump(pTHX_ I32 level, PerlIO *file, char *name, HV *sv)
 void
 Perl_do_gv_dump(pTHX_ I32 level, PerlIO *file, char *name, GV *sv)
 {
-    dump_indent(level, file, "%s = 0x%lx", name, (long)sv);
+    Perl_dump_indent(aTHX_ level, file, "%s = 0x%lx", name, (long)sv);
     if (sv && GvNAME(sv))
        PerlIO_printf(file, "\t\"%s\"\n", GvNAME(sv));
     else
@@ -724,7 +724,7 @@ Perl_do_gv_dump(pTHX_ I32 level, PerlIO *file, char *name, GV *sv)
 void
 Perl_do_gvgv_dump(pTHX_ I32 level, PerlIO *file, char *name, GV *sv)
 {
-    dump_indent(level, file, "%s = 0x%lx", name, (long)sv);
+    Perl_dump_indent(aTHX_ level, file, "%s = 0x%lx", name, (long)sv);
     if (sv && GvNAME(sv)) {
        PerlIO_printf(file, "\t\"");
        if (GvSTASH(sv) && HvNAME(GvSTASH(sv)))
@@ -746,14 +746,14 @@ Perl_do_sv_dump(pTHX_ I32 level, PerlIO *file, SV *sv, I32 nest, I32 maxnest, bo
     STRLEN n_a;
 
     if (!sv) {
-       dump_indent(level, file, "SV = 0\n");
+       Perl_dump_indent(aTHX_ level, file, "SV = 0\n");
        return;
     }
     
     flags = SvFLAGS(sv);
     type = SvTYPE(sv);
 
-    sv_setpvf(d, "(0x%lx) at 0x%lx\n%*s  REFCNT = %ld\n%*s  FLAGS = (",
+    Perl_sv_setpvf(aTHX_ d, "(0x%lx) at 0x%lx\n%*s  REFCNT = %ld\n%*s  FLAGS = (",
              (unsigned long)SvANY(sv), (unsigned long)sv,
              PL_dumpindent*level, "", (long)SvREFCNT(sv),
              PL_dumpindent*level, "");
@@ -831,7 +831,7 @@ Perl_do_sv_dump(pTHX_ I32 level, PerlIO *file, SV *sv, I32 nest, I32 maxnest, bo
     sv_catpv(d, ")");
     s = SvPVX(d);
 
-    dump_indent(level, file, "SV = ");
+    Perl_dump_indent(aTHX_ level, file, "SV = ");
     switch (type) {
     case SVt_NULL:
        PerlIO_printf(file, "NULL%s\n", s);
@@ -887,19 +887,19 @@ Perl_do_sv_dump(pTHX_ I32 level, PerlIO *file, SV *sv, I32 nest, I32 maxnest, bo
     }
     if (type >= SVt_PVIV || type == SVt_IV) {
        if (SvIsUV(sv))
-           dump_indent(level, file, "  UV = %lu", (unsigned long)SvUVX(sv));
+           Perl_dump_indent(aTHX_ level, file, "  UV = %lu", (unsigned long)SvUVX(sv));
        else
-           dump_indent(level, file, "  IV = %ld", (long)SvIVX(sv));
+           Perl_dump_indent(aTHX_ level, file, "  IV = %ld", (long)SvIVX(sv));
        if (SvOOK(sv))
            PerlIO_printf(file, "  (OFFSET)");
        PerlIO_putc(file, '\n');
     }
     if (type >= SVt_PVNV || type == SVt_NV) {
        SET_NUMERIC_STANDARD();
-       dump_indent(level, file, "  NV = %.*g\n", DBL_DIG, SvNVX(sv));
+       Perl_dump_indent(aTHX_ level, file, "  NV = %.*g\n", DBL_DIG, SvNVX(sv));
     }
     if (SvROK(sv)) {
-       dump_indent(level, file, "  RV = 0x%lx\n", (long)SvRV(sv));
+       Perl_dump_indent(aTHX_ level, file, "  RV = 0x%lx\n", (long)SvRV(sv));
        if (nest < maxnest)
            do_sv_dump(level+1, file, SvRV(sv), nest+1, maxnest, dumpops, pvlim);
        return;
@@ -908,15 +908,15 @@ Perl_do_sv_dump(pTHX_ I32 level, PerlIO *file, SV *sv, I32 nest, I32 maxnest, bo
        return;
     if (type <= SVt_PVLV) {
        if (SvPVX(sv)) {
-           dump_indent(level, file,"  PV = 0x%lx ", (long)SvPVX(sv));
+           Perl_dump_indent(aTHX_ level, file,"  PV = 0x%lx ", (long)SvPVX(sv));
            if (SvOOK(sv))
                PerlIO_printf(file, "( %s . ) ", pv_display(d, SvPVX(sv)-SvIVX(sv), SvIVX(sv), 0, pvlim));
            PerlIO_printf(file, "%s\n", pv_display(d, SvPVX(sv), SvCUR(sv), SvLEN(sv), pvlim));
-           dump_indent(level, file, "  CUR = %ld\n", (long)SvCUR(sv));
-           dump_indent(level, file, "  LEN = %ld\n", (long)SvLEN(sv));
+           Perl_dump_indent(aTHX_ level, file, "  CUR = %ld\n", (long)SvCUR(sv));
+           Perl_dump_indent(aTHX_ level, file, "  LEN = %ld\n", (long)SvLEN(sv));
        }
        else
-           dump_indent(level, file, "  PV = 0\n");
+           Perl_dump_indent(aTHX_ level, file, "  PV = 0\n");
     }
     if (type >= SVt_PVMG) {
        if (SvMAGIC(sv))
@@ -926,43 +926,43 @@ Perl_do_sv_dump(pTHX_ I32 level, PerlIO *file, SV *sv, I32 nest, I32 maxnest, bo
     }
     switch (type) {
     case SVt_PVLV:
-       dump_indent(level, file, "  TYPE = %c\n", LvTYPE(sv));
-       dump_indent(level, file, "  TARGOFF = %ld\n", (long)LvTARGOFF(sv));
-       dump_indent(level, file, "  TARGLEN = %ld\n", (long)LvTARGLEN(sv));
-       dump_indent(level, file, "  TARG = 0x%lx\n", (long)LvTARG(sv));
+       Perl_dump_indent(aTHX_ level, file, "  TYPE = %c\n", LvTYPE(sv));
+       Perl_dump_indent(aTHX_ level, file, "  TARGOFF = %ld\n", (long)LvTARGOFF(sv));
+       Perl_dump_indent(aTHX_ level, file, "  TARGLEN = %ld\n", (long)LvTARGLEN(sv));
+       Perl_dump_indent(aTHX_ level, file, "  TARG = 0x%lx\n", (long)LvTARG(sv));
        /* XXX level+1 ??? */
        do_sv_dump(level, file, LvTARG(sv), nest+1, maxnest, dumpops, pvlim);
        break;
     case SVt_PVAV:
-       dump_indent(level, file, "  ARRAY = 0x%lx", (long)AvARRAY(sv));
+       Perl_dump_indent(aTHX_ level, file, "  ARRAY = 0x%lx", (long)AvARRAY(sv));
        if (AvARRAY(sv) != AvALLOC(sv)) {
            PerlIO_printf(file, " (offset=%d)\n", (AvARRAY(sv) - AvALLOC(sv)));
-           dump_indent(level, file, "  ALLOC = 0x%lx\n", (long)AvALLOC(sv));
+           Perl_dump_indent(aTHX_ level, file, "  ALLOC = 0x%lx\n", (long)AvALLOC(sv));
        }
        else
            PerlIO_putc(file, '\n');
-       dump_indent(level, file, "  FILL = %ld\n", (long)AvFILLp(sv));
-       dump_indent(level, file, "  MAX = %ld\n", (long)AvMAX(sv));
-       dump_indent(level, file, "  ARYLEN = 0x%lx\n", (long)AvARYLEN(sv));
+       Perl_dump_indent(aTHX_ level, file, "  FILL = %ld\n", (long)AvFILLp(sv));
+       Perl_dump_indent(aTHX_ level, file, "  MAX = %ld\n", (long)AvMAX(sv));
+       Perl_dump_indent(aTHX_ level, file, "  ARYLEN = 0x%lx\n", (long)AvARYLEN(sv));
        flags = AvFLAGS(sv);
        sv_setpv(d, "");
        if (flags & AVf_REAL)   sv_catpv(d, ",REAL");
        if (flags & AVf_REIFY)  sv_catpv(d, ",REIFY");
        if (flags & AVf_REUSED) sv_catpv(d, ",REUSED");
-       dump_indent(level, file, "  FLAGS = (%s)\n", SvCUR(d) ? SvPVX(d) + 1 : "");
+       Perl_dump_indent(aTHX_ level, file, "  FLAGS = (%s)\n", SvCUR(d) ? SvPVX(d) + 1 : "");
        if (nest < maxnest && av_len((AV*)sv) >= 0) {
            int count;
            for (count = 0; count <=  av_len((AV*)sv) && count < maxnest; count++) {
                SV** elt = av_fetch((AV*)sv,count,0);
 
-               dump_indent(level + 1, file, "Elt No. %ld\n", (long)count);
+               Perl_dump_indent(aTHX_ level + 1, file, "Elt No. %ld\n", (long)count);
                if (elt) 
                    do_sv_dump(level+1, file, *elt, nest+1, maxnest, dumpops, pvlim);
            }
        }
        break;
     case SVt_PVHV:
-       dump_indent(level, file, "  ARRAY = 0x%lx",(long)HvARRAY(sv));
+       Perl_dump_indent(aTHX_ level, file, "  ARRAY = 0x%lx",(long)HvARRAY(sv));
        if (HvARRAY(sv) && HvKEYS(sv)) {
            /* Show distribution of HEs in the ARRAY */
            int freq[200];
@@ -1004,18 +1004,18 @@ Perl_do_sv_dump(pTHX_ I32 level, PerlIO *file, SV *sv, I32 nest, I32 maxnest, bo
            theoret = HvKEYS(sv);
            theoret += theoret * theoret/pow2;
            PerlIO_putc(file, '\n');
-           dump_indent(level, file, "  hash quality = %.1f%%", theoret/sum*100);
+           Perl_dump_indent(aTHX_ level, file, "  hash quality = %.1f%%", theoret/sum*100);
        }
        PerlIO_putc(file, '\n');
-       dump_indent(level, file, "  KEYS = %ld\n", (long)HvKEYS(sv));
-       dump_indent(level, file, "  FILL = %ld\n", (long)HvFILL(sv));
-       dump_indent(level, file, "  MAX = %ld\n", (long)HvMAX(sv));
-       dump_indent(level, file, "  RITER = %ld\n", (long)HvRITER(sv));
-       dump_indent(level, file, "  EITER = 0x%lx\n",(long) HvEITER(sv));
+       Perl_dump_indent(aTHX_ level, file, "  KEYS = %ld\n", (long)HvKEYS(sv));
+       Perl_dump_indent(aTHX_ level, file, "  FILL = %ld\n", (long)HvFILL(sv));
+       Perl_dump_indent(aTHX_ level, file, "  MAX = %ld\n", (long)HvMAX(sv));
+       Perl_dump_indent(aTHX_ level, file, "  RITER = %ld\n", (long)HvRITER(sv));
+       Perl_dump_indent(aTHX_ level, file, "  EITER = 0x%lx\n",(long) HvEITER(sv));
        if (HvPMROOT(sv))
-           dump_indent(level, file, "  PMROOT = 0x%lx\n",(long)HvPMROOT(sv));
+           Perl_dump_indent(aTHX_ level, file, "  PMROOT = 0x%lx\n",(long)HvPMROOT(sv));
        if (HvNAME(sv))
-           dump_indent(level, file, "  NAME = \"%s\"\n", HvNAME(sv));
+           Perl_dump_indent(aTHX_ level, file, "  NAME = \"%s\"\n", HvNAME(sv));
        if (nest < maxnest && !HvEITER(sv)) { /* Try to preserve iterator */
            HE *he;
            HV *hv = (HV*)sv;
@@ -1030,7 +1030,7 @@ Perl_do_sv_dump(pTHX_ I32 level, PerlIO *file, SV *sv, I32 nest, I32 maxnest, bo
 
                key = hv_iterkey(he, &len);
                elt = hv_iterval(hv, he);
-               dump_indent(level+1, file, "Elt %s HASH = 0x%lx\n", pv_display(d, key, len, 0, pvlim), hash);
+               Perl_dump_indent(aTHX_ level+1, file, "Elt %s HASH = 0x%lx\n", pv_display(d, key, len, 0, pvlim), hash);
                do_sv_dump(level+1, file, elt, nest+1, maxnest, dumpops, pvlim);
            }
            hv_iterinit(hv);            /* Return to status quo */
@@ -1038,28 +1038,28 @@ Perl_do_sv_dump(pTHX_ I32 level, PerlIO *file, SV *sv, I32 nest, I32 maxnest, bo
        break;
     case SVt_PVCV:
        if (SvPOK(sv))
-           dump_indent(level, file, "  PROTOTYPE = \"%s\"\n", SvPV(sv,n_a));
+           Perl_dump_indent(aTHX_ level, file, "  PROTOTYPE = \"%s\"\n", SvPV(sv,n_a));
        /* FALL THROUGH */
     case SVt_PVFM:
        do_hv_dump(level, file, "  COMP_STASH", CvSTASH(sv));
        if (CvSTART(sv))
-           dump_indent(level, file, "  START = 0x%lx ===> %d\n", (long)CvSTART(sv), CvSTART(sv)->op_seq);
-       dump_indent(level, file, "  ROOT = 0x%lx\n", (long)CvROOT(sv));
+           Perl_dump_indent(aTHX_ level, file, "  START = 0x%lx ===> %d\n", (long)CvSTART(sv), CvSTART(sv)->op_seq);
+       Perl_dump_indent(aTHX_ level, file, "  ROOT = 0x%lx\n", (long)CvROOT(sv));
         if (CvROOT(sv) && dumpops)
            do_op_dump(level+1, file, CvROOT(sv));
-       dump_indent (level, file, "  XSUB = 0x%lx\n", (long)CvXSUB(sv));
-       dump_indent (level, file, "  XSUBANY = %ld\n", (long)CvXSUBANY(sv).any_i32);
+       Perl_dump_indent(aTHX_ level, file, "  XSUB = 0x%lx\n", (long)CvXSUB(sv));
+       Perl_dump_indent(aTHX_ level, file, "  XSUBANY = %ld\n", (long)CvXSUBANY(sv).any_i32);
        do_gvgv_dump(level, file, "  GVGV::GV", CvGV(sv));
-       do_gv_dump  (level, file, "  FILEGV", CvFILEGV(sv));
-       dump_indent (level, file, "  DEPTH = %ld\n", (long)CvDEPTH(sv));
+       do_gv_dump(level, file, "  FILEGV", CvFILEGV(sv));
+       Perl_dump_indent(aTHX_ level, file, "  DEPTH = %ld\n", (long)CvDEPTH(sv));
 #ifdef USE_THREADS
-       dump_indent (level, file, "  MUTEXP = 0x%lx\n", (long)CvMUTEXP(sv));
-       dump_indent (level, file, "  OWNER = 0x%lx\n", (long)CvOWNER(sv));
+       Perl_dump_indent(aTHX_ level, file, "  MUTEXP = 0x%lx\n", (long)CvMUTEXP(sv));
+       Perl_dump_indent(aTHX_ level, file, "  OWNER = 0x%lx\n", (long)CvOWNER(sv));
 #endif /* USE_THREADS */
-       dump_indent (level, file, "  FLAGS = 0x%lx\n", (unsigned long)CvFLAGS(sv));
+       Perl_dump_indent(aTHX_ level, file, "  FLAGS = 0x%lx\n", (unsigned long)CvFLAGS(sv));
        if (type == SVt_PVFM)
-           dump_indent(level, file, "  LINES = %ld\n", (long)FmLINES(sv));
-       dump_indent(level, file, "  PADLIST = 0x%lx\n", (long)CvPADLIST(sv));
+           Perl_dump_indent(aTHX_ level, file, "  LINES = %ld\n", (long)FmLINES(sv));
+       Perl_dump_indent(aTHX_ level, file, "  PADLIST = 0x%lx\n", (long)CvPADLIST(sv));
        if (nest < maxnest && CvPADLIST(sv)) {
            AV* padlist = CvPADLIST(sv);
            AV* pad_name = (AV*)*av_fetch(padlist, 0, FALSE);
@@ -1070,7 +1070,7 @@ Perl_do_sv_dump(pTHX_ I32 level, PerlIO *file, SV *sv, I32 nest, I32 maxnest, bo
 
            for (ix = 1; ix <= AvFILL(pad_name); ix++) {
                if (SvPOK(pname[ix]))
-                   dump_indent(level, /* %5d below is enough whitespace. */
+                   Perl_dump_indent(aTHX_ level, /* %5d below is enough whitespace. */
                                file, 
                                "%5d. 0x%lx (%s\"%s\" %ld-%ld)\n",
                                ix, ppad[ix],
@@ -1082,7 +1082,7 @@ Perl_do_sv_dump(pTHX_ I32 level, PerlIO *file, SV *sv, I32 nest, I32 maxnest, bo
        }
        {
            CV *outside = CvOUTSIDE(sv);
-           dump_indent(level, file, "  OUTSIDE = 0x%lx (%s)\n", 
+           Perl_dump_indent(aTHX_ level, file, "  OUTSIDE = 0x%lx (%s)\n", 
                        (long)outside, 
                        (!outside ? "null"
                         : CvANON(outside) ? "ANON"
@@ -1094,47 +1094,47 @@ Perl_do_sv_dump(pTHX_ I32 level, PerlIO *file, SV *sv, I32 nest, I32 maxnest, bo
            do_sv_dump(level+1, file, (SV*)CvOUTSIDE(sv), nest+1, maxnest, dumpops, pvlim);
        break;
     case SVt_PVGV:
-       dump_indent(level, file, "  NAME = \"%s\"\n", GvNAME(sv));
-       dump_indent(level, file, "  NAMELEN = %ld\n", (long)GvNAMELEN(sv));
+       Perl_dump_indent(aTHX_ level, file, "  NAME = \"%s\"\n", GvNAME(sv));
+       Perl_dump_indent(aTHX_ level, file, "  NAMELEN = %ld\n", (long)GvNAMELEN(sv));
        do_hv_dump (level, file, "  GvSTASH", GvSTASH(sv));
-       dump_indent(level, file, "  GP = 0x%lx\n", (long)GvGP(sv));
-       dump_indent(level, file, "    SV = 0x%lx\n", (long)GvSV(sv));
-       dump_indent(level, file, "    REFCNT = %ld\n", (long)GvREFCNT(sv));
-       dump_indent(level, file, "    IO = 0x%lx\n", (long)GvIOp(sv));
-       dump_indent(level, file, "    FORM = 0x%lx\n", (long)GvFORM(sv));
-       dump_indent(level, file, "    AV = 0x%lx\n", (long)GvAV(sv));
-       dump_indent(level, file, "    HV = 0x%lx\n", (long)GvHV(sv));
-       dump_indent(level, file, "    CV = 0x%lx\n", (long)GvCV(sv));
-       dump_indent(level, file, "    CVGEN = 0x%lx\n", (long)GvCVGEN(sv));
-       dump_indent(level, file, "    LASTEXPR = %ld\n", (long)GvLASTEXPR(sv));
-       dump_indent(level, file, "    LINE = %ld\n", (long)GvLINE(sv));
-       dump_indent(level, file, "    FLAGS = 0x%x\n", (int)GvFLAGS(sv));
+       Perl_dump_indent(aTHX_ level, file, "  GP = 0x%lx\n", (long)GvGP(sv));
+       Perl_dump_indent(aTHX_ level, file, "    SV = 0x%lx\n", (long)GvSV(sv));
+       Perl_dump_indent(aTHX_ level, file, "    REFCNT = %ld\n", (long)GvREFCNT(sv));
+       Perl_dump_indent(aTHX_ level, file, "    IO = 0x%lx\n", (long)GvIOp(sv));
+       Perl_dump_indent(aTHX_ level, file, "    FORM = 0x%lx\n", (long)GvFORM(sv));
+       Perl_dump_indent(aTHX_ level, file, "    AV = 0x%lx\n", (long)GvAV(sv));
+       Perl_dump_indent(aTHX_ level, file, "    HV = 0x%lx\n", (long)GvHV(sv));
+       Perl_dump_indent(aTHX_ level, file, "    CV = 0x%lx\n", (long)GvCV(sv));
+       Perl_dump_indent(aTHX_ level, file, "    CVGEN = 0x%lx\n", (long)GvCVGEN(sv));
+       Perl_dump_indent(aTHX_ level, file, "    LASTEXPR = %ld\n", (long)GvLASTEXPR(sv));
+       Perl_dump_indent(aTHX_ level, file, "    LINE = %ld\n", (long)GvLINE(sv));
+       Perl_dump_indent(aTHX_ level, file, "    FLAGS = 0x%x\n", (int)GvFLAGS(sv));
        do_gv_dump (level, file, "    FILEGV", GvFILEGV(sv));
        do_gv_dump (level, file, "    EGV", GvEGV(sv));
        break;
     case SVt_PVIO:
-       dump_indent(level, file, "  IFP = 0x%lx\n", (long)IoIFP(sv));
-       dump_indent(level, file, "  OFP = 0x%lx\n", (long)IoOFP(sv));
-       dump_indent(level, file, "  DIRP = 0x%lx\n", (long)IoDIRP(sv));
-       dump_indent(level, file, "  LINES = %ld\n", (long)IoLINES(sv));
-       dump_indent(level, file, "  PAGE = %ld\n", (long)IoPAGE(sv));
-       dump_indent(level, file, "  PAGE_LEN = %ld\n", (long)IoPAGE_LEN(sv));
-       dump_indent(level, file, "  LINES_LEFT = %ld\n", (long)IoLINES_LEFT(sv));
+       Perl_dump_indent(aTHX_ level, file, "  IFP = 0x%lx\n", (long)IoIFP(sv));
+       Perl_dump_indent(aTHX_ level, file, "  OFP = 0x%lx\n", (long)IoOFP(sv));
+       Perl_dump_indent(aTHX_ level, file, "  DIRP = 0x%lx\n", (long)IoDIRP(sv));
+       Perl_dump_indent(aTHX_ level, file, "  LINES = %ld\n", (long)IoLINES(sv));
+       Perl_dump_indent(aTHX_ level, file, "  PAGE = %ld\n", (long)IoPAGE(sv));
+       Perl_dump_indent(aTHX_ level, file, "  PAGE_LEN = %ld\n", (long)IoPAGE_LEN(sv));
+       Perl_dump_indent(aTHX_ level, file, "  LINES_LEFT = %ld\n", (long)IoLINES_LEFT(sv));
         if (IoTOP_NAME(sv))
-            dump_indent(level, file, "  TOP_NAME = \"%s\"\n", IoTOP_NAME(sv));
+            Perl_dump_indent(aTHX_ level, file, "  TOP_NAME = \"%s\"\n", IoTOP_NAME(sv));
        do_gv_dump (level, file, "  TOP_GV", IoTOP_GV(sv));
         if (IoFMT_NAME(sv))
-            dump_indent(level, file, "  FMT_NAME = \"%s\"\n", IoFMT_NAME(sv));
+            Perl_dump_indent(aTHX_ level, file, "  FMT_NAME = \"%s\"\n", IoFMT_NAME(sv));
        do_gv_dump (level, file, "  FMT_GV", IoFMT_GV(sv));
         if (IoBOTTOM_NAME(sv))
-            dump_indent(level, file, "  BOTTOM_NAME = \"%s\"\n", IoBOTTOM_NAME(sv));
+            Perl_dump_indent(aTHX_ level, file, "  BOTTOM_NAME = \"%s\"\n", IoBOTTOM_NAME(sv));
        do_gv_dump (level, file, "  BOTTOM_GV", IoBOTTOM_GV(sv));
-       dump_indent(level, file, "  SUBPROCESS = %ld\n", (long)IoSUBPROCESS(sv));
+       Perl_dump_indent(aTHX_ level, file, "  SUBPROCESS = %ld\n", (long)IoSUBPROCESS(sv));
        if (isPRINT(IoTYPE(sv)))
-            dump_indent(level, file, "  TYPE = '%c'\n", IoTYPE(sv));
+            Perl_dump_indent(aTHX_ level, file, "  TYPE = '%c'\n", IoTYPE(sv));
        else
-            dump_indent(level, file, "  TYPE = '\\%o'\n", IoTYPE(sv));
-       dump_indent(level, file, "  FLAGS = 0x%lx\n", (long)IoFLAGS(sv));
+            Perl_dump_indent(aTHX_ level, file, "  TYPE = '\\%o'\n", IoTYPE(sv));
+       Perl_dump_indent(aTHX_ level, file, "  FLAGS = 0x%lx\n", (long)IoFLAGS(sv));
        break;
     }
 }
index 14e3955..d743510 100644 (file)
--- a/ebcdic.c
+++ b/ebcdic.c
@@ -15,7 +15,7 @@ ebcdic_control(int ch)
                      ch = toupper(ch);
  
               if ((ctlp = strchr(controllablechars, ch)) == 0) {
-                     die("unrecognised control character '%c'\n", ch);
+                     Perl_die(aTHX_ "unrecognised control character '%c'\n", ch);
               }
  
                if (ctlp == controllablechars)
@@ -28,6 +28,6 @@ ebcdic_control(int ch)
                else if (0 < ch && ch < (sizeof(controllablechars) - 1))
                        return(controllablechars[ch+1]);
                else
-                       die("invalid control request: '\\%03o'\n", ch & 0xFF);
+                       Perl_die(aTHX_ "invalid control request: '\\%03o'\n", ch & 0xFF);
        }
 }
diff --git a/embed.h b/embed.h
index f7cf5bc..2db477c 100644 (file)
--- a/embed.h
+++ b/embed.h
@@ -1,5 +1,5 @@
 /* !!!!!!!   DO NOT EDIT THIS FILE   !!!!!!! 
-   This file is built by embed.pl from global.sym, pp.sym, intrpvar.h,
+   This file is built by embed.pl from data in embed.pl, pp.sym, intrpvar.h,
    perlvars.h and thrdvar.h.  Any changes made here will be lost!
 */
 
 /* Hide global symbols */
 
 #if !defined(PERL_OBJECT)
+#if !defined(PERL_IMPLICIT_CONTEXT)
 
-#define ErrorNo                        Perl_ErrorNo
-#define GetVars                        Perl_GetVars
-#define Gv_AMupdate            Perl_Gv_AMupdate
 #define amagic_call            Perl_amagic_call
+#define Gv_AMupdate            Perl_Gv_AMupdate
 #define append_elem            Perl_append_elem
 #define append_list            Perl_append_list
 #define apply                  Perl_apply
 #define assertref              Perl_assertref
+#define avhv_exists_ent                Perl_avhv_exists_ent
+#define avhv_fetch_ent         Perl_avhv_fetch_ent
+#define avhv_iternext          Perl_avhv_iternext
+#define avhv_iterval           Perl_avhv_iterval
+#define avhv_keys              Perl_avhv_keys
 #define av_clear               Perl_av_clear
 #define av_extend              Perl_av_extend
 #define av_fake                        Perl_av_fake
 #define av_store               Perl_av_store
 #define av_undef               Perl_av_undef
 #define av_unshift             Perl_av_unshift
-#define avhv_exists_ent                Perl_avhv_exists_ent
-#define avhv_fetch_ent         Perl_avhv_fetch_ent
-#define avhv_iternext          Perl_avhv_iternext
-#define avhv_iterval           Perl_avhv_iterval
-#define avhv_keys              Perl_avhv_keys
 #define bind_match             Perl_bind_match
 #define block_end              Perl_block_end
 #define block_gimme            Perl_block_gimme
 #define block_start            Perl_block_start
 #define boot_core_UNIVERSAL    Perl_boot_core_UNIVERSAL
-#define bset_obj_store         Perl_bset_obj_store
-#define call_argv              Perl_call_argv
-#define call_atexit            Perl_call_atexit
 #define call_list              Perl_call_list
-#define call_method            Perl_call_method
-#define call_pv                        Perl_call_pv
-#define call_sv                        Perl_call_sv
 #define cando                  Perl_cando
+#define cast_ulong             Perl_cast_ulong
 #define cast_i32               Perl_cast_i32
 #define cast_iv                        Perl_cast_iv
-#define cast_ulong             Perl_cast_ulong
 #define cast_uv                        Perl_cast_uv
-#define ck_anoncode            Perl_ck_anoncode
-#define ck_bitop               Perl_ck_bitop
-#define ck_concat              Perl_ck_concat
-#define ck_defined             Perl_ck_defined
-#define ck_delete              Perl_ck_delete
-#define ck_eof                 Perl_ck_eof
-#define ck_eval                        Perl_ck_eval
-#define ck_exec                        Perl_ck_exec
-#define ck_exists              Perl_ck_exists
-#define ck_ftst                        Perl_ck_ftst
-#define ck_fun                 Perl_ck_fun
-#define ck_fun_locale          Perl_ck_fun_locale
-#define ck_glob                        Perl_ck_glob
-#define ck_grep                        Perl_ck_grep
-#define ck_index               Perl_ck_index
-#define ck_lengthconst         Perl_ck_lengthconst
-#define ck_lfun                        Perl_ck_lfun
-#define ck_listiob             Perl_ck_listiob
-#define ck_match               Perl_ck_match
-#define ck_null                        Perl_ck_null
-#define ck_repeat              Perl_ck_repeat
-#define ck_require             Perl_ck_require
-#define ck_rfun                        Perl_ck_rfun
-#define ck_rvconst             Perl_ck_rvconst
-#define ck_scmp                        Perl_ck_scmp
-#define ck_select              Perl_ck_select
-#define ck_shift               Perl_ck_shift
-#define ck_sort                        Perl_ck_sort
-#define ck_spair               Perl_ck_spair
-#define ck_split               Perl_ck_split
-#define ck_subr                        Perl_ck_subr
-#define ck_svconst             Perl_ck_svconst
-#define ck_trunc               Perl_ck_trunc
+#if !defined(HAS_TRUNCATE) && !defined(HAS_CHSIZE) && defined(F_FREESP)
+#define my_chsize              Perl_my_chsize
+#endif
+#if defined(USE_THREADS)
 #define condpair_magic         Perl_condpair_magic
+#endif
 #define convert                        Perl_convert
 #define croak                  Perl_croak
+#if defined(PERL_IMPLICIT_CONTEXT)
+#define croak_nocontext                Perl_croak_nocontext
+#define die_nocontext          Perl_die_nocontext
+#define form_nocontext         Perl_form_nocontext
+#define warn_nocontext         Perl_warn_nocontext
+#define newSVpvf_nocontext     Perl_newSVpvf_nocontext
+#define sv_catpvf_nocontext    Perl_sv_catpvf_nocontext
+#define sv_setpvf_nocontext    Perl_sv_setpvf_nocontext
+#define sv_catpvf_mg_nocontext Perl_sv_catpvf_mg_nocontext
+#define sv_setpvf_mg_nocontext Perl_sv_setpvf_mg_nocontext
+#endif
 #define cv_ckproto             Perl_cv_ckproto
 #define cv_clone               Perl_cv_clone
 #define cv_const_sv            Perl_cv_const_sv
+#define op_const_sv            Perl_op_const_sv
 #define cv_undef               Perl_cv_undef
 #define cx_dump                        Perl_cx_dump
+#define filter_add             Perl_filter_add
+#define filter_del             Perl_filter_del
+#define filter_read            Perl_filter_read
+#define get_op_descs           Perl_get_op_descs
+#define get_op_names           Perl_get_op_names
+#define get_no_modify          Perl_get_no_modify
+#define get_opargs             Perl_get_opargs
 #define cxinc                  Perl_cxinc
 #define deb                    Perl_deb
 #define deb_growlevel          Perl_deb_growlevel
-#define debop                  Perl_debop
 #define debprofdump            Perl_debprofdump
+#define debop                  Perl_debop
 #define debstack               Perl_debstack
 #define debstackptrs           Perl_debstackptrs
-#define default_protect                Perl_default_protect
 #define delimcpy               Perl_delimcpy
 #define deprecate              Perl_deprecate
 #define die                    Perl_die
 #define die_where              Perl_die_where
+#define dounwind               Perl_dounwind
 #define do_aexec               Perl_do_aexec
 #define do_binmode             Perl_do_binmode
-#define do_chomp               Perl_do_chomp
 #define do_chop                        Perl_do_chop
 #define do_close               Perl_do_close
 #define do_eof                 Perl_do_eof
 #define do_exec                        Perl_do_exec
+#if !defined(WIN32)
 #define do_exec3               Perl_do_exec3
+#endif
 #define do_execfree            Perl_do_execfree
-#define do_gv_dump             Perl_do_gv_dump
-#define do_gvgv_dump           Perl_do_gvgv_dump
-#define do_hv_dump             Perl_do_hv_dump
+#if defined(HAS_MSG) || defined(HAS_SEM) || defined(HAS_SHM)
 #define do_ipcctl              Perl_do_ipcctl
 #define do_ipcget              Perl_do_ipcget
-#define do_join                        Perl_do_join
-#define do_kv                  Perl_do_kv
-#define do_magic_dump          Perl_do_magic_dump
 #define do_msgrcv              Perl_do_msgrcv
 #define do_msgsnd              Perl_do_msgsnd
-#define do_op_dump             Perl_do_op_dump
+#define do_semop               Perl_do_semop
+#define do_shmio               Perl_do_shmio
+#endif
+#define do_join                        Perl_do_join
+#define do_kv                  Perl_do_kv
 #define do_open                        Perl_do_open
 #define do_pipe                        Perl_do_pipe
-#define do_pmop_dump           Perl_do_pmop_dump
 #define do_print               Perl_do_print
 #define do_readline            Perl_do_readline
+#define do_chomp               Perl_do_chomp
 #define do_seek                        Perl_do_seek
-#define do_semop               Perl_do_semop
-#define do_shmio               Perl_do_shmio
 #define do_sprintf             Perl_do_sprintf
-#define do_sv_dump             Perl_do_sv_dump
 #define do_sysseek             Perl_do_sysseek
 #define do_tell                        Perl_do_tell
 #define do_trans               Perl_do_trans
 #define do_vecset              Perl_do_vecset
 #define do_vop                 Perl_do_vop
 #define dofile                 Perl_dofile
-#define dounwind               Perl_dounwind
 #define dowantarray            Perl_dowantarray
 #define dump_all               Perl_dump_all
 #define dump_eval              Perl_dump_eval
+#if defined(DUMP_FDS)
 #define dump_fds               Perl_dump_fds
+#endif
 #define dump_form              Perl_dump_form
-#define dump_indent            Perl_dump_indent
-#define dump_mstats            Perl_dump_mstats
+#define gv_dump                        Perl_gv_dump
+#define op_dump                        Perl_op_dump
+#define pmop_dump              Perl_pmop_dump
 #define dump_packsubs          Perl_dump_packsubs
 #define dump_sub               Perl_dump_sub
-#define eval_pv                        Perl_eval_pv
-#define eval_sv                        Perl_eval_sv
 #define fbm_compile            Perl_fbm_compile
 #define fbm_instr              Perl_fbm_instr
-#define filter_add             Perl_filter_add
-#define filter_del             Perl_filter_del
-#define filter_read            Perl_filter_read
 #define find_script            Perl_find_script
+#if defined(USE_THREADS)
 #define find_threadsv          Perl_find_threadsv
-#define fold_constants         Perl_fold_constants
+#endif
 #define force_list             Perl_force_list
+#define fold_constants         Perl_fold_constants
 #define form                   Perl_form
 #define free_tmps              Perl_free_tmps
 #define gen_constant_list      Perl_gen_constant_list
-#define get_av                 Perl_get_av
-#define get_cv                 Perl_get_cv
-#define get_hv                 Perl_get_hv
-#define get_no_modify          Perl_get_no_modify
-#define get_op_descs           Perl_get_op_descs
-#define get_op_names           Perl_get_op_names
-#define get_opargs             Perl_get_opargs
-#define get_sv                 Perl_get_sv
-#define get_vtbl               Perl_get_vtbl
+#if !defined(HAS_GETENV_LEN)
 #define getenv_len             Perl_getenv_len
+#endif
 #define gp_free                        Perl_gp_free
 #define gp_ref                 Perl_gp_ref
 #define gv_AVadd               Perl_gv_AVadd
 #define gv_IOadd               Perl_gv_IOadd
 #define gv_autoload4           Perl_gv_autoload4
 #define gv_check               Perl_gv_check
-#define gv_dump                        Perl_gv_dump
 #define gv_efullname           Perl_gv_efullname
 #define gv_efullname3          Perl_gv_efullname3
 #define gv_fetchfile           Perl_gv_fetchfile
 #define ibcmp                  Perl_ibcmp
 #define ibcmp_locale           Perl_ibcmp_locale
 #define ingroup                        Perl_ingroup
-#define init_i18nl10n          Perl_init_i18nl10n
-#define init_i18nl14n          Perl_init_i18nl14n
 #define init_stacks            Perl_init_stacks
-#define instr                  Perl_instr
 #define intro_my               Perl_intro_my
-#define invert                 Perl_invert
+#define instr                  Perl_instr
 #define io_close               Perl_io_close
+#define invert                 Perl_invert
 #define is_uni_alnum           Perl_is_uni_alnum
-#define is_uni_alnum_lc                Perl_is_uni_alnum_lc
+#define is_uni_idfirst         Perl_is_uni_idfirst
 #define is_uni_alpha           Perl_is_uni_alpha
-#define is_uni_alpha_lc                Perl_is_uni_alpha_lc
+#define is_uni_space           Perl_is_uni_space
 #define is_uni_digit           Perl_is_uni_digit
-#define is_uni_digit_lc                Perl_is_uni_digit_lc
-#define is_uni_idfirst         Perl_is_uni_idfirst
-#define is_uni_idfirst_lc      Perl_is_uni_idfirst_lc
+#define is_uni_upper           Perl_is_uni_upper
 #define is_uni_lower           Perl_is_uni_lower
-#define is_uni_lower_lc                Perl_is_uni_lower_lc
 #define is_uni_print           Perl_is_uni_print
-#define is_uni_print_lc                Perl_is_uni_print_lc
-#define is_uni_space           Perl_is_uni_space
+#define to_uni_upper           Perl_to_uni_upper
+#define to_uni_title           Perl_to_uni_title
+#define to_uni_lower           Perl_to_uni_lower
+#define is_uni_alnum_lc                Perl_is_uni_alnum_lc
+#define is_uni_idfirst_lc      Perl_is_uni_idfirst_lc
+#define is_uni_alpha_lc                Perl_is_uni_alpha_lc
 #define is_uni_space_lc                Perl_is_uni_space_lc
-#define is_uni_upper           Perl_is_uni_upper
+#define is_uni_digit_lc                Perl_is_uni_digit_lc
 #define is_uni_upper_lc                Perl_is_uni_upper_lc
+#define is_uni_lower_lc                Perl_is_uni_lower_lc
+#define is_uni_print_lc                Perl_is_uni_print_lc
+#define to_uni_upper_lc                Perl_to_uni_upper_lc
+#define to_uni_title_lc                Perl_to_uni_title_lc
+#define to_uni_lower_lc                Perl_to_uni_lower_lc
 #define is_utf8_alnum          Perl_is_utf8_alnum
+#define is_utf8_idfirst                Perl_is_utf8_idfirst
 #define is_utf8_alpha          Perl_is_utf8_alpha
+#define is_utf8_space          Perl_is_utf8_space
 #define is_utf8_digit          Perl_is_utf8_digit
-#define is_utf8_idfirst                Perl_is_utf8_idfirst
+#define is_utf8_upper          Perl_is_utf8_upper
 #define is_utf8_lower          Perl_is_utf8_lower
-#define is_utf8_mark           Perl_is_utf8_mark
 #define is_utf8_print          Perl_is_utf8_print
-#define is_utf8_space          Perl_is_utf8_space
-#define is_utf8_upper          Perl_is_utf8_upper
+#define is_utf8_mark           Perl_is_utf8_mark
 #define jmaybe                 Perl_jmaybe
 #define keyword                        Perl_keyword
 #define leave_scope            Perl_leave_scope
 #define listkids               Perl_listkids
 #define localize               Perl_localize
 #define looks_like_number      Perl_looks_like_number
-#define magic_clear_all_env    Perl_magic_clear_all_env
 #define magic_clearenv         Perl_magic_clearenv
+#define magic_clear_all_env    Perl_magic_clear_all_env
 #define magic_clearpack                Perl_magic_clearpack
 #define magic_clearsig         Perl_magic_clearsig
-#define magic_dump             Perl_magic_dump
 #define magic_existspack       Perl_magic_existspack
 #define magic_freeregexp       Perl_magic_freeregexp
 #define magic_get              Perl_magic_get
 #define magic_gettaint         Perl_magic_gettaint
 #define magic_getuvar          Perl_magic_getuvar
 #define magic_getvec           Perl_magic_getvec
-#define magic_killbackrefs     Perl_magic_killbackrefs
 #define magic_len              Perl_magic_len
+#if defined(USE_THREADS)
 #define magic_mutexfree                Perl_magic_mutexfree
+#endif
 #define magic_nextpack         Perl_magic_nextpack
 #define magic_regdata_cnt      Perl_magic_regdata_cnt
 #define magic_regdatum_get     Perl_magic_regdatum_get
 #define magic_set              Perl_magic_set
-#define magic_set_all_env      Perl_magic_set_all_env
 #define magic_setamagic                Perl_magic_setamagic
 #define magic_setarylen                Perl_magic_setarylen
 #define magic_setbm            Perl_magic_setbm
-#define magic_setcollxfrm      Perl_magic_setcollxfrm
 #define magic_setdbline                Perl_magic_setdbline
+#if defined(USE_LOCALE_COLLATE)
+#define magic_setcollxfrm      Perl_magic_setcollxfrm
+#endif
 #define magic_setdefelem       Perl_magic_setdefelem
 #define magic_setenv           Perl_magic_setenv
 #define magic_setfm            Perl_magic_setfm
-#define magic_setglob          Perl_magic_setglob
 #define magic_setisa           Perl_magic_setisa
+#define magic_setglob          Perl_magic_setglob
 #define magic_setmglob         Perl_magic_setmglob
 #define magic_setnkeys         Perl_magic_setnkeys
 #define magic_setpack          Perl_magic_setpack
 #define magic_settaint         Perl_magic_settaint
 #define magic_setuvar          Perl_magic_setuvar
 #define magic_setvec           Perl_magic_setvec
+#define magic_set_all_env      Perl_magic_set_all_env
 #define magic_sizepack         Perl_magic_sizepack
 #define magic_wipepack         Perl_magic_wipepack
 #define magicname              Perl_magicname
+#if defined(MYMALLOC)
 #define malloced_size          Perl_malloced_size
+#endif
 #define markstack_grow         Perl_markstack_grow
+#if defined(USE_LOCALE_COLLATE)
 #define mem_collxfrm           Perl_mem_collxfrm
+#endif
 #define mess                   Perl_mess
 #define mg_clear               Perl_mg_clear
 #define mg_copy                        Perl_mg_copy
 #define mod                    Perl_mod
 #define moreswitches           Perl_moreswitches
 #define my                     Perl_my
+#if !defined(HAS_BCOPY) || !defined(HAS_SAFE_BCOPY)
 #define my_bcopy               Perl_my_bcopy
+#endif
+#if !defined(HAS_BZERO) && !defined(HAS_MEMSET)
 #define my_bzero               Perl_my_bzero
-#define my_chsize              Perl_my_chsize
+#endif
 #define my_exit                        Perl_my_exit
 #define my_failure_exit                Perl_my_failure_exit
 #define my_fflush_all          Perl_my_fflush_all
-#define my_htonl               Perl_my_htonl
 #define my_lstat               Perl_my_lstat
+#if !defined(HAS_MEMCMP) || !defined(HAS_SANE_MEMCMP)
 #define my_memcmp              Perl_my_memcmp
+#endif
+#if !defined(HAS_MEMSET)
 #define my_memset              Perl_my_memset
-#define my_ntohl               Perl_my_ntohl
+#endif
+#if !defined(PERL_OBJECT)
 #define my_pclose              Perl_my_pclose
 #define my_popen               Perl_my_popen
+#endif
 #define my_setenv              Perl_my_setenv
 #define my_stat                        Perl_my_stat
+#if defined(MYSWAP)
 #define my_swap                        Perl_my_swap
+#define my_htonl               Perl_my_htonl
+#define my_ntohl               Perl_my_ntohl
+#endif
 #define my_unexec              Perl_my_unexec
-#define newANONHASH            Perl_newANONHASH
 #define newANONLIST            Perl_newANONLIST
+#define newANONHASH            Perl_newANONHASH
 #define newANONSUB             Perl_newANONSUB
 #define newASSIGNOP            Perl_newASSIGNOP
-#define newAV                  Perl_newAV
-#define newAVREF               Perl_newAVREF
-#define newBINOP               Perl_newBINOP
 #define newCONDOP              Perl_newCONDOP
 #define newCONSTSUB            Perl_newCONSTSUB
-#define newCVREF               Perl_newCVREF
 #define newFORM                        Perl_newFORM
 #define newFOROP               Perl_newFOROP
-#define newGVOP                        Perl_newGVOP
-#define newGVREF               Perl_newGVREF
-#define newGVgen               Perl_newGVgen
-#define newHV                  Perl_newHV
-#define newHVREF               Perl_newHVREF
-#define newHVhv                        Perl_newHVhv
-#define newIO                  Perl_newIO
-#define newLISTOP              Perl_newLISTOP
 #define newLOGOP               Perl_newLOGOP
 #define newLOOPEX              Perl_newLOOPEX
 #define newLOOPOP              Perl_newLOOPOP
 #define newNULLLIST            Perl_newNULLLIST
 #define newOP                  Perl_newOP
-#define newPMOP                        Perl_newPMOP
 #define newPROG                        Perl_newPROG
-#define newPVOP                        Perl_newPVOP
 #define newRANGE               Perl_newRANGE
-#define newRV                  Perl_newRV
-#define newRV_noinc            Perl_newRV_noinc
 #define newSLICEOP             Perl_newSLICEOP
 #define newSTATEOP             Perl_newSTATEOP
 #define newSUB                 Perl_newSUB
+#define newXS                  Perl_newXS
+#define newAV                  Perl_newAV
+#define newAVREF               Perl_newAVREF
+#define newBINOP               Perl_newBINOP
+#define newCVREF               Perl_newCVREF
+#define newGVOP                        Perl_newGVOP
+#define newGVgen               Perl_newGVgen
+#define newGVREF               Perl_newGVREF
+#define newHVREF               Perl_newHVREF
+#define newHV                  Perl_newHV
+#define newHVhv                        Perl_newHVhv
+#define newIO                  Perl_newIO
+#define newLISTOP              Perl_newLISTOP
+#define newPMOP                        Perl_newPMOP
+#define newPVOP                        Perl_newPVOP
+#define newRV                  Perl_newRV
+#define newRV_noinc            Perl_newRV_noinc
 #define newSV                  Perl_newSV
-#define newSVOP                        Perl_newSVOP
 #define newSVREF               Perl_newSVREF
+#define newSVOP                        Perl_newSVOP
 #define newSViv                        Perl_newSViv
 #define newSVnv                        Perl_newSVnv
 #define newSVpv                        Perl_newSVpv
-#define newSVpvf               Perl_newSVpvf
 #define newSVpvn               Perl_newSVpvn
+#define newSVpvf               Perl_newSVpvf
 #define newSVrv                        Perl_newSVrv
 #define newSVsv                        Perl_newSVsv
 #define newUNOP                        Perl_newUNOP
 #define newWHILEOP             Perl_newWHILEOP
-#define newXS                  Perl_newXS
-#define new_collate            Perl_new_collate
-#define new_ctype              Perl_new_ctype
-#define new_numeric            Perl_new_numeric
-#define new_stackinfo          Perl_new_stackinfo
+#if defined(USE_THREADS)
 #define new_struct_thread      Perl_new_struct_thread
+#endif
+#define new_stackinfo          Perl_new_stackinfo
 #define nextargv               Perl_nextargv
 #define ninstr                 Perl_ninstr
-#define oopsAV                 Perl_oopsAV
 #define oopsCV                 Perl_oopsCV
-#define oopsHV                 Perl_oopsHV
-#define op_const_sv            Perl_op_const_sv
-#define op_dump                        Perl_op_dump
 #define op_free                        Perl_op_free
 #define package                        Perl_package
 #define pad_alloc              Perl_pad_alloc
 #define pad_allocmy            Perl_pad_allocmy
 #define pad_findmy             Perl_pad_findmy
-#define pad_free               Perl_pad_free
+#define oopsAV                 Perl_oopsAV
+#define oopsHV                 Perl_oopsHV
 #define pad_leavemy            Perl_pad_leavemy
-#define pad_reset              Perl_pad_reset
 #define pad_sv                 Perl_pad_sv
+#define pad_free               Perl_pad_free
+#define pad_reset              Perl_pad_reset
 #define pad_swipe              Perl_pad_swipe
 #define peep                   Perl_peep
+#define call_atexit            Perl_call_atexit
+#define call_argv              Perl_call_argv
+#define call_method            Perl_call_method
+#define call_pv                        Perl_call_pv
+#define call_sv                        Perl_call_sv
+#define eval_pv                        Perl_eval_pv
+#define eval_sv                        Perl_eval_sv
+#define get_sv                 Perl_get_sv
+#define get_av                 Perl_get_av
+#define get_hv                 Perl_get_hv
+#define get_cv                 Perl_get_cv
+#define init_i18nl10n          Perl_init_i18nl10n
+#define init_i18nl14n          Perl_init_i18nl14n
+#define new_collate            Perl_new_collate
+#define new_ctype              Perl_new_ctype
+#define new_numeric            Perl_new_numeric
+#define set_numeric_local      Perl_set_numeric_local
+#define set_numeric_standard   Perl_set_numeric_standard
+#define require_pv             Perl_require_pv
 #define pidgone                        Perl_pidgone
 #define pmflag                 Perl_pmflag
-#define pmop_dump              Perl_pmop_dump
 #define pmruntime              Perl_pmruntime
 #define pmtrans                        Perl_pmtrans
 #define pop_return             Perl_pop_return
 #define pop_scope              Perl_pop_scope
+#define prepend_elem           Perl_prepend_elem
+#define push_return            Perl_push_return
+#define push_scope             Perl_push_scope
+#define ref                    Perl_ref
+#define refkids                        Perl_refkids
+#define regdump                        Perl_regdump
+#define pregexec               Perl_pregexec
+#define pregfree               Perl_pregfree
+#define pregcomp               Perl_pregcomp
+#define regexec_flags          Perl_regexec_flags
+#define regnext                        Perl_regnext
+#define regprop                        Perl_regprop
+#define repeatcpy              Perl_repeatcpy
+#define rninstr                        Perl_rninstr
+#define rsignal                        Perl_rsignal
+#define rsignal_restore                Perl_rsignal_restore
+#define rsignal_save           Perl_rsignal_save
+#define rsignal_state          Perl_rsignal_state
+#define rxres_free             Perl_rxres_free
+#define rxres_restore          Perl_rxres_restore
+#define rxres_save             Perl_rxres_save
+#if !defined(HAS_RENAME)
+#define same_dirent            Perl_same_dirent
+#endif
+#define savepv                 Perl_savepv
+#define savepvn                        Perl_savepvn
+#define savestack_grow         Perl_savestack_grow
+#define save_aelem             Perl_save_aelem
+#define save_alloc             Perl_save_alloc
+#define save_aptr              Perl_save_aptr
+#define save_ary               Perl_save_ary
+#define save_clearsv           Perl_save_clearsv
+#define save_delete            Perl_save_delete
+#define save_destructor                Perl_save_destructor
+#define save_freesv            Perl_save_freesv
+#define save_freeop            Perl_save_freeop
+#define save_freepv            Perl_save_freepv
+#define save_generic_svref     Perl_save_generic_svref
+#define save_gp                        Perl_save_gp
+#define save_hash              Perl_save_hash
+#define save_helem             Perl_save_helem
+#define save_hints             Perl_save_hints
+#define save_hptr              Perl_save_hptr
+#define save_I16               Perl_save_I16
+#define save_I32               Perl_save_I32
+#define save_int               Perl_save_int
+#define save_item              Perl_save_item
+#define save_iv                        Perl_save_iv
+#define save_list              Perl_save_list
+#define save_long              Perl_save_long
+#define save_nogv              Perl_save_nogv
+#define save_op                        Perl_save_op
+#define save_scalar            Perl_save_scalar
+#define save_pptr              Perl_save_pptr
+#define save_re_context                Perl_save_re_context
+#define save_sptr              Perl_save_sptr
+#define save_svref             Perl_save_svref
+#define save_threadsv          Perl_save_threadsv
+#define sawparens              Perl_sawparens
+#define scalar                 Perl_scalar
+#define scalarkids             Perl_scalarkids
+#define scalarseq              Perl_scalarseq
+#define scalarvoid             Perl_scalarvoid
+#define scan_bin               Perl_scan_bin
+#define scan_hex               Perl_scan_hex
+#define scan_num               Perl_scan_num
+#define scan_oct               Perl_scan_oct
+#define scope                  Perl_scope
+#define screaminstr            Perl_screaminstr
+#if !defined(VMS)
+#define setenv_getix           Perl_setenv_getix
+#endif
+#define setdefout              Perl_setdefout
+#define sharepvn               Perl_sharepvn
+#define share_hek              Perl_share_hek
+#define sighandler             Perl_sighandler
+#define stack_grow             Perl_stack_grow
+#define start_subparse         Perl_start_subparse
+#define sub_crush_depth                Perl_sub_crush_depth
+#define sv_2bool               Perl_sv_2bool
+#define sv_2cv                 Perl_sv_2cv
+#define sv_2io                 Perl_sv_2io
+#define sv_2iv                 Perl_sv_2iv
+#define sv_2mortal             Perl_sv_2mortal
+#define sv_2nv                 Perl_sv_2nv
+#define sv_2pv                 Perl_sv_2pv
+#define sv_2uv                 Perl_sv_2uv
+#define sv_iv                  Perl_sv_iv
+#define sv_uv                  Perl_sv_uv
+#define sv_nv                  Perl_sv_nv
+#define sv_pvn                 Perl_sv_pvn
+#define sv_true                        Perl_sv_true
+#define sv_add_arena           Perl_sv_add_arena
+#define sv_backoff             Perl_sv_backoff
+#define sv_bless               Perl_sv_bless
+#define sv_catpvf              Perl_sv_catpvf
+#define sv_catpv               Perl_sv_catpv
+#define sv_catpvn              Perl_sv_catpvn
+#define sv_catsv               Perl_sv_catsv
+#define sv_chop                        Perl_sv_chop
+#define sv_clean_all           Perl_sv_clean_all
+#define sv_clean_objs          Perl_sv_clean_objs
+#define sv_clear               Perl_sv_clear
+#define sv_cmp                 Perl_sv_cmp
+#define sv_cmp_locale          Perl_sv_cmp_locale
+#if defined(USE_LOCALE_COLLATE)
+#define sv_collxfrm            Perl_sv_collxfrm
+#endif
+#define sv_compile_2op         Perl_sv_compile_2op
+#define sv_dec                 Perl_sv_dec
+#define sv_dump                        Perl_sv_dump
+#define sv_derived_from                Perl_sv_derived_from
+#define sv_eq                  Perl_sv_eq
+#define sv_free                        Perl_sv_free
+#define sv_free_arenas         Perl_sv_free_arenas
+#define sv_gets                        Perl_sv_gets
+#define sv_grow                        Perl_sv_grow
+#define sv_inc                 Perl_sv_inc
+#define sv_insert              Perl_sv_insert
+#define sv_isa                 Perl_sv_isa
+#define sv_isobject            Perl_sv_isobject
+#define sv_len                 Perl_sv_len
+#define sv_len_utf8            Perl_sv_len_utf8
+#define sv_magic               Perl_sv_magic
+#define sv_mortalcopy          Perl_sv_mortalcopy
+#define sv_newmortal           Perl_sv_newmortal
+#define sv_newref              Perl_sv_newref
+#define sv_peek                        Perl_sv_peek
+#define sv_pos_u2b             Perl_sv_pos_u2b
+#define sv_pos_b2u             Perl_sv_pos_b2u
+#define sv_pvn_force           Perl_sv_pvn_force
+#define sv_reftype             Perl_sv_reftype
+#define sv_replace             Perl_sv_replace
+#define sv_report_used         Perl_sv_report_used
+#define sv_reset               Perl_sv_reset
+#define sv_setpvf              Perl_sv_setpvf
+#define sv_setiv               Perl_sv_setiv
+#define sv_setpviv             Perl_sv_setpviv
+#define sv_setuv               Perl_sv_setuv
+#define sv_setnv               Perl_sv_setnv
+#define sv_setref_iv           Perl_sv_setref_iv
+#define sv_setref_nv           Perl_sv_setref_nv
+#define sv_setref_pv           Perl_sv_setref_pv
+#define sv_setref_pvn          Perl_sv_setref_pvn
+#define sv_setpv               Perl_sv_setpv
+#define sv_setpvn              Perl_sv_setpvn
+#define sv_setsv               Perl_sv_setsv
+#define sv_taint               Perl_sv_taint
+#define sv_tainted             Perl_sv_tainted
+#define sv_unmagic             Perl_sv_unmagic
+#define sv_unref               Perl_sv_unref
+#define sv_untaint             Perl_sv_untaint
+#define sv_upgrade             Perl_sv_upgrade
+#define sv_usepvn              Perl_sv_usepvn
+#define sv_vcatpvfn            Perl_sv_vcatpvfn
+#define sv_vsetpvfn            Perl_sv_vsetpvfn
+#define swash_init             Perl_swash_init
+#define swash_fetch            Perl_swash_fetch
+#define taint_env              Perl_taint_env
+#define taint_proper           Perl_taint_proper
+#define to_utf8_lower          Perl_to_utf8_lower
+#define to_utf8_upper          Perl_to_utf8_upper
+#define to_utf8_title          Perl_to_utf8_title
+#if defined(UNLINK_ALL_VERSIONS)
+#define unlnk                  Perl_unlnk
+#endif
+#if defined(USE_THREADS)
+#define unlock_condpair                Perl_unlock_condpair
+#endif
+#define unsharepvn             Perl_unsharepvn
+#define unshare_hek            Perl_unshare_hek
+#define utilize                        Perl_utilize
+#define utf16_to_utf8          Perl_utf16_to_utf8
+#define utf16_to_utf8_reversed Perl_utf16_to_utf8_reversed
+#define utf8_distance          Perl_utf8_distance
+#define utf8_hop               Perl_utf8_hop
+#define utf8_to_uv             Perl_utf8_to_uv
+#define uv_to_utf8             Perl_uv_to_utf8
+#define vivify_defelem         Perl_vivify_defelem
+#define vivify_ref             Perl_vivify_ref
+#define wait4pid               Perl_wait4pid
+#define warn                   Perl_warn
+#define warner                 Perl_warner
+#define watch                  Perl_watch
+#define whichsig               Perl_whichsig
+#define yyerror                        Perl_yyerror
+#if defined(USE_PURE_BISON)
+#define yylex                  Perl_yylex
+#else
+#define yylex                  Perl_yylex
+#endif
+#define yyparse                        Perl_yyparse
+#define yywarn                 Perl_yywarn
+#if defined(MYMALLOC)
+#define dump_mstats            Perl_dump_mstats
+#endif
+#define safesysmalloc          Perl_safesysmalloc
+#define safesyscalloc          Perl_safesyscalloc
+#define safesysrealloc         Perl_safesysrealloc
+#define safesysfree            Perl_safesysfree
+#if defined(LEAKTEST)
+#define safexmalloc            Perl_safexmalloc
+#define safexcalloc            Perl_safexcalloc
+#define safexrealloc           Perl_safexrealloc
+#define safexfree              Perl_safexfree
+#endif
+#if defined(PERL_GLOBAL_STRUCT)
+#define GetVars                        Perl_GetVars
+#endif
+#define yydestruct             Perl_yydestruct
+#define runops_standard                Perl_runops_standard
+#define runops_debug           Perl_runops_debug
+#if defined(WIN32)
+#define ErrorNo                        Perl_ErrorNo
+#endif
+#define sv_catpvf_mg           Perl_sv_catpvf_mg
+#define sv_catpv_mg            Perl_sv_catpv_mg
+#define sv_catpvn_mg           Perl_sv_catpvn_mg
+#define sv_catsv_mg            Perl_sv_catsv_mg
+#define sv_setpvf_mg           Perl_sv_setpvf_mg
+#define sv_setiv_mg            Perl_sv_setiv_mg
+#define sv_setpviv_mg          Perl_sv_setpviv_mg
+#define sv_setuv_mg            Perl_sv_setuv_mg
+#define sv_setnv_mg            Perl_sv_setnv_mg
+#define sv_setpv_mg            Perl_sv_setpv_mg
+#define sv_setpvn_mg           Perl_sv_setpvn_mg
+#define sv_setsv_mg            Perl_sv_setsv_mg
+#define sv_usepvn_mg           Perl_sv_usepvn_mg
+#define get_vtbl               Perl_get_vtbl
+#define pv_display             Perl_pv_display
+#define dump_indent            Perl_dump_indent
+#define do_gv_dump             Perl_do_gv_dump
+#define do_gvgv_dump           Perl_do_gvgv_dump
+#define do_hv_dump             Perl_do_hv_dump
+#define do_magic_dump          Perl_do_magic_dump
+#define do_op_dump             Perl_do_op_dump
+#define do_pmop_dump           Perl_do_pmop_dump
+#define do_sv_dump             Perl_do_sv_dump
+#define magic_dump             Perl_magic_dump
+#define default_protect                Perl_default_protect
+#define reginitcolors          Perl_reginitcolors
+#define sv_2pv_nolen           Perl_sv_2pv_nolen
+#define sv_pv                  Perl_sv_pv
+#define sv_force_normal                Perl_sv_force_normal
+#define tmps_grow              Perl_tmps_grow
+#define sv_rvweaken            Perl_sv_rvweaken
+#define magic_killbackrefs     Perl_magic_killbackrefs
+#if defined(PERL_IN_AV_C)
+#define avhv_index_sv          S_avhv_index_sv
+#endif
+#if defined(PERL_IN_DOOP_C)
+#define do_trans_CC_simple     S_do_trans_CC_simple
+#define do_trans_CC_count      S_do_trans_CC_count
+#define do_trans_CC_complex    S_do_trans_CC_complex
+#define do_trans_UU_simple     S_do_trans_UU_simple
+#define do_trans_UU_count      S_do_trans_UU_count
+#define do_trans_UU_complex    S_do_trans_UU_complex
+#define do_trans_UC_simple     S_do_trans_UC_simple
+#define do_trans_CU_simple     S_do_trans_CU_simple
+#define do_trans_UC_trivial    S_do_trans_UC_trivial
+#define do_trans_CU_trivial    S_do_trans_CU_trivial
+#endif
+#if defined(PERL_IN_GLOBALS_C)
+#  if defined(WIN32)
+#define do_aspawn              S_do_aspawn
+#  endif
+#endif
+#if defined(PERL_IN_GV_C)
+#define gv_init_sv             S_gv_init_sv
+#endif
+#if defined(PERL_IN_HV_C)
+#define hsplit                 S_hsplit
+#define hfreeentries           S_hfreeentries
+#define more_he                        S_more_he
+#define new_he                 S_new_he
+#define del_he                 S_del_he
+#define save_hek               S_save_hek
+#define hv_magic_check         S_hv_magic_check
+#endif
+#if defined(PERL_IN_MG_C)
+#define save_magic             S_save_magic
+#define magic_methpack         S_magic_methpack
+#define magic_methcall         S_magic_methcall
+#define unwind_handler_stack   S_unwind_handler_stack
+#define restore_magic          S_restore_magic
+#endif
+#if defined(PERL_IN_OP_C)
+#define list_assignment                S_list_assignment
+#define bad_type               S_bad_type
+#define modkids                        S_modkids
+#define no_bareword_allowed    S_no_bareword_allowed
+#define no_fh_allowed          S_no_fh_allowed
+#define scalarboolean          S_scalarboolean
+#define too_few_arguments      S_too_few_arguments
+#define too_many_arguments     S_too_many_arguments
+#define null                   S_null
+#define pad_findlex            S_pad_findlex
+#define newDEFSVOP             S_newDEFSVOP
+#define new_logop              S_new_logop
+#define simplify_sort          S_simplify_sort
+#define is_handle_constructor  S_is_handle_constructor
+#define gv_ename               S_gv_ename
+#define cv_clone2              S_cv_clone2
+#define scalar_mod_type                S_scalar_mod_type
+#  if defined(PL_OP_SLAB_ALLOC)
+#define Slab_Alloc             S_Slab_Alloc
+#  endif
+#endif
+#if defined(PERL_IN_PERL_C)
+#define find_beginning         S_find_beginning
+#define forbid_setid           S_forbid_setid
+#define incpush                        S_incpush
+#define init_interp            S_init_interp
+#define init_ids               S_init_ids
+#define init_debugger          S_init_debugger
+#define init_lexer             S_init_lexer
+#define init_main_stash                S_init_main_stash
+#define init_perllib           S_init_perllib
+#define init_postdump_symbols  S_init_postdump_symbols
+#define init_predump_symbols   S_init_predump_symbols
+#define my_exit_jump           S_my_exit_jump
+#define nuke_stacks            S_nuke_stacks
+#define open_script            S_open_script
+#define usage                  S_usage
+#define validate_suid          S_validate_suid
+#define read_e_script          S_read_e_script
+#  if defined(IAMSUID)
+#define fd_on_nosuid_fs                S_fd_on_nosuid_fs
+#  endif
+#define parse_body             S_parse_body
+#define run_body               S_run_body
+#define call_body              S_call_body
+#define call_xbody             S_call_xbody
+#define call_list_body         S_call_list_body
+#  if defined(USE_THREADS)
+#define init_main_thread       S_init_main_thread
+#  endif
+#endif
+#if defined(PERL_IN_PP_C)
+#define doencodes              S_doencodes
+#define refto                  S_refto
+#define seed                   S_seed
+#define mul128                 S_mul128
+#define is_an_int              S_is_an_int
+#define div128                 S_div128
+#endif
+#if defined(PERL_IN_PP_CTL_C)
+#define docatch                        S_docatch
+#define docatch_body           S_docatch_body
+#define dofindlabel            S_dofindlabel
+#define doparseform            S_doparseform
+#define dopoptoeval            S_dopoptoeval
+#define dopoptolabel           S_dopoptolabel
+#define dopoptoloop            S_dopoptoloop
+#define dopoptosub             S_dopoptosub
+#define dopoptosub_at          S_dopoptosub_at
+#define free_closures          S_free_closures
+#define save_lines             S_save_lines
+#define doeval                 S_doeval
+#define doopen_pmc             S_doopen_pmc
+#define qsortsv                        S_qsortsv
+#define sortcv                 S_sortcv
+#define sv_ncmp                        S_sv_ncmp
+#define sv_i_ncmp              S_sv_i_ncmp
+#define amagic_ncmp            S_amagic_ncmp
+#define amagic_i_ncmp          S_amagic_i_ncmp
+#define amagic_cmp             S_amagic_cmp
+#define amagic_cmp_locale      S_amagic_cmp_locale
+#endif
+#if defined(PERL_IN_PP_HOT_C)
+#define get_db_sub             S_get_db_sub
+#  if defined(USE_THREADS)
+#define unset_cvowner          S_unset_cvowner
+#  endif
+#endif
+#if defined(PERL_IN_PP_SYS_C)
+#define doform                 S_doform
+#define emulate_eaccess                S_emulate_eaccess
+#  if !defined(HAS_MKDIR) || !defined(HAS_RMDIR)
+#define dooneliner             S_dooneliner
+#  endif
+#endif
+#if defined(PERL_IN_REGCOMP_C)
+#define reg                    S_reg
+#define reganode               S_reganode
+#define regatom                        S_regatom
+#define regbranch              S_regbranch
+#define regc                   S_regc
+#define reguni                 S_reguni
+#define regclass               S_regclass
+#define regclassutf8           S_regclassutf8
+#define regcurly               S_regcurly
+#define reg_node               S_reg_node
+#define regpiece               S_regpiece
+#define reginsert              S_reginsert
+#define regoptail              S_regoptail
+#define regtail                        S_regtail
+#define regwhite               S_regwhite
+#define nextchar               S_nextchar
+#define dumpuntil              S_dumpuntil
+#define scan_commit            S_scan_commit
+#define study_chunk            S_study_chunk
+#define add_data               S_add_data
+#define re_croak2              S_re_croak2
+#define regpposixcc            S_regpposixcc
+#define clear_re               S_clear_re
+#endif
+#if defined(PERL_IN_REGEXEC_C)
+#define regmatch               S_regmatch
+#define regrepeat              S_regrepeat
+#define regrepeat_hard         S_regrepeat_hard
+#define regtry                 S_regtry
+#define reginclass             S_reginclass
+#define reginclassutf8         S_reginclassutf8
+#define regcppush              S_regcppush
+#define regcppop               S_regcppop
+#define regcp_set_to           S_regcp_set_to
+#define cache_re               S_cache_re
+#define restore_pos            S_restore_pos
+#define reghop                 S_reghop
+#define reghopmaybe            S_reghopmaybe
+#endif
+#if defined(PERL_IN_RUN_C)
+#define debprof                        S_debprof
+#endif
+#if defined(PERL_IN_SCOPE_C)
+#define save_scalar_at         S_save_scalar_at
+#endif
+#if defined(PERL_IN_SV_C)
+#define asIV                   S_asIV
+#define asUV                   S_asUV
+#define more_sv                        S_more_sv
+#define more_xiv               S_more_xiv
+#define more_xnv               S_more_xnv
+#define more_xpv               S_more_xpv
+#define more_xrv               S_more_xrv
+#define new_xiv                        S_new_xiv
+#define new_xnv                        S_new_xnv
+#define new_xpv                        S_new_xpv
+#define new_xrv                        S_new_xrv
+#define del_xiv                        S_del_xiv
+#define del_xnv                        S_del_xnv
+#define del_xpv                        S_del_xpv
+#define del_xrv                        S_del_xrv
+#define sv_unglob              S_sv_unglob
+#define do_report_used         S_do_report_used
+#define do_clean_objs          S_do_clean_objs
+#define do_clean_named_objs    S_do_clean_named_objs
+#define do_clean_all           S_do_clean_all
+#define not_a_number           S_not_a_number
+#define visit                  S_visit
+#  if defined(PURIFY)
+#define reg_add                        S_reg_add
+#define reg_remove             S_reg_remove
+#  else
+#define my_safemalloc          S_my_safemalloc
+#  endif
+#define sv_add_backref         S_sv_add_backref
+#define sv_del_backref         S_sv_del_backref
+#  if defined(DEBUGGING)
+#define del_sv                 S_del_sv
+#  endif
+#endif
+#if defined(PERL_IN_TOKE_C)
+#define check_uni              S_check_uni
+#define force_next             S_force_next
+#define force_version          S_force_version
+#define force_word             S_force_word
+#define tokeq                  S_tokeq
+#define scan_const             S_scan_const
+#define scan_formline          S_scan_formline
+#define scan_heredoc           S_scan_heredoc
+#define scan_ident             S_scan_ident
+#define scan_inputsymbol       S_scan_inputsymbol
+#define scan_pat               S_scan_pat
+#define scan_str               S_scan_str
+#define scan_subst             S_scan_subst
+#define scan_trans             S_scan_trans
+#define scan_word              S_scan_word
+#define skipspace              S_skipspace
+#define checkcomma             S_checkcomma
+#define force_ident            S_force_ident
+#define incline                        S_incline
+#define intuit_method          S_intuit_method
+#define intuit_more            S_intuit_more
+#define lop                    S_lop
+#define missingterm            S_missingterm
+#define no_op                  S_no_op
+#define set_csh                        S_set_csh
+#define sublex_done            S_sublex_done
+#define sublex_push            S_sublex_push
+#define sublex_start           S_sublex_start
+#define filter_gets            S_filter_gets
+#define new_constant           S_new_constant
+#define ao                     S_ao
+#define depcom                 S_depcom
+#define incl_perldb            S_incl_perldb
+#define utf16_textfilter       S_utf16_textfilter
+#define utf16rev_textfilter    S_utf16rev_textfilter
+#define restore_rsfp           S_restore_rsfp
+#define restore_expect         S_restore_expect
+#define restore_lex_expect     S_restore_lex_expect
+#  if defined(CRIPPLED_CC)
+#define uni                    S_uni
+#  endif
+#  if defined(WIN32)
+#define win32_textfilter       S_win32_textfilter
+#  endif
+#endif
+#if defined(PERL_IN_UNIVERSAL_C)
+#define isa_lookup             S_isa_lookup
+#endif
+#if defined(PERL_IN_UTIL_C)
+#define mess_alloc             S_mess_alloc
+#define do_croak               S_do_croak
+#define do_warn                        S_do_warn
+#  if defined(LEAKTEST)
+#define xstat                  S_xstat
+#  endif
+#endif
+#define ck_anoncode            Perl_ck_anoncode
+#define ck_bitop               Perl_ck_bitop
+#define ck_concat              Perl_ck_concat
+#define ck_defined             Perl_ck_defined
+#define ck_delete              Perl_ck_delete
+#define ck_eof                 Perl_ck_eof
+#define ck_eval                        Perl_ck_eval
+#define ck_exec                        Perl_ck_exec
+#define ck_exists              Perl_ck_exists
+#define ck_ftst                        Perl_ck_ftst
+#define ck_fun                 Perl_ck_fun
+#define ck_fun_locale          Perl_ck_fun_locale
+#define ck_glob                        Perl_ck_glob
+#define ck_grep                        Perl_ck_grep
+#define ck_index               Perl_ck_index
+#define ck_lengthconst         Perl_ck_lengthconst
+#define ck_lfun                        Perl_ck_lfun
+#define ck_listiob             Perl_ck_listiob
+#define ck_match               Perl_ck_match
+#define ck_null                        Perl_ck_null
+#define ck_repeat              Perl_ck_repeat
+#define ck_require             Perl_ck_require
+#define ck_rfun                        Perl_ck_rfun
+#define ck_rvconst             Perl_ck_rvconst
+#define ck_scmp                        Perl_ck_scmp
+#define ck_select              Perl_ck_select
+#define ck_shift               Perl_ck_shift
+#define ck_sort                        Perl_ck_sort
+#define ck_spair               Perl_ck_spair
+#define ck_split               Perl_ck_split
+#define ck_subr                        Perl_ck_subr
+#define ck_svconst             Perl_ck_svconst
+#define ck_trunc               Perl_ck_trunc
 #define pp_aassign             Perl_pp_aassign
 #define pp_abs                 Perl_pp_abs
 #define pp_accept              Perl_pp_accept
 #define pp_wantarray           Perl_pp_wantarray
 #define pp_warn                        Perl_pp_warn
 #define pp_xor                 Perl_pp_xor
-#define pregcomp               Perl_pregcomp
-#define pregexec               Perl_pregexec
-#define pregfree               Perl_pregfree
-#define prepend_elem           Perl_prepend_elem
-#define push_return            Perl_push_return
-#define push_scope             Perl_push_scope
-#define pv_display             Perl_pv_display
-#define ref                    Perl_ref
-#define refkids                        Perl_refkids
-#define regdump                        Perl_regdump
-#define regexec_flags          Perl_regexec_flags
-#define reginitcolors          Perl_reginitcolors
-#define regnext                        Perl_regnext
-#define regprop                        Perl_regprop
-#define repeatcpy              Perl_repeatcpy
-#define require_pv             Perl_require_pv
-#define rninstr                        Perl_rninstr
-#define rsignal                        Perl_rsignal
-#define rsignal_restore                Perl_rsignal_restore
-#define rsignal_save           Perl_rsignal_save
-#define rsignal_state          Perl_rsignal_state
-#define runops_debug           Perl_runops_debug
-#define runops_standard                Perl_runops_standard
-#define rxres_free             Perl_rxres_free
-#define rxres_restore          Perl_rxres_restore
-#define rxres_save             Perl_rxres_save
-#define safesyscalloc          Perl_safesyscalloc
-#define safesysfree            Perl_safesysfree
-#define safesysmalloc          Perl_safesysmalloc
-#define safesysrealloc         Perl_safesysrealloc
-#define safexcalloc            Perl_safexcalloc
-#define safexfree              Perl_safexfree
-#define safexmalloc            Perl_safexmalloc
-#define safexrealloc           Perl_safexrealloc
-#define same_dirent            Perl_same_dirent
-#define save_I16               Perl_save_I16
-#define save_I32               Perl_save_I32
-#define save_aelem             Perl_save_aelem
-#define save_alloc             Perl_save_alloc
-#define save_aptr              Perl_save_aptr
-#define save_ary               Perl_save_ary
-#define save_clearsv           Perl_save_clearsv
-#define save_delete            Perl_save_delete
-#define save_destructor                Perl_save_destructor
-#define save_freeop            Perl_save_freeop
-#define save_freepv            Perl_save_freepv
-#define save_freesv            Perl_save_freesv
-#define save_generic_svref     Perl_save_generic_svref
-#define save_gp                        Perl_save_gp
-#define save_hash              Perl_save_hash
-#define save_helem             Perl_save_helem
-#define save_hints             Perl_save_hints
-#define save_hptr              Perl_save_hptr
-#define save_int               Perl_save_int
-#define save_item              Perl_save_item
-#define save_iv                        Perl_save_iv
-#define save_list              Perl_save_list
-#define save_long              Perl_save_long
-#define save_nogv              Perl_save_nogv
-#define save_op                        Perl_save_op
-#define save_pptr              Perl_save_pptr
-#define save_re_context                Perl_save_re_context
-#define save_scalar            Perl_save_scalar
-#define save_sptr              Perl_save_sptr
-#define save_svref             Perl_save_svref
-#define save_threadsv          Perl_save_threadsv
-#define savepv                 Perl_savepv
-#define savepvn                        Perl_savepvn
-#define savestack_grow         Perl_savestack_grow
-#define sawparens              Perl_sawparens
-#define scalar                 Perl_scalar
-#define scalarkids             Perl_scalarkids
-#define scalarseq              Perl_scalarseq
-#define scalarvoid             Perl_scalarvoid
-#define scan_bin               Perl_scan_bin
-#define scan_hex               Perl_scan_hex
-#define scan_num               Perl_scan_num
-#define scan_oct               Perl_scan_oct
-#define scope                  Perl_scope
-#define screaminstr            Perl_screaminstr
-#define set_numeric_local      Perl_set_numeric_local
-#define set_numeric_standard   Perl_set_numeric_standard
-#define setdefout              Perl_setdefout
-#define setenv_getix           Perl_setenv_getix
-#define share_hek              Perl_share_hek
-#define sharepvn               Perl_sharepvn
+
+#else  /* PERL_IMPLICIT_CONTEXT */
+
+#define amagic_call(a,b,c,d)   Perl_amagic_call(aTHX_ a,b,c,d)
+#define Gv_AMupdate(a)         Perl_Gv_AMupdate(aTHX_ a)
+#define append_elem(a,b,c)     Perl_append_elem(aTHX_ a,b,c)
+#define append_list(a,b,c)     Perl_append_list(aTHX_ a,b,c)
+#define apply(a,b,c)           Perl_apply(aTHX_ a,b,c)
+#define assertref(a)           Perl_assertref(aTHX_ a)
+#define avhv_exists_ent(a,b,c) Perl_avhv_exists_ent(aTHX_ a,b,c)
+#define avhv_fetch_ent(a,b,c,d)        Perl_avhv_fetch_ent(aTHX_ a,b,c,d)
+#define avhv_iternext(a)       Perl_avhv_iternext(aTHX_ a)
+#define avhv_iterval(a,b)      Perl_avhv_iterval(aTHX_ a,b)
+#define avhv_keys(a)           Perl_avhv_keys(aTHX_ a)
+#define av_clear(a)            Perl_av_clear(aTHX_ a)
+#define av_extend(a,b)         Perl_av_extend(aTHX_ a,b)
+#define av_fake(a,b)           Perl_av_fake(aTHX_ a,b)
+#define av_fetch(a,b,c)                Perl_av_fetch(aTHX_ a,b,c)
+#define av_fill(a,b)           Perl_av_fill(aTHX_ a,b)
+#define av_len(a)              Perl_av_len(aTHX_ a)
+#define av_make(a,b)           Perl_av_make(aTHX_ a,b)
+#define av_pop(a)              Perl_av_pop(aTHX_ a)
+#define av_push(a,b)           Perl_av_push(aTHX_ a,b)
+#define av_reify(a)            Perl_av_reify(aTHX_ a)
+#define av_shift(a)            Perl_av_shift(aTHX_ a)
+#define av_store(a,b,c)                Perl_av_store(aTHX_ a,b,c)
+#define av_undef(a)            Perl_av_undef(aTHX_ a)
+#define av_unshift(a,b)                Perl_av_unshift(aTHX_ a,b)
+#define bind_match(a,b,c)      Perl_bind_match(aTHX_ a,b,c)
+#define block_end(a,b)         Perl_block_end(aTHX_ a,b)
+#define block_gimme()          Perl_block_gimme(aTHX)
+#define block_start(a)         Perl_block_start(aTHX_ a)
+#define boot_core_UNIVERSAL()  Perl_boot_core_UNIVERSAL(aTHX)
+#define call_list(a,b)         Perl_call_list(aTHX_ a,b)
+#define cando(a,b,c)           Perl_cando(aTHX_ a,b,c)
+#define cast_ulong(a)          Perl_cast_ulong(aTHX_ a)
+#define cast_i32(a)            Perl_cast_i32(aTHX_ a)
+#define cast_iv(a)             Perl_cast_iv(aTHX_ a)
+#define cast_uv(a)             Perl_cast_uv(aTHX_ a)
+#if !defined(HAS_TRUNCATE) && !defined(HAS_CHSIZE) && defined(F_FREESP)
+#define my_chsize(a,b)         Perl_my_chsize(aTHX_ a,b)
+#endif
+#if defined(USE_THREADS)
+#define condpair_magic(a)      Perl_condpair_magic(aTHX_ a)
+#endif
+#define convert(a,b,c)         Perl_convert(aTHX_ a,b,c)
+#if defined(PERL_IMPLICIT_CONTEXT)
+#endif
+#define cv_ckproto(a,b,c)      Perl_cv_ckproto(aTHX_ a,b,c)
+#define cv_clone(a)            Perl_cv_clone(aTHX_ a)
+#define cv_const_sv(a)         Perl_cv_const_sv(aTHX_ a)
+#define op_const_sv(a,b)       Perl_op_const_sv(aTHX_ a,b)
+#define cv_undef(a)            Perl_cv_undef(aTHX_ a)
+#define cx_dump(a)             Perl_cx_dump(aTHX_ a)
+#define filter_add(a,b)                Perl_filter_add(aTHX_ a,b)
+#define filter_del(a)          Perl_filter_del(aTHX_ a)
+#define filter_read(a,b,c)     Perl_filter_read(aTHX_ a,b,c)
+#define get_op_descs()         Perl_get_op_descs(aTHX)
+#define get_op_names()         Perl_get_op_names(aTHX)
+#define get_no_modify()                Perl_get_no_modify(aTHX)
+#define get_opargs()           Perl_get_opargs(aTHX)
+#define cxinc()                        Perl_cxinc(aTHX)
+#define deb_growlevel()                Perl_deb_growlevel(aTHX)
+#define debprofdump()          Perl_debprofdump(aTHX)
+#define debop(a)               Perl_debop(aTHX_ a)
+#define debstack()             Perl_debstack(aTHX)
+#define debstackptrs()         Perl_debstackptrs(aTHX)
+#define delimcpy(a,b,c,d,e,f)  Perl_delimcpy(aTHX_ a,b,c,d,e,f)
+#define deprecate(a)           Perl_deprecate(aTHX_ a)
+#define die_where(a,b)         Perl_die_where(aTHX_ a,b)
+#define dounwind(a)            Perl_dounwind(aTHX_ a)
+#define do_aexec(a,b,c)                Perl_do_aexec(aTHX_ a,b,c)
+#define do_binmode(a,b,c)      Perl_do_binmode(aTHX_ a,b,c)
+#define do_chop(a,b)           Perl_do_chop(aTHX_ a,b)
+#define do_close(a,b)          Perl_do_close(aTHX_ a,b)
+#define do_eof(a)              Perl_do_eof(aTHX_ a)
+#define do_exec(a)             Perl_do_exec(aTHX_ a)
+#if !defined(WIN32)
+#define do_exec3(a,b,c)                Perl_do_exec3(aTHX_ a,b,c)
+#endif
+#define do_execfree()          Perl_do_execfree(aTHX)
+#if defined(HAS_MSG) || defined(HAS_SEM) || defined(HAS_SHM)
+#define do_ipcctl(a,b,c)       Perl_do_ipcctl(aTHX_ a,b,c)
+#define do_ipcget(a,b,c)       Perl_do_ipcget(aTHX_ a,b,c)
+#define do_msgrcv(a,b)         Perl_do_msgrcv(aTHX_ a,b)
+#define do_msgsnd(a,b)         Perl_do_msgsnd(aTHX_ a,b)
+#define do_semop(a,b)          Perl_do_semop(aTHX_ a,b)
+#define do_shmio(a,b,c)                Perl_do_shmio(aTHX_ a,b,c)
+#endif
+#define do_join(a,b,c,d)       Perl_do_join(aTHX_ a,b,c,d)
+#define do_kv()                        Perl_do_kv(aTHX)
+#define do_open(a,b,c,d,e,f,g) Perl_do_open(aTHX_ a,b,c,d,e,f,g)
+#define do_pipe(a,b,c)         Perl_do_pipe(aTHX_ a,b,c)
+#define do_print(a,b)          Perl_do_print(aTHX_ a,b)
+#define do_readline()          Perl_do_readline(aTHX)
+#define do_chomp(a)            Perl_do_chomp(aTHX_ a)
+#define do_seek(a,b,c)         Perl_do_seek(aTHX_ a,b,c)
+#define do_sprintf(a,b,c)      Perl_do_sprintf(aTHX_ a,b,c)
+#define do_sysseek(a,b,c)      Perl_do_sysseek(aTHX_ a,b,c)
+#define do_tell(a)             Perl_do_tell(aTHX_ a)
+#define do_trans(a)            Perl_do_trans(aTHX_ a)
+#define do_vecset(a)           Perl_do_vecset(aTHX_ a)
+#define do_vop(a,b,c,d)                Perl_do_vop(aTHX_ a,b,c,d)
+#define dofile(a)              Perl_dofile(aTHX_ a)
+#define dowantarray()          Perl_dowantarray(aTHX)
+#define dump_all()             Perl_dump_all(aTHX)
+#define dump_eval()            Perl_dump_eval(aTHX)
+#if defined(DUMP_FDS)
+#define dump_fds(a)            Perl_dump_fds(aTHX_ a)
+#endif
+#define dump_form(a)           Perl_dump_form(aTHX_ a)
+#define gv_dump(a)             Perl_gv_dump(aTHX_ a)
+#define op_dump(a)             Perl_op_dump(aTHX_ a)
+#define pmop_dump(a)           Perl_pmop_dump(aTHX_ a)
+#define dump_packsubs(a)       Perl_dump_packsubs(aTHX_ a)
+#define dump_sub(a)            Perl_dump_sub(aTHX_ a)
+#define fbm_compile(a,b)       Perl_fbm_compile(aTHX_ a,b)
+#define fbm_instr(a,b,c,d)     Perl_fbm_instr(aTHX_ a,b,c,d)
+#define find_script(a,b,c,d)   Perl_find_script(aTHX_ a,b,c,d)
+#if defined(USE_THREADS)
+#define find_threadsv(a)       Perl_find_threadsv(aTHX_ a)
+#endif
+#define force_list(a)          Perl_force_list(aTHX_ a)
+#define fold_constants(a)      Perl_fold_constants(aTHX_ a)
+#define free_tmps()            Perl_free_tmps(aTHX)
+#define gen_constant_list(a)   Perl_gen_constant_list(aTHX_ a)
+#if !defined(HAS_GETENV_LEN)
+#define getenv_len(a,b)                Perl_getenv_len(aTHX_ a,b)
+#endif
+#define gp_free(a)             Perl_gp_free(aTHX_ a)
+#define gp_ref(a)              Perl_gp_ref(aTHX_ a)
+#define gv_AVadd(a)            Perl_gv_AVadd(aTHX_ a)
+#define gv_HVadd(a)            Perl_gv_HVadd(aTHX_ a)
+#define gv_IOadd(a)            Perl_gv_IOadd(aTHX_ a)
+#define gv_autoload4(a,b,c,d)  Perl_gv_autoload4(aTHX_ a,b,c,d)
+#define gv_check(a)            Perl_gv_check(aTHX_ a)
+#define gv_efullname(a,b)      Perl_gv_efullname(aTHX_ a,b)
+#define gv_efullname3(a,b,c)   Perl_gv_efullname3(aTHX_ a,b,c)
+#define gv_fetchfile(a)                Perl_gv_fetchfile(aTHX_ a)
+#define gv_fetchmeth(a,b,c,d)  Perl_gv_fetchmeth(aTHX_ a,b,c,d)
+#define gv_fetchmethod(a,b)    Perl_gv_fetchmethod(aTHX_ a,b)
+#define gv_fetchmethod_autoload(a,b,c) Perl_gv_fetchmethod_autoload(aTHX_ a,b,c)
+#define gv_fetchpv(a,b,c)      Perl_gv_fetchpv(aTHX_ a,b,c)
+#define gv_fullname(a,b)       Perl_gv_fullname(aTHX_ a,b)
+#define gv_fullname3(a,b,c)    Perl_gv_fullname3(aTHX_ a,b,c)
+#define gv_init(a,b,c,d,e)     Perl_gv_init(aTHX_ a,b,c,d,e)
+#define gv_stashpv(a,b)                Perl_gv_stashpv(aTHX_ a,b)
+#define gv_stashpvn(a,b,c)     Perl_gv_stashpvn(aTHX_ a,b,c)
+#define gv_stashsv(a,b)                Perl_gv_stashsv(aTHX_ a,b)
+#define hv_clear(a)            Perl_hv_clear(aTHX_ a)
+#define hv_delayfree_ent(a,b)  Perl_hv_delayfree_ent(aTHX_ a,b)
+#define hv_delete(a,b,c,d)     Perl_hv_delete(aTHX_ a,b,c,d)
+#define hv_delete_ent(a,b,c,d) Perl_hv_delete_ent(aTHX_ a,b,c,d)
+#define hv_exists(a,b,c)       Perl_hv_exists(aTHX_ a,b,c)
+#define hv_exists_ent(a,b,c)   Perl_hv_exists_ent(aTHX_ a,b,c)
+#define hv_fetch(a,b,c,d)      Perl_hv_fetch(aTHX_ a,b,c,d)
+#define hv_fetch_ent(a,b,c,d)  Perl_hv_fetch_ent(aTHX_ a,b,c,d)
+#define hv_free_ent(a,b)       Perl_hv_free_ent(aTHX_ a,b)
+#define hv_iterinit(a)         Perl_hv_iterinit(aTHX_ a)
+#define hv_iterkey(a,b)                Perl_hv_iterkey(aTHX_ a,b)
+#define hv_iterkeysv(a)                Perl_hv_iterkeysv(aTHX_ a)
+#define hv_iternext(a)         Perl_hv_iternext(aTHX_ a)
+#define hv_iternextsv(a,b,c)   Perl_hv_iternextsv(aTHX_ a,b,c)
+#define hv_iterval(a,b)                Perl_hv_iterval(aTHX_ a,b)
+#define hv_ksplit(a,b)         Perl_hv_ksplit(aTHX_ a,b)
+#define hv_magic(a,b,c)                Perl_hv_magic(aTHX_ a,b,c)
+#define hv_store(a,b,c,d,e)    Perl_hv_store(aTHX_ a,b,c,d,e)
+#define hv_store_ent(a,b,c,d)  Perl_hv_store_ent(aTHX_ a,b,c,d)
+#define hv_undef(a)            Perl_hv_undef(aTHX_ a)
+#define ibcmp(a,b,c)           Perl_ibcmp(aTHX_ a,b,c)
+#define ibcmp_locale(a,b,c)    Perl_ibcmp_locale(aTHX_ a,b,c)
+#define ingroup(a,b)           Perl_ingroup(aTHX_ a,b)
+#define init_stacks()          Perl_init_stacks(aTHX)
+#define intro_my()             Perl_intro_my(aTHX)
+#define instr(a,b)             Perl_instr(aTHX_ a,b)
+#define io_close(a)            Perl_io_close(aTHX_ a)
+#define invert(a)              Perl_invert(aTHX_ a)
+#define is_uni_alnum(a)                Perl_is_uni_alnum(aTHX_ a)
+#define is_uni_idfirst(a)      Perl_is_uni_idfirst(aTHX_ a)
+#define is_uni_alpha(a)                Perl_is_uni_alpha(aTHX_ a)
+#define is_uni_space(a)                Perl_is_uni_space(aTHX_ a)
+#define is_uni_digit(a)                Perl_is_uni_digit(aTHX_ a)
+#define is_uni_upper(a)                Perl_is_uni_upper(aTHX_ a)
+#define is_uni_lower(a)                Perl_is_uni_lower(aTHX_ a)
+#define is_uni_print(a)                Perl_is_uni_print(aTHX_ a)
+#define to_uni_upper(a)                Perl_to_uni_upper(aTHX_ a)
+#define to_uni_title(a)                Perl_to_uni_title(aTHX_ a)
+#define to_uni_lower(a)                Perl_to_uni_lower(aTHX_ a)
+#define is_uni_alnum_lc(a)     Perl_is_uni_alnum_lc(aTHX_ a)
+#define is_uni_idfirst_lc(a)   Perl_is_uni_idfirst_lc(aTHX_ a)
+#define is_uni_alpha_lc(a)     Perl_is_uni_alpha_lc(aTHX_ a)
+#define is_uni_space_lc(a)     Perl_is_uni_space_lc(aTHX_ a)
+#define is_uni_digit_lc(a)     Perl_is_uni_digit_lc(aTHX_ a)
+#define is_uni_upper_lc(a)     Perl_is_uni_upper_lc(aTHX_ a)
+#define is_uni_lower_lc(a)     Perl_is_uni_lower_lc(aTHX_ a)
+#define is_uni_print_lc(a)     Perl_is_uni_print_lc(aTHX_ a)
+#define to_uni_upper_lc(a)     Perl_to_uni_upper_lc(aTHX_ a)
+#define to_uni_title_lc(a)     Perl_to_uni_title_lc(aTHX_ a)
+#define to_uni_lower_lc(a)     Perl_to_uni_lower_lc(aTHX_ a)
+#define is_utf8_alnum(a)       Perl_is_utf8_alnum(aTHX_ a)
+#define is_utf8_idfirst(a)     Perl_is_utf8_idfirst(aTHX_ a)
+#define is_utf8_alpha(a)       Perl_is_utf8_alpha(aTHX_ a)
+#define is_utf8_space(a)       Perl_is_utf8_space(aTHX_ a)
+#define is_utf8_digit(a)       Perl_is_utf8_digit(aTHX_ a)
+#define is_utf8_upper(a)       Perl_is_utf8_upper(aTHX_ a)
+#define is_utf8_lower(a)       Perl_is_utf8_lower(aTHX_ a)
+#define is_utf8_print(a)       Perl_is_utf8_print(aTHX_ a)
+#define is_utf8_mark(a)                Perl_is_utf8_mark(aTHX_ a)
+#define jmaybe(a)              Perl_jmaybe(aTHX_ a)
+#define keyword(a,b)           Perl_keyword(aTHX_ a,b)
+#define leave_scope(a)         Perl_leave_scope(aTHX_ a)
+#define lex_end()              Perl_lex_end(aTHX)
+#define lex_start(a)           Perl_lex_start(aTHX_ a)
+#define linklist(a)            Perl_linklist(aTHX_ a)
+#define list(a)                        Perl_list(aTHX_ a)
+#define listkids(a)            Perl_listkids(aTHX_ a)
+#define localize(a,b)          Perl_localize(aTHX_ a,b)
+#define looks_like_number(a)   Perl_looks_like_number(aTHX_ a)
+#define magic_clearenv(a,b)    Perl_magic_clearenv(aTHX_ a,b)
+#define magic_clear_all_env(a,b)       Perl_magic_clear_all_env(aTHX_ a,b)
+#define magic_clearpack(a,b)   Perl_magic_clearpack(aTHX_ a,b)
+#define magic_clearsig(a,b)    Perl_magic_clearsig(aTHX_ a,b)
+#define magic_existspack(a,b)  Perl_magic_existspack(aTHX_ a,b)
+#define magic_freeregexp(a,b)  Perl_magic_freeregexp(aTHX_ a,b)
+#define magic_get(a,b)         Perl_magic_get(aTHX_ a,b)
+#define magic_getarylen(a,b)   Perl_magic_getarylen(aTHX_ a,b)
+#define magic_getdefelem(a,b)  Perl_magic_getdefelem(aTHX_ a,b)
+#define magic_getglob(a,b)     Perl_magic_getglob(aTHX_ a,b)
+#define magic_getnkeys(a,b)    Perl_magic_getnkeys(aTHX_ a,b)
+#define magic_getpack(a,b)     Perl_magic_getpack(aTHX_ a,b)
+#define magic_getpos(a,b)      Perl_magic_getpos(aTHX_ a,b)
+#define magic_getsig(a,b)      Perl_magic_getsig(aTHX_ a,b)
+#define magic_getsubstr(a,b)   Perl_magic_getsubstr(aTHX_ a,b)
+#define magic_gettaint(a,b)    Perl_magic_gettaint(aTHX_ a,b)
+#define magic_getuvar(a,b)     Perl_magic_getuvar(aTHX_ a,b)
+#define magic_getvec(a,b)      Perl_magic_getvec(aTHX_ a,b)
+#define magic_len(a,b)         Perl_magic_len(aTHX_ a,b)
+#if defined(USE_THREADS)
+#define magic_mutexfree(a,b)   Perl_magic_mutexfree(aTHX_ a,b)
+#endif
+#define magic_nextpack(a,b,c)  Perl_magic_nextpack(aTHX_ a,b,c)
+#define magic_regdata_cnt(a,b) Perl_magic_regdata_cnt(aTHX_ a,b)
+#define magic_regdatum_get(a,b)        Perl_magic_regdatum_get(aTHX_ a,b)
+#define magic_set(a,b)         Perl_magic_set(aTHX_ a,b)
+#define magic_setamagic(a,b)   Perl_magic_setamagic(aTHX_ a,b)
+#define magic_setarylen(a,b)   Perl_magic_setarylen(aTHX_ a,b)
+#define magic_setbm(a,b)       Perl_magic_setbm(aTHX_ a,b)
+#define magic_setdbline(a,b)   Perl_magic_setdbline(aTHX_ a,b)
+#if defined(USE_LOCALE_COLLATE)
+#define magic_setcollxfrm(a,b) Perl_magic_setcollxfrm(aTHX_ a,b)
+#endif
+#define magic_setdefelem(a,b)  Perl_magic_setdefelem(aTHX_ a,b)
+#define magic_setenv(a,b)      Perl_magic_setenv(aTHX_ a,b)
+#define magic_setfm(a,b)       Perl_magic_setfm(aTHX_ a,b)
+#define magic_setisa(a,b)      Perl_magic_setisa(aTHX_ a,b)
+#define magic_setglob(a,b)     Perl_magic_setglob(aTHX_ a,b)
+#define magic_setmglob(a,b)    Perl_magic_setmglob(aTHX_ a,b)
+#define magic_setnkeys(a,b)    Perl_magic_setnkeys(aTHX_ a,b)
+#define magic_setpack(a,b)     Perl_magic_setpack(aTHX_ a,b)
+#define magic_setpos(a,b)      Perl_magic_setpos(aTHX_ a,b)
+#define magic_setsig(a,b)      Perl_magic_setsig(aTHX_ a,b)
+#define magic_setsubstr(a,b)   Perl_magic_setsubstr(aTHX_ a,b)
+#define magic_settaint(a,b)    Perl_magic_settaint(aTHX_ a,b)
+#define magic_setuvar(a,b)     Perl_magic_setuvar(aTHX_ a,b)
+#define magic_setvec(a,b)      Perl_magic_setvec(aTHX_ a,b)
+#define magic_set_all_env(a,b) Perl_magic_set_all_env(aTHX_ a,b)
+#define magic_sizepack(a,b)    Perl_magic_sizepack(aTHX_ a,b)
+#define magic_wipepack(a,b)    Perl_magic_wipepack(aTHX_ a,b)
+#define magicname(a,b,c)       Perl_magicname(aTHX_ a,b,c)
+#if defined(MYMALLOC)
+#define malloced_size          Perl_malloced_size
+#endif
+#define markstack_grow()       Perl_markstack_grow(aTHX)
+#if defined(USE_LOCALE_COLLATE)
+#define mem_collxfrm(a,b,c)    Perl_mem_collxfrm(aTHX_ a,b,c)
+#endif
+#define mess(a,b)              Perl_mess(aTHX_ a,b)
+#define mg_clear(a)            Perl_mg_clear(aTHX_ a)
+#define mg_copy(a,b,c,d)       Perl_mg_copy(aTHX_ a,b,c,d)
+#define mg_find(a,b)           Perl_mg_find(aTHX_ a,b)
+#define mg_free(a)             Perl_mg_free(aTHX_ a)
+#define mg_get(a)              Perl_mg_get(aTHX_ a)
+#define mg_length(a)           Perl_mg_length(aTHX_ a)
+#define mg_magical(a)          Perl_mg_magical(aTHX_ a)
+#define mg_set(a)              Perl_mg_set(aTHX_ a)
+#define mg_size(a)             Perl_mg_size(aTHX_ a)
+#define mod(a,b)               Perl_mod(aTHX_ a,b)
+#define moreswitches(a)                Perl_moreswitches(aTHX_ a)
+#define my(a)                  Perl_my(aTHX_ a)
+#if !defined(HAS_BCOPY) || !defined(HAS_SAFE_BCOPY)
+#define my_bcopy(a,b,c)                Perl_my_bcopy(aTHX_ a,b,c)
+#endif
+#if !defined(HAS_BZERO) && !defined(HAS_MEMSET)
+#define my_bzero(a,b)          Perl_my_bzero(aTHX_ a,b)
+#endif
+#define my_exit(a)             Perl_my_exit(aTHX_ a)
+#define my_failure_exit()      Perl_my_failure_exit(aTHX)
+#define my_fflush_all()                Perl_my_fflush_all(aTHX)
+#define my_lstat()             Perl_my_lstat(aTHX)
+#if !defined(HAS_MEMCMP) || !defined(HAS_SANE_MEMCMP)
+#define my_memcmp(a,b,c)       Perl_my_memcmp(aTHX_ a,b,c)
+#endif
+#if !defined(HAS_MEMSET)
+#define my_memset(a,b,c)       Perl_my_memset(aTHX_ a,b,c)
+#endif
+#if !defined(PERL_OBJECT)
+#define my_pclose(a)           Perl_my_pclose(aTHX_ a)
+#define my_popen(a,b)          Perl_my_popen(aTHX_ a,b)
+#endif
+#define my_setenv(a,b)         Perl_my_setenv(aTHX_ a,b)
+#define my_stat()              Perl_my_stat(aTHX)
+#if defined(MYSWAP)
+#define my_swap(a)             Perl_my_swap(aTHX_ a)
+#define my_htonl(a)            Perl_my_htonl(aTHX_ a)
+#define my_ntohl(a)            Perl_my_ntohl(aTHX_ a)
+#endif
+#define my_unexec()            Perl_my_unexec(aTHX)
+#define newANONLIST(a)         Perl_newANONLIST(aTHX_ a)
+#define newANONHASH(a)         Perl_newANONHASH(aTHX_ a)
+#define newANONSUB(a,b,c)      Perl_newANONSUB(aTHX_ a,b,c)
+#define newASSIGNOP(a,b,c,d)   Perl_newASSIGNOP(aTHX_ a,b,c,d)
+#define newCONDOP(a,b,c,d)     Perl_newCONDOP(aTHX_ a,b,c,d)
+#define newCONSTSUB(a,b,c)     Perl_newCONSTSUB(aTHX_ a,b,c)
+#define newFORM(a,b,c)         Perl_newFORM(aTHX_ a,b,c)
+#define newFOROP(a,b,c,d,e,f,g)        Perl_newFOROP(aTHX_ a,b,c,d,e,f,g)
+#define newLOGOP(a,b,c,d)      Perl_newLOGOP(aTHX_ a,b,c,d)
+#define newLOOPEX(a,b)         Perl_newLOOPEX(aTHX_ a,b)
+#define newLOOPOP(a,b,c,d)     Perl_newLOOPOP(aTHX_ a,b,c,d)
+#define newNULLLIST()          Perl_newNULLLIST(aTHX)
+#define newOP(a,b)             Perl_newOP(aTHX_ a,b)
+#define newPROG(a)             Perl_newPROG(aTHX_ a)
+#define newRANGE(a,b,c)                Perl_newRANGE(aTHX_ a,b,c)
+#define newSLICEOP(a,b,c)      Perl_newSLICEOP(aTHX_ a,b,c)
+#define newSTATEOP(a,b,c)      Perl_newSTATEOP(aTHX_ a,b,c)
+#define newSUB(a,b,c,d)                Perl_newSUB(aTHX_ a,b,c,d)
+#define newXS(a,b,c)           Perl_newXS(aTHX_ a,b,c)
+#define newAV()                        Perl_newAV(aTHX)
+#define newAVREF(a)            Perl_newAVREF(aTHX_ a)
+#define newBINOP(a,b,c,d)      Perl_newBINOP(aTHX_ a,b,c,d)
+#define newCVREF(a,b)          Perl_newCVREF(aTHX_ a,b)
+#define newGVOP(a,b,c)         Perl_newGVOP(aTHX_ a,b,c)
+#define newGVgen(a)            Perl_newGVgen(aTHX_ a)
+#define newGVREF(a,b)          Perl_newGVREF(aTHX_ a,b)
+#define newHVREF(a)            Perl_newHVREF(aTHX_ a)
+#define newHV()                        Perl_newHV(aTHX)
+#define newHVhv(a)             Perl_newHVhv(aTHX_ a)
+#define newIO()                        Perl_newIO(aTHX)
+#define newLISTOP(a,b,c,d)     Perl_newLISTOP(aTHX_ a,b,c,d)
+#define newPMOP(a,b)           Perl_newPMOP(aTHX_ a,b)
+#define newPVOP(a,b,c)         Perl_newPVOP(aTHX_ a,b,c)
+#define newRV(a)               Perl_newRV(aTHX_ a)
+#define newRV_noinc(a)         Perl_newRV_noinc(aTHX_ a)
+#define newSV(a)               Perl_newSV(aTHX_ a)
+#define newSVREF(a)            Perl_newSVREF(aTHX_ a)
+#define newSVOP(a,b,c)         Perl_newSVOP(aTHX_ a,b,c)
+#define newSViv(a)             Perl_newSViv(aTHX_ a)
+#define newSVnv(a)             Perl_newSVnv(aTHX_ a)
+#define newSVpv(a,b)           Perl_newSVpv(aTHX_ a,b)
+#define newSVpvn(a,b)          Perl_newSVpvn(aTHX_ a,b)
+#define newSVrv(a,b)           Perl_newSVrv(aTHX_ a,b)
+#define newSVsv(a)             Perl_newSVsv(aTHX_ a)
+#define newUNOP(a,b,c)         Perl_newUNOP(aTHX_ a,b,c)
+#define newWHILEOP(a,b,c,d,e,f,g)      Perl_newWHILEOP(aTHX_ a,b,c,d,e,f,g)
+#if defined(USE_THREADS)
+#define new_struct_thread(a)   Perl_new_struct_thread(aTHX_ a)
+#endif
+#define new_stackinfo(a,b)     Perl_new_stackinfo(aTHX_ a,b)
+#define nextargv(a)            Perl_nextargv(aTHX_ a)
+#define ninstr(a,b,c,d)                Perl_ninstr(aTHX_ a,b,c,d)
+#define oopsCV(a)              Perl_oopsCV(aTHX_ a)
+#define op_free(a)             Perl_op_free(aTHX_ a)
+#define package(a)             Perl_package(aTHX_ a)
+#define pad_alloc(a,b)         Perl_pad_alloc(aTHX_ a,b)
+#define pad_allocmy(a)         Perl_pad_allocmy(aTHX_ a)
+#define pad_findmy(a)          Perl_pad_findmy(aTHX_ a)
+#define oopsAV(a)              Perl_oopsAV(aTHX_ a)
+#define oopsHV(a)              Perl_oopsHV(aTHX_ a)
+#define pad_leavemy(a)         Perl_pad_leavemy(aTHX_ a)
+#define pad_sv(a)              Perl_pad_sv(aTHX_ a)
+#define pad_free(a)            Perl_pad_free(aTHX_ a)
+#define pad_reset()            Perl_pad_reset(aTHX)
+#define pad_swipe(a)           Perl_pad_swipe(aTHX_ a)
+#define peep(a)                        Perl_peep(aTHX_ a)
+#define call_atexit(a,b)       Perl_call_atexit(aTHX_ a,b)
+#define call_argv(a,b,c)       Perl_call_argv(aTHX_ a,b,c)
+#define call_method(a,b)       Perl_call_method(aTHX_ a,b)
+#define call_pv(a,b)           Perl_call_pv(aTHX_ a,b)
+#define call_sv(a,b)           Perl_call_sv(aTHX_ a,b)
+#define eval_pv(a,b)           Perl_eval_pv(aTHX_ a,b)
+#define eval_sv(a,b)           Perl_eval_sv(aTHX_ a,b)
+#define get_sv(a,b)            Perl_get_sv(aTHX_ a,b)
+#define get_av(a,b)            Perl_get_av(aTHX_ a,b)
+#define get_hv(a,b)            Perl_get_hv(aTHX_ a,b)
+#define get_cv(a,b)            Perl_get_cv(aTHX_ a,b)
+#define init_i18nl10n(a)       Perl_init_i18nl10n(aTHX_ a)
+#define init_i18nl14n(a)       Perl_init_i18nl14n(aTHX_ a)
+#define new_collate(a)         Perl_new_collate(aTHX_ a)
+#define new_ctype(a)           Perl_new_ctype(aTHX_ a)
+#define new_numeric(a)         Perl_new_numeric(aTHX_ a)
+#define set_numeric_local()    Perl_set_numeric_local(aTHX)
+#define set_numeric_standard() Perl_set_numeric_standard(aTHX)
+#define require_pv(a)          Perl_require_pv(aTHX_ a)
+#define pidgone(a,b)           Perl_pidgone(aTHX_ a,b)
+#define pmflag(a,b)            Perl_pmflag(aTHX_ a,b)
+#define pmruntime(a,b,c)       Perl_pmruntime(aTHX_ a,b,c)
+#define pmtrans(a,b,c)         Perl_pmtrans(aTHX_ a,b,c)
+#define pop_return()           Perl_pop_return(aTHX)
+#define pop_scope()            Perl_pop_scope(aTHX)
+#define prepend_elem(a,b,c)    Perl_prepend_elem(aTHX_ a,b,c)
+#define push_return(a)         Perl_push_return(aTHX_ a)
+#define push_scope()           Perl_push_scope(aTHX)
+#define ref(a,b)               Perl_ref(aTHX_ a,b)
+#define refkids(a,b)           Perl_refkids(aTHX_ a,b)
+#define regdump(a)             Perl_regdump(aTHX_ a)
+#define pregexec(a,b,c,d,e,f,g)        Perl_pregexec(aTHX_ a,b,c,d,e,f,g)
+#define pregfree(a)            Perl_pregfree(aTHX_ a)
+#define pregcomp(a,b,c)                Perl_pregcomp(aTHX_ a,b,c)
+#define regexec_flags(a,b,c,d,e,f,g,h) Perl_regexec_flags(aTHX_ a,b,c,d,e,f,g,h)
+#define regnext(a)             Perl_regnext(aTHX_ a)
+#define regprop(a,b)           Perl_regprop(aTHX_ a,b)
+#define repeatcpy(a,b,c,d)     Perl_repeatcpy(aTHX_ a,b,c,d)
+#define rninstr(a,b,c,d)       Perl_rninstr(aTHX_ a,b,c,d)
+#define rsignal(a,b)           Perl_rsignal(aTHX_ a,b)
+#define rsignal_restore(a,b)   Perl_rsignal_restore(aTHX_ a,b)
+#define rsignal_save(a,b,c)    Perl_rsignal_save(aTHX_ a,b,c)
+#define rsignal_state(a)       Perl_rsignal_state(aTHX_ a)
+#define rxres_free(a)          Perl_rxres_free(aTHX_ a)
+#define rxres_restore(a,b)     Perl_rxres_restore(aTHX_ a,b)
+#define rxres_save(a,b)                Perl_rxres_save(aTHX_ a,b)
+#if !defined(HAS_RENAME)
+#define same_dirent(a,b)       Perl_same_dirent(aTHX_ a,b)
+#endif
+#define savepv(a)              Perl_savepv(aTHX_ a)
+#define savepvn(a,b)           Perl_savepvn(aTHX_ a,b)
+#define savestack_grow()       Perl_savestack_grow(aTHX)
+#define save_aelem(a,b,c)      Perl_save_aelem(aTHX_ a,b,c)
+#define save_alloc(a,b)                Perl_save_alloc(aTHX_ a,b)
+#define save_aptr(a)           Perl_save_aptr(aTHX_ a)
+#define save_ary(a)            Perl_save_ary(aTHX_ a)
+#define save_clearsv(a)                Perl_save_clearsv(aTHX_ a)
+#define save_delete(a,b,c)     Perl_save_delete(aTHX_ a,b,c)
+#define save_destructor(a,b)   Perl_save_destructor(aTHX_ a,b)
+#define save_freesv(a)         Perl_save_freesv(aTHX_ a)
+#define save_freeop(a)         Perl_save_freeop(aTHX_ a)
+#define save_freepv(a)         Perl_save_freepv(aTHX_ a)
+#define save_generic_svref(a)  Perl_save_generic_svref(aTHX_ a)
+#define save_gp(a,b)           Perl_save_gp(aTHX_ a,b)
+#define save_hash(a)           Perl_save_hash(aTHX_ a)
+#define save_helem(a,b,c)      Perl_save_helem(aTHX_ a,b,c)
+#define save_hints()           Perl_save_hints(aTHX)
+#define save_hptr(a)           Perl_save_hptr(aTHX_ a)
+#define save_I16(a)            Perl_save_I16(aTHX_ a)
+#define save_I32(a)            Perl_save_I32(aTHX_ a)
+#define save_int(a)            Perl_save_int(aTHX_ a)
+#define save_item(a)           Perl_save_item(aTHX_ a)
+#define save_iv(a)             Perl_save_iv(aTHX_ a)
+#define save_list(a,b)         Perl_save_list(aTHX_ a,b)
+#define save_long(a)           Perl_save_long(aTHX_ a)
+#define save_nogv(a)           Perl_save_nogv(aTHX_ a)
+#define save_op()              Perl_save_op(aTHX)
+#define save_scalar(a)         Perl_save_scalar(aTHX_ a)
+#define save_pptr(a)           Perl_save_pptr(aTHX_ a)
+#define save_re_context()      Perl_save_re_context(aTHX)
+#define save_sptr(a)           Perl_save_sptr(aTHX_ a)
+#define save_svref(a)          Perl_save_svref(aTHX_ a)
+#define save_threadsv(a)       Perl_save_threadsv(aTHX_ a)
+#define sawparens(a)           Perl_sawparens(aTHX_ a)
+#define scalar(a)              Perl_scalar(aTHX_ a)
+#define scalarkids(a)          Perl_scalarkids(aTHX_ a)
+#define scalarseq(a)           Perl_scalarseq(aTHX_ a)
+#define scalarvoid(a)          Perl_scalarvoid(aTHX_ a)
+#define scan_bin(a,b,c)                Perl_scan_bin(aTHX_ a,b,c)
+#define scan_hex(a,b,c)                Perl_scan_hex(aTHX_ a,b,c)
+#define scan_num(a)            Perl_scan_num(aTHX_ a)
+#define scan_oct(a,b,c)                Perl_scan_oct(aTHX_ a,b,c)
+#define scope(a)               Perl_scope(aTHX_ a)
+#define screaminstr(a,b,c,d,e,f)       Perl_screaminstr(aTHX_ a,b,c,d,e,f)
+#if !defined(VMS)
+#define setenv_getix(a)                Perl_setenv_getix(aTHX_ a)
+#endif
+#define setdefout(a)           Perl_setdefout(aTHX_ a)
+#define sharepvn(a,b,c)                Perl_sharepvn(aTHX_ a,b,c)
+#define share_hek(a,b,c)       Perl_share_hek(aTHX_ a,b,c)
 #define sighandler             Perl_sighandler
-#define stack_grow             Perl_stack_grow
-#define start_subparse         Perl_start_subparse
-#define sub_crush_depth                Perl_sub_crush_depth
-#define sv_2bool               Perl_sv_2bool
-#define sv_2cv                 Perl_sv_2cv
-#define sv_2io                 Perl_sv_2io
-#define sv_2iv                 Perl_sv_2iv
-#define sv_2mortal             Perl_sv_2mortal
-#define sv_2nv                 Perl_sv_2nv
-#define sv_2pv                 Perl_sv_2pv
-#define sv_2pv_nolen           Perl_sv_2pv_nolen
-#define sv_2uv                 Perl_sv_2uv
-#define sv_add_arena           Perl_sv_add_arena
-#define sv_backoff             Perl_sv_backoff
-#define sv_bless               Perl_sv_bless
-#define sv_catpv               Perl_sv_catpv
-#define sv_catpv_mg            Perl_sv_catpv_mg
-#define sv_catpvf              Perl_sv_catpvf
-#define sv_catpvf_mg           Perl_sv_catpvf_mg
-#define sv_catpvn              Perl_sv_catpvn
-#define sv_catpvn_mg           Perl_sv_catpvn_mg
-#define sv_catsv               Perl_sv_catsv
-#define sv_catsv_mg            Perl_sv_catsv_mg
-#define sv_chop                        Perl_sv_chop
-#define sv_clean_all           Perl_sv_clean_all
-#define sv_clean_objs          Perl_sv_clean_objs
-#define sv_clear               Perl_sv_clear
-#define sv_cmp                 Perl_sv_cmp
-#define sv_cmp_locale          Perl_sv_cmp_locale
-#define sv_collxfrm            Perl_sv_collxfrm
-#define sv_compile_2op         Perl_sv_compile_2op
-#define sv_dec                 Perl_sv_dec
-#define sv_derived_from                Perl_sv_derived_from
-#define sv_dump                        Perl_sv_dump
-#define sv_eq                  Perl_sv_eq
-#define sv_force_normal                Perl_sv_force_normal
-#define sv_free                        Perl_sv_free
-#define sv_free_arenas         Perl_sv_free_arenas
-#define sv_gets                        Perl_sv_gets
-#define sv_grow                        Perl_sv_grow
-#define sv_inc                 Perl_sv_inc
-#define sv_insert              Perl_sv_insert
-#define sv_isa                 Perl_sv_isa
-#define sv_isobject            Perl_sv_isobject
-#define sv_iv                  Perl_sv_iv
-#define sv_len                 Perl_sv_len
-#define sv_len_utf8            Perl_sv_len_utf8
-#define sv_magic               Perl_sv_magic
-#define sv_mortalcopy          Perl_sv_mortalcopy
-#define sv_newmortal           Perl_sv_newmortal
-#define sv_newref              Perl_sv_newref
-#define sv_nv                  Perl_sv_nv
-#define sv_peek                        Perl_sv_peek
-#define sv_pos_b2u             Perl_sv_pos_b2u
-#define sv_pos_u2b             Perl_sv_pos_u2b
-#define sv_pv                  Perl_sv_pv
-#define sv_pvn                 Perl_sv_pvn
-#define sv_pvn_force           Perl_sv_pvn_force
-#define sv_reftype             Perl_sv_reftype
-#define sv_replace             Perl_sv_replace
-#define sv_report_used         Perl_sv_report_used
-#define sv_reset               Perl_sv_reset
-#define sv_rvweaken            Perl_sv_rvweaken
-#define sv_setiv               Perl_sv_setiv
-#define sv_setiv_mg            Perl_sv_setiv_mg
-#define sv_setnv               Perl_sv_setnv
-#define sv_setnv_mg            Perl_sv_setnv_mg
-#define sv_setpv               Perl_sv_setpv
-#define sv_setpv_mg            Perl_sv_setpv_mg
-#define sv_setpvf              Perl_sv_setpvf
-#define sv_setpvf_mg           Perl_sv_setpvf_mg
-#define sv_setpviv             Perl_sv_setpviv
-#define sv_setpviv_mg          Perl_sv_setpviv_mg
-#define sv_setpvn              Perl_sv_setpvn
-#define sv_setpvn_mg           Perl_sv_setpvn_mg
-#define sv_setref_iv           Perl_sv_setref_iv
-#define sv_setref_nv           Perl_sv_setref_nv
-#define sv_setref_pv           Perl_sv_setref_pv
-#define sv_setref_pvn          Perl_sv_setref_pvn
-#define sv_setsv               Perl_sv_setsv
-#define sv_setsv_mg            Perl_sv_setsv_mg
-#define sv_setuv               Perl_sv_setuv
-#define sv_setuv_mg            Perl_sv_setuv_mg
-#define sv_taint               Perl_sv_taint
-#define sv_tainted             Perl_sv_tainted
-#define sv_true                        Perl_sv_true
-#define sv_unmagic             Perl_sv_unmagic
-#define sv_unref               Perl_sv_unref
-#define sv_untaint             Perl_sv_untaint
-#define sv_upgrade             Perl_sv_upgrade
-#define sv_usepvn              Perl_sv_usepvn
-#define sv_usepvn_mg           Perl_sv_usepvn_mg
-#define sv_uv                  Perl_sv_uv
-#define sv_vcatpvfn            Perl_sv_vcatpvfn
-#define sv_vsetpvfn            Perl_sv_vsetpvfn
-#define swash_fetch            Perl_swash_fetch
-#define swash_init             Perl_swash_init
-#define taint_env              Perl_taint_env
-#define taint_proper           Perl_taint_proper
-#define tmps_grow              Perl_tmps_grow
-#define to_uni_lower           Perl_to_uni_lower
-#define to_uni_lower_lc                Perl_to_uni_lower_lc
-#define to_uni_title           Perl_to_uni_title
-#define to_uni_title_lc                Perl_to_uni_title_lc
-#define to_uni_upper           Perl_to_uni_upper
-#define to_uni_upper_lc                Perl_to_uni_upper_lc
-#define to_utf8_lower          Perl_to_utf8_lower
-#define to_utf8_title          Perl_to_utf8_title
-#define to_utf8_upper          Perl_to_utf8_upper
-#define unlnk                  Perl_unlnk
-#define unlock_condpair                Perl_unlock_condpair
-#define unshare_hek            Perl_unshare_hek
-#define unsharepvn             Perl_unsharepvn
-#define utf16_to_utf8          Perl_utf16_to_utf8
-#define utf16_to_utf8_reversed Perl_utf16_to_utf8_reversed
-#define utf8_distance          Perl_utf8_distance
-#define utf8_hop               Perl_utf8_hop
-#define utf8_to_uv             Perl_utf8_to_uv
-#define utilize                        Perl_utilize
-#define uv_to_utf8             Perl_uv_to_utf8
-#define vivify_defelem         Perl_vivify_defelem
-#define vivify_ref             Perl_vivify_ref
-#define wait4pid               Perl_wait4pid
-#define warn                   Perl_warn
-#define warner                 Perl_warner
-#define watch                  Perl_watch
-#define whichsig               Perl_whichsig
-#define yydestruct             Perl_yydestruct
-#define yyerror                        Perl_yyerror
-#define yylex                  Perl_yylex
-#define yyparse                        Perl_yyparse
-#define yywarn                 Perl_yywarn
+#define stack_grow(a,b,c)      Perl_stack_grow(aTHX_ a,b,c)
+#define start_subparse(a,b)    Perl_start_subparse(aTHX_ a,b)
+#define sub_crush_depth(a)     Perl_sub_crush_depth(aTHX_ a)
+#define sv_2bool(a)            Perl_sv_2bool(aTHX_ a)
+#define sv_2cv(a,b,c,d)                Perl_sv_2cv(aTHX_ a,b,c,d)
+#define sv_2io(a)              Perl_sv_2io(aTHX_ a)
+#define sv_2iv(a)              Perl_sv_2iv(aTHX_ a)
+#define sv_2mortal(a)          Perl_sv_2mortal(aTHX_ a)
+#define sv_2nv(a)              Perl_sv_2nv(aTHX_ a)
+#define sv_2pv(a,b)            Perl_sv_2pv(aTHX_ a,b)
+#define sv_2uv(a)              Perl_sv_2uv(aTHX_ a)
+#define sv_iv(a)               Perl_sv_iv(aTHX_ a)
+#define sv_uv(a)               Perl_sv_uv(aTHX_ a)
+#define sv_nv(a)               Perl_sv_nv(aTHX_ a)
+#define sv_pvn(a,b)            Perl_sv_pvn(aTHX_ a,b)
+#define sv_true(a)             Perl_sv_true(aTHX_ a)
+#define sv_add_arena(a,b,c)    Perl_sv_add_arena(aTHX_ a,b,c)
+#define sv_backoff(a)          Perl_sv_backoff(aTHX_ a)
+#define sv_bless(a,b)          Perl_sv_bless(aTHX_ a,b)
+#define sv_catpv(a,b)          Perl_sv_catpv(aTHX_ a,b)
+#define sv_catpvn(a,b,c)       Perl_sv_catpvn(aTHX_ a,b,c)
+#define sv_catsv(a,b)          Perl_sv_catsv(aTHX_ a,b)
+#define sv_chop(a,b)           Perl_sv_chop(aTHX_ a,b)
+#define sv_clean_all()         Perl_sv_clean_all(aTHX)
+#define sv_clean_objs()                Perl_sv_clean_objs(aTHX)
+#define sv_clear(a)            Perl_sv_clear(aTHX_ a)
+#define sv_cmp(a,b)            Perl_sv_cmp(aTHX_ a,b)
+#define sv_cmp_locale(a,b)     Perl_sv_cmp_locale(aTHX_ a,b)
+#if defined(USE_LOCALE_COLLATE)
+#define sv_collxfrm(a,b)       Perl_sv_collxfrm(aTHX_ a,b)
+#endif
+#define sv_compile_2op(a,b,c,d)        Perl_sv_compile_2op(aTHX_ a,b,c,d)
+#define sv_dec(a)              Perl_sv_dec(aTHX_ a)
+#define sv_dump(a)             Perl_sv_dump(aTHX_ a)
+#define sv_derived_from(a,b)   Perl_sv_derived_from(aTHX_ a,b)
+#define sv_eq(a,b)             Perl_sv_eq(aTHX_ a,b)
+#define sv_free(a)             Perl_sv_free(aTHX_ a)
+#define sv_free_arenas()       Perl_sv_free_arenas(aTHX)
+#define sv_gets(a,b,c)         Perl_sv_gets(aTHX_ a,b,c)
+#define sv_grow(a,b)           Perl_sv_grow(aTHX_ a,b)
+#define sv_inc(a)              Perl_sv_inc(aTHX_ a)
+#define sv_insert(a,b,c,d,e)   Perl_sv_insert(aTHX_ a,b,c,d,e)
+#define sv_isa(a,b)            Perl_sv_isa(aTHX_ a,b)
+#define sv_isobject(a)         Perl_sv_isobject(aTHX_ a)
+#define sv_len(a)              Perl_sv_len(aTHX_ a)
+#define sv_len_utf8(a)         Perl_sv_len_utf8(aTHX_ a)
+#define sv_magic(a,b,c,d,e)    Perl_sv_magic(aTHX_ a,b,c,d,e)
+#define sv_mortalcopy(a)       Perl_sv_mortalcopy(aTHX_ a)
+#define sv_newmortal()         Perl_sv_newmortal(aTHX)
+#define sv_newref(a)           Perl_sv_newref(aTHX_ a)
+#define sv_peek(a)             Perl_sv_peek(aTHX_ a)
+#define sv_pos_u2b(a,b,c)      Perl_sv_pos_u2b(aTHX_ a,b,c)
+#define sv_pos_b2u(a,b)                Perl_sv_pos_b2u(aTHX_ a,b)
+#define sv_pvn_force(a,b)      Perl_sv_pvn_force(aTHX_ a,b)
+#define sv_reftype(a,b)                Perl_sv_reftype(aTHX_ a,b)
+#define sv_replace(a,b)                Perl_sv_replace(aTHX_ a,b)
+#define sv_report_used()       Perl_sv_report_used(aTHX)
+#define sv_reset(a,b)          Perl_sv_reset(aTHX_ a,b)
+#define sv_setiv(a,b)          Perl_sv_setiv(aTHX_ a,b)
+#define sv_setpviv(a,b)                Perl_sv_setpviv(aTHX_ a,b)
+#define sv_setuv(a,b)          Perl_sv_setuv(aTHX_ a,b)
+#define sv_setnv(a,b)          Perl_sv_setnv(aTHX_ a,b)
+#define sv_setref_iv(a,b,c)    Perl_sv_setref_iv(aTHX_ a,b,c)
+#define sv_setref_nv(a,b,c)    Perl_sv_setref_nv(aTHX_ a,b,c)
+#define sv_setref_pv(a,b,c)    Perl_sv_setref_pv(aTHX_ a,b,c)
+#define sv_setref_pvn(a,b,c,d) Perl_sv_setref_pvn(aTHX_ a,b,c,d)
+#define sv_setpv(a,b)          Perl_sv_setpv(aTHX_ a,b)
+#define sv_setpvn(a,b,c)       Perl_sv_setpvn(aTHX_ a,b,c)
+#define sv_setsv(a,b)          Perl_sv_setsv(aTHX_ a,b)
+#define sv_taint(a)            Perl_sv_taint(aTHX_ a)
+#define sv_tainted(a)          Perl_sv_tainted(aTHX_ a)
+#define sv_unmagic(a,b)                Perl_sv_unmagic(aTHX_ a,b)
+#define sv_unref(a)            Perl_sv_unref(aTHX_ a)
+#define sv_untaint(a)          Perl_sv_untaint(aTHX_ a)
+#define sv_upgrade(a,b)                Perl_sv_upgrade(aTHX_ a,b)
+#define sv_usepvn(a,b,c)       Perl_sv_usepvn(aTHX_ a,b,c)
+#define sv_vcatpvfn(a,b,c,d,e,f,g)     Perl_sv_vcatpvfn(aTHX_ a,b,c,d,e,f,g)
+#define sv_vsetpvfn(a,b,c,d,e,f,g)     Perl_sv_vsetpvfn(aTHX_ a,b,c,d,e,f,g)
+#define swash_init(a,b,c,d,e)  Perl_swash_init(aTHX_ a,b,c,d,e)
+#define swash_fetch(a,b)       Perl_swash_fetch(aTHX_ a,b)
+#define taint_env()            Perl_taint_env(aTHX)
+#define taint_proper(a,b)      Perl_taint_proper(aTHX_ a,b)
+#define to_utf8_lower(a)       Perl_to_utf8_lower(aTHX_ a)
+#define to_utf8_upper(a)       Perl_to_utf8_upper(aTHX_ a)
+#define to_utf8_title(a)       Perl_to_utf8_title(aTHX_ a)
+#if defined(UNLINK_ALL_VERSIONS)
+#define unlnk(a)               Perl_unlnk(aTHX_ a)
+#endif
+#if defined(USE_THREADS)
+#define unlock_condpair(a)     Perl_unlock_condpair(aTHX_ a)
+#endif
+#define unsharepvn(a,b,c)      Perl_unsharepvn(aTHX_ a,b,c)
+#define unshare_hek(a)         Perl_unshare_hek(aTHX_ a)
+#define utilize(a,b,c,d,e)     Perl_utilize(aTHX_ a,b,c,d,e)
+#define utf16_to_utf8(a,b,c)   Perl_utf16_to_utf8(aTHX_ a,b,c)
+#define utf16_to_utf8_reversed(a,b,c)  Perl_utf16_to_utf8_reversed(aTHX_ a,b,c)
+#define utf8_distance(a,b)     Perl_utf8_distance(aTHX_ a,b)
+#define utf8_hop(a,b)          Perl_utf8_hop(aTHX_ a,b)
+#define utf8_to_uv(a,b)                Perl_utf8_to_uv(aTHX_ a,b)
+#define uv_to_utf8(a,b)                Perl_uv_to_utf8(aTHX_ a,b)
+#define vivify_defelem(a)      Perl_vivify_defelem(aTHX_ a)
+#define vivify_ref(a,b)                Perl_vivify_ref(aTHX_ a,b)
+#define wait4pid(a,b,c)                Perl_wait4pid(aTHX_ a,b,c)
+#define watch(a)               Perl_watch(aTHX_ a)
+#define whichsig(a)            Perl_whichsig(aTHX_ a)
+#define yyerror(a)             Perl_yyerror(aTHX_ a)
+#if defined(USE_PURE_BISON)
+#define yylex(a,b)             Perl_yylex(aTHX_ a,b)
+#else
+#define yylex()                        Perl_yylex(aTHX)
+#endif
+#define yyparse()              Perl_yyparse(aTHX)
+#define yywarn(a)              Perl_yywarn(aTHX_ a)
+#if defined(MYMALLOC)
+#define dump_mstats(a)         Perl_dump_mstats(aTHX_ a)
+#endif
+#define safesysmalloc(a)       Perl_safesysmalloc(aTHX_ a)
+#define safesyscalloc(a,b)     Perl_safesyscalloc(aTHX_ a,b)
+#define safesysrealloc(a,b)    Perl_safesysrealloc(aTHX_ a,b)
+#define safesysfree(a)         Perl_safesysfree(aTHX_ a)
+#if defined(LEAKTEST)
+#define safexmalloc(a,b)       Perl_safexmalloc(aTHX_ a,b)
+#define safexcalloc(a,b,c)     Perl_safexcalloc(aTHX_ a,b,c)
+#define safexrealloc(a,b)      Perl_safexrealloc(aTHX_ a,b)
+#define safexfree(a)           Perl_safexfree(aTHX_ a)
+#endif
+#if defined(PERL_GLOBAL_STRUCT)
+#define GetVars()              Perl_GetVars(aTHX)
+#endif
+#define yydestruct(a)          Perl_yydestruct(aTHX_ a)
+#define runops_standard()      Perl_runops_standard(aTHX)
+#define runops_debug()         Perl_runops_debug(aTHX)
+#if defined(WIN32)
+#define ErrorNo()              Perl_ErrorNo(aTHX)
+#endif
+#define sv_catpv_mg(a,b)       Perl_sv_catpv_mg(aTHX_ a,b)
+#define sv_catpvn_mg(a,b,c)    Perl_sv_catpvn_mg(aTHX_ a,b,c)
+#define sv_catsv_mg(a,b)       Perl_sv_catsv_mg(aTHX_ a,b)
+#define sv_setiv_mg(a,b)       Perl_sv_setiv_mg(aTHX_ a,b)
+#define sv_setpviv_mg(a,b)     Perl_sv_setpviv_mg(aTHX_ a,b)
+#define sv_setuv_mg(a,b)       Perl_sv_setuv_mg(aTHX_ a,b)
+#define sv_setnv_mg(a,b)       Perl_sv_setnv_mg(aTHX_ a,b)
+#define sv_setpv_mg(a,b)       Perl_sv_setpv_mg(aTHX_ a,b)
+#define sv_setpvn_mg(a,b,c)    Perl_sv_setpvn_mg(aTHX_ a,b,c)
+#define sv_setsv_mg(a,b)       Perl_sv_setsv_mg(aTHX_ a,b)
+#define sv_usepvn_mg(a,b,c)    Perl_sv_usepvn_mg(aTHX_ a,b,c)
+#define get_vtbl(a)            Perl_get_vtbl(aTHX_ a)
+#define pv_display(a,b,c,d,e)  Perl_pv_display(aTHX_ a,b,c,d,e)
+#define do_gv_dump(a,b,c,d)    Perl_do_gv_dump(aTHX_ a,b,c,d)
+#define do_gvgv_dump(a,b,c,d)  Perl_do_gvgv_dump(aTHX_ a,b,c,d)
+#define do_hv_dump(a,b,c,d)    Perl_do_hv_dump(aTHX_ a,b,c,d)
+#define do_magic_dump(a,b,c,d,e,f,g)   Perl_do_magic_dump(aTHX_ a,b,c,d,e,f,g)
+#define do_op_dump(a,b,c)      Perl_do_op_dump(aTHX_ a,b,c)
+#define do_pmop_dump(a,b,c)    Perl_do_pmop_dump(aTHX_ a,b,c)
+#define do_sv_dump(a,b,c,d,e,f,g)      Perl_do_sv_dump(aTHX_ a,b,c,d,e,f,g)
+#define magic_dump(a)          Perl_magic_dump(aTHX_ a)
+#define reginitcolors()                Perl_reginitcolors(aTHX)
+#define sv_2pv_nolen(a)                Perl_sv_2pv_nolen(aTHX_ a)
+#define sv_pv(a)               Perl_sv_pv(aTHX_ a)
+#define sv_force_normal(a)     Perl_sv_force_normal(aTHX_ a)
+#define tmps_grow(a)           Perl_tmps_grow(aTHX_ a)
+#define sv_rvweaken(a)         Perl_sv_rvweaken(aTHX_ a)
+#define magic_killbackrefs(a,b)        Perl_magic_killbackrefs(aTHX_ a,b)
+#if defined(PERL_IN_AV_C)
+#define avhv_index_sv(a)       S_avhv_index_sv(aTHX_ a)
+#endif
+#if defined(PERL_IN_DOOP_C)
+#define do_trans_CC_simple(a)  S_do_trans_CC_simple(aTHX_ a)
+#define do_trans_CC_count(a)   S_do_trans_CC_count(aTHX_ a)
+#define do_trans_CC_complex(a) S_do_trans_CC_complex(aTHX_ a)
+#define do_trans_UU_simple(a)  S_do_trans_UU_simple(aTHX_ a)
+#define do_trans_UU_count(a)   S_do_trans_UU_count(aTHX_ a)
+#define do_trans_UU_complex(a) S_do_trans_UU_complex(aTHX_ a)
+#define do_trans_UC_simple(a)  S_do_trans_UC_simple(aTHX_ a)
+#define do_trans_CU_simple(a)  S_do_trans_CU_simple(aTHX_ a)
+#define do_trans_UC_trivial(a) S_do_trans_UC_trivial(aTHX_ a)
+#define do_trans_CU_trivial(a) S_do_trans_CU_trivial(aTHX_ a)
+#endif
+#if defined(PERL_IN_GLOBALS_C)
+#  if defined(WIN32)
+#define do_aspawn(a,b,c)       S_do_aspawn(aTHX_ a,b,c)
+#  endif
+#endif
+#if defined(PERL_IN_GV_C)
+#define gv_init_sv(a,b)                S_gv_init_sv(aTHX_ a,b)
+#endif
+#if defined(PERL_IN_HV_C)
+#define hsplit(a)              S_hsplit(aTHX_ a)
+#define hfreeentries(a)                S_hfreeentries(aTHX_ a)
+#define more_he()              S_more_he(aTHX)
+#define new_he()               S_new_he(aTHX)
+#define del_he(a)              S_del_he(aTHX_ a)
+#define save_hek(a,b,c)                S_save_hek(aTHX_ a,b,c)
+#define hv_magic_check(a,b,c)  S_hv_magic_check(aTHX_ a,b,c)
+#endif
+#if defined(PERL_IN_MG_C)
+#define save_magic(a,b)                S_save_magic(aTHX_ a,b)
+#define magic_methpack(a,b,c)  S_magic_methpack(aTHX_ a,b,c)
+#define magic_methcall(a,b,c,d,e,f)    S_magic_methcall(aTHX_ a,b,c,d,e,f)
+#define unwind_handler_stack(a)        S_unwind_handler_stack(aTHX_ a)
+#define restore_magic(a)       S_restore_magic(aTHX_ a)
+#endif
+#if defined(PERL_IN_OP_C)
+#define list_assignment(a)     S_list_assignment(aTHX_ a)
+#define bad_type(a,b,c,d)      S_bad_type(aTHX_ a,b,c,d)
+#define modkids(a,b)           S_modkids(aTHX_ a,b)
+#define no_bareword_allowed(a) S_no_bareword_allowed(aTHX_ a)
+#define no_fh_allowed(a)       S_no_fh_allowed(aTHX_ a)
+#define scalarboolean(a)       S_scalarboolean(aTHX_ a)
+#define too_few_arguments(a,b) S_too_few_arguments(aTHX_ a,b)
+#define too_many_arguments(a,b)        S_too_many_arguments(aTHX_ a,b)
+#define null(a)                        S_null(aTHX_ a)
+#define pad_findlex(a,b,c,d,e,f,g)     S_pad_findlex(aTHX_ a,b,c,d,e,f,g)
+#define newDEFSVOP()           S_newDEFSVOP(aTHX)
+#define new_logop(a,b,c,d)     S_new_logop(aTHX_ a,b,c,d)
+#define simplify_sort(a)       S_simplify_sort(aTHX_ a)
+#define is_handle_constructor(a,b)     S_is_handle_constructor(aTHX_ a,b)
+#define gv_ename(a)            S_gv_ename(aTHX_ a)
+#define cv_clone2(a,b)         S_cv_clone2(aTHX_ a,b)
+#define scalar_mod_type(a,b)   S_scalar_mod_type(aTHX_ a,b)
+#  if defined(PL_OP_SLAB_ALLOC)
+#define Slab_Alloc(a,b)                S_Slab_Alloc(aTHX_ a,b)
+#  endif
+#endif
+#if defined(PERL_IN_PERL_C)
+#define find_beginning()       S_find_beginning(aTHX)
+#define forbid_setid(a)                S_forbid_setid(aTHX_ a)
+#define incpush(a,b)           S_incpush(aTHX_ a,b)
+#define init_interp()          S_init_interp(aTHX)
+#define init_ids()             S_init_ids(aTHX)
+#define init_debugger()                S_init_debugger(aTHX)
+#define init_lexer()           S_init_lexer(aTHX)
+#define init_main_stash()      S_init_main_stash(aTHX)
+#define init_perllib()         S_init_perllib(aTHX)
+#define init_postdump_symbols(a,b,c)   S_init_postdump_symbols(aTHX_ a,b,c)
+#define init_predump_symbols() S_init_predump_symbols(aTHX)
+#define my_exit_jump()         S_my_exit_jump(aTHX)
+#define nuke_stacks()          S_nuke_stacks(aTHX)
+#define open_script(a,b,c,d)   S_open_script(aTHX_ a,b,c,d)
+#define usage(a)               S_usage(aTHX_ a)
+#define validate_suid(a,b,c)   S_validate_suid(aTHX_ a,b,c)
+#define read_e_script(a,b,c)   S_read_e_script(aTHX_ a,b,c)
+#  if defined(IAMSUID)
+#define fd_on_nosuid_fs(a)     S_fd_on_nosuid_fs(aTHX_ a)
+#  endif
+#define parse_body(a)          S_parse_body(aTHX_ a)
+#define run_body(a)            S_run_body(aTHX_ a)
+#define call_body(a)           S_call_body(aTHX_ a)
+#define call_xbody(a,b)                S_call_xbody(aTHX_ a,b)
+#define call_list_body(a)      S_call_list_body(aTHX_ a)
+#  if defined(USE_THREADS)
+#define init_main_thread()     S_init_main_thread(aTHX)
+#  endif
+#endif
+#if defined(PERL_IN_PP_C)
+#define doencodes(a,b,c)       S_doencodes(aTHX_ a,b,c)
+#define refto(a)               S_refto(aTHX_ a)
+#define seed()                 S_seed(aTHX)
+#define mul128(a,b)            S_mul128(aTHX_ a,b)
+#define is_an_int(a,b)         S_is_an_int(aTHX_ a,b)
+#define div128(a,b)            S_div128(aTHX_ a,b)
+#endif
+#if defined(PERL_IN_PP_CTL_C)
+#define docatch(a)             S_docatch(aTHX_ a)
+#define docatch_body(a)                S_docatch_body(aTHX_ a)
+#define dofindlabel(a,b,c,d)   S_dofindlabel(aTHX_ a,b,c,d)
+#define doparseform(a)         S_doparseform(aTHX_ a)
+#define dopoptoeval(a)         S_dopoptoeval(aTHX_ a)
+#define dopoptolabel(a)                S_dopoptolabel(aTHX_ a)
+#define dopoptoloop(a)         S_dopoptoloop(aTHX_ a)
+#define dopoptosub(a)          S_dopoptosub(aTHX_ a)
+#define dopoptosub_at(a,b)     S_dopoptosub_at(aTHX_ a,b)
+#define free_closures()                S_free_closures(aTHX)
+#define save_lines(a,b)                S_save_lines(aTHX_ a,b)
+#define doeval(a,b)            S_doeval(aTHX_ a,b)
+#define doopen_pmc(a,b)                S_doopen_pmc(aTHX_ a,b)
+#define qsortsv(a,b,c)         S_qsortsv(aTHX_ a,b,c)
+#define sortcv(a,b)            S_sortcv(aTHX_ a,b)
+#define sv_ncmp(a,b)           S_sv_ncmp(aTHX_ a,b)
+#define sv_i_ncmp(a,b)         S_sv_i_ncmp(aTHX_ a,b)
+#define amagic_ncmp(a,b)       S_amagic_ncmp(aTHX_ a,b)
+#define amagic_i_ncmp(a,b)     S_amagic_i_ncmp(aTHX_ a,b)
+#define amagic_cmp(a,b)                S_amagic_cmp(aTHX_ a,b)
+#define amagic_cmp_locale(a,b) S_amagic_cmp_locale(aTHX_ a,b)
+#endif
+#if defined(PERL_IN_PP_HOT_C)
+#define get_db_sub(a,b)                S_get_db_sub(aTHX_ a,b)
+#  if defined(USE_THREADS)
+#define unset_cvowner(a)       S_unset_cvowner(aTHX_ a)
+#  endif
+#endif
+#if defined(PERL_IN_PP_SYS_C)
+#define doform(a,b,c)          S_doform(aTHX_ a,b,c)
+#define emulate_eaccess(a,b)   S_emulate_eaccess(aTHX_ a,b)
+#  if !defined(HAS_MKDIR) || !defined(HAS_RMDIR)
+#define dooneliner(a,b)                S_dooneliner(aTHX_ a,b)
+#  endif
+#endif
+#if defined(PERL_IN_REGCOMP_C)
+#define reg(a,b)               S_reg(aTHX_ a,b)
+#define reganode(a,b)          S_reganode(aTHX_ a,b)
+#define regatom(a)             S_regatom(aTHX_ a)
+#define regbranch(a,b)         S_regbranch(aTHX_ a,b)
+#define regc(a,b)              S_regc(aTHX_ a,b)
+#define reguni(a,b,c)          S_reguni(aTHX_ a,b,c)
+#define regclass()             S_regclass(aTHX)
+#define regclassutf8()         S_regclassutf8(aTHX)
+#define regcurly(a)            S_regcurly(aTHX_ a)
+#define reg_node(a)            S_reg_node(aTHX_ a)
+#define regpiece(a)            S_regpiece(aTHX_ a)
+#define reginsert(a,b)         S_reginsert(aTHX_ a,b)
+#define regoptail(a,b)         S_regoptail(aTHX_ a,b)
+#define regtail(a,b)           S_regtail(aTHX_ a,b)
+#define regwhite(a,b)          S_regwhite(aTHX_ a,b)
+#define nextchar()             S_nextchar(aTHX)
+#define dumpuntil(a,b,c,d,e)   S_dumpuntil(aTHX_ a,b,c,d,e)
+#define scan_commit(a)         S_scan_commit(aTHX_ a)
+#define study_chunk(a,b,c,d,e) S_study_chunk(aTHX_ a,b,c,d,e)
+#define add_data(a,b)          S_add_data(aTHX_ a,b)
+#define regpposixcc(a)         S_regpposixcc(aTHX_ a)
+#define clear_re(a)            S_clear_re(aTHX_ a)
+#endif
+#if defined(PERL_IN_REGEXEC_C)
+#define regmatch(a)            S_regmatch(aTHX_ a)
+#define regrepeat(a,b)         S_regrepeat(aTHX_ a,b)
+#define regrepeat_hard(a,b,c)  S_regrepeat_hard(aTHX_ a,b,c)
+#define regtry(a,b)            S_regtry(aTHX_ a,b)
+#define reginclass(a,b)                S_reginclass(aTHX_ a,b)
+#define reginclassutf8(a,b)    S_reginclassutf8(aTHX_ a,b)
+#define regcppush(a)           S_regcppush(aTHX_ a)
+#define regcppop()             S_regcppop(aTHX)
+#define regcp_set_to(a)                S_regcp_set_to(aTHX_ a)
+#define cache_re(a)            S_cache_re(aTHX_ a)
+#define restore_pos(a)         S_restore_pos(aTHX_ a)
+#define reghop(a,b)            S_reghop(aTHX_ a,b)
+#define reghopmaybe(a,b)       S_reghopmaybe(aTHX_ a,b)
+#endif
+#if defined(PERL_IN_RUN_C)
+#define debprof(a)             S_debprof(aTHX_ a)
+#endif
+#if defined(PERL_IN_SCOPE_C)
+#define save_scalar_at(a)      S_save_scalar_at(aTHX_ a)
+#endif
+#if defined(PERL_IN_SV_C)
+#define asIV(a)                        S_asIV(aTHX_ a)
+#define asUV(a)                        S_asUV(aTHX_ a)
+#define more_sv()              S_more_sv(aTHX)
+#define more_xiv()             S_more_xiv(aTHX)
+#define more_xnv()             S_more_xnv(aTHX)
+#define more_xpv()             S_more_xpv(aTHX)
+#define more_xrv()             S_more_xrv(aTHX)
+#define new_xiv()              S_new_xiv(aTHX)
+#define new_xnv()              S_new_xnv(aTHX)
+#define new_xpv()              S_new_xpv(aTHX)
+#define new_xrv()              S_new_xrv(aTHX)
+#define del_xiv(a)             S_del_xiv(aTHX_ a)
+#define del_xnv(a)             S_del_xnv(aTHX_ a)
+#define del_xpv(a)             S_del_xpv(aTHX_ a)
+#define del_xrv(a)             S_del_xrv(aTHX_ a)
+#define sv_unglob(a)           S_sv_unglob(aTHX_ a)
+#define do_report_used(a)      S_do_report_used(aTHX_ a)
+#define do_clean_objs(a)       S_do_clean_objs(aTHX_ a)
+#define do_clean_named_objs(a) S_do_clean_named_objs(aTHX_ a)
+#define do_clean_all(a)                S_do_clean_all(aTHX_ a)
+#define not_a_number(a)                S_not_a_number(aTHX_ a)
+#define visit(a)               S_visit(aTHX_ a)
+#  if defined(PURIFY)
+#define reg_add(a)             S_reg_add(aTHX_ a)
+#define reg_remove(a)          S_reg_remove(aTHX_ a)
+#  else
+#define my_safemalloc(a)       S_my_safemalloc(aTHX_ a)
+#  endif
+#define sv_add_backref(a,b)    S_sv_add_backref(aTHX_ a,b)
+#define sv_del_backref(a)      S_sv_del_backref(aTHX_ a)
+#  if defined(DEBUGGING)
+#define del_sv(a)              S_del_sv(aTHX_ a)
+#  endif
+#endif
+#if defined(PERL_IN_TOKE_C)
+#define check_uni()            S_check_uni(aTHX)
+#define force_next(a)          S_force_next(aTHX_ a)
+#define force_version(a)       S_force_version(aTHX_ a)
+#define force_word(a,b,c,d,e)  S_force_word(aTHX_ a,b,c,d,e)
+#define tokeq(a)               S_tokeq(aTHX_ a)
+#define scan_const(a)          S_scan_const(aTHX_ a)
+#define scan_formline(a)       S_scan_formline(aTHX_ a)
+#define scan_heredoc(a)                S_scan_heredoc(aTHX_ a)
+#define scan_ident(a,b,c,d,e)  S_scan_ident(aTHX_ a,b,c,d,e)
+#define scan_inputsymbol(a)    S_scan_inputsymbol(aTHX_ a)
+#define scan_pat(a,b)          S_scan_pat(aTHX_ a,b)
+#define scan_str(a)            S_scan_str(aTHX_ a)
+#define scan_subst(a)          S_scan_subst(aTHX_ a)
+#define scan_trans(a)          S_scan_trans(aTHX_ a)
+#define scan_word(a,b,c,d,e)   S_scan_word(aTHX_ a,b,c,d,e)
+#define skipspace(a)           S_skipspace(aTHX_ a)
+#define checkcomma(a,b,c)      S_checkcomma(aTHX_ a,b,c)
+#define force_ident(a,b)       S_force_ident(aTHX_ a,b)
+#define incline(a)             S_incline(aTHX_ a)
+#define intuit_method(a,b)     S_intuit_method(aTHX_ a,b)
+#define intuit_more(a)         S_intuit_more(aTHX_ a)
+#define lop(a,b,c)             S_lop(aTHX_ a,b,c)
+#define missingterm(a)         S_missingterm(aTHX_ a)
+#define no_op(a,b)             S_no_op(aTHX_ a,b)
+#define set_csh()              S_set_csh(aTHX)
+#define sublex_done()          S_sublex_done(aTHX)
+#define sublex_push()          S_sublex_push(aTHX)
+#define sublex_start()         S_sublex_start(aTHX)
+#define filter_gets(a,b,c)     S_filter_gets(aTHX_ a,b,c)
+#define new_constant(a,b,c,d,e,f)      S_new_constant(aTHX_ a,b,c,d,e,f)
+#define ao(a)                  S_ao(aTHX_ a)
+#define depcom()               S_depcom(aTHX)
+#define incl_perldb()          S_incl_perldb(aTHX)
+#define utf16_textfilter(a,b,c)        S_utf16_textfilter(aTHX_ a,b,c)
+#define utf16rev_textfilter(a,b,c)     S_utf16rev_textfilter(aTHX_ a,b,c)
+#define restore_rsfp(a)                S_restore_rsfp(aTHX_ a)
+#define restore_expect(a)      S_restore_expect(aTHX_ a)
+#define restore_lex_expect(a)  S_restore_lex_expect(aTHX_ a)
+#  if defined(CRIPPLED_CC)
+#define uni(a,b)               S_uni(aTHX_ a,b)
+#  endif
+#  if defined(WIN32)
+#define win32_textfilter(a,b,c)        S_win32_textfilter(aTHX_ a,b,c)
+#  endif
+#endif
+#if defined(PERL_IN_UNIVERSAL_C)
+#define isa_lookup(a,b,c,d)    S_isa_lookup(aTHX_ a,b,c,d)
+#endif
+#if defined(PERL_IN_UTIL_C)
+#define mess_alloc()           S_mess_alloc(aTHX)
+#define do_croak(a,b)          S_do_croak(aTHX_ a,b)
+#define do_warn(a,b)           S_do_warn(aTHX_ a,b)
+#  if defined(LEAKTEST)
+#define xstat(a)               S_xstat(aTHX_ a)
+#  endif
+#endif
+#define ck_anoncode(a)         Perl_ck_anoncode(aTHX_ a)
+#define ck_bitop(a)            Perl_ck_bitop(aTHX_ a)
+#define ck_concat(a)           Perl_ck_concat(aTHX_ a)
+#define ck_defined(a)          Perl_ck_defined(aTHX_ a)
+#define ck_delete(a)           Perl_ck_delete(aTHX_ a)
+#define ck_eof(a)              Perl_ck_eof(aTHX_ a)
+#define ck_eval(a)             Perl_ck_eval(aTHX_ a)
+#define ck_exec(a)             Perl_ck_exec(aTHX_ a)
+#define ck_exists(a)           Perl_ck_exists(aTHX_ a)
+#define ck_ftst(a)             Perl_ck_ftst(aTHX_ a)
+#define ck_fun(a)              Perl_ck_fun(aTHX_ a)
+#define ck_fun_locale(a)       Perl_ck_fun_locale(aTHX_ a)
+#define ck_glob(a)             Perl_ck_glob(aTHX_ a)
+#define ck_grep(a)             Perl_ck_grep(aTHX_ a)
+#define ck_index(a)            Perl_ck_index(aTHX_ a)
+#define ck_lengthconst(a)      Perl_ck_lengthconst(aTHX_ a)
+#define ck_lfun(a)             Perl_ck_lfun(aTHX_ a)
+#define ck_listiob(a)          Perl_ck_listiob(aTHX_ a)
+#define ck_match(a)            Perl_ck_match(aTHX_ a)
+#define ck_null(a)             Perl_ck_null(aTHX_ a)
+#define ck_repeat(a)           Perl_ck_repeat(aTHX_ a)
+#define ck_require(a)          Perl_ck_require(aTHX_ a)
+#define ck_rfun(a)             Perl_ck_rfun(aTHX_ a)
+#define ck_rvconst(a)          Perl_ck_rvconst(aTHX_ a)
+#define ck_scmp(a)             Perl_ck_scmp(aTHX_ a)
+#define ck_select(a)           Perl_ck_select(aTHX_ a)
+#define ck_shift(a)            Perl_ck_shift(aTHX_ a)
+#define ck_sort(a)             Perl_ck_sort(aTHX_ a)
+#define ck_spair(a)            Perl_ck_spair(aTHX_ a)
+#define ck_split(a)            Perl_ck_split(aTHX_ a)
+#define ck_subr(a)             Perl_ck_subr(aTHX_ a)
+#define ck_svconst(a)          Perl_ck_svconst(aTHX_ a)
+#define ck_trunc(a)            Perl_ck_trunc(aTHX_ a)
+#define pp_aassign()           Perl_pp_aassign(aTHX)
+#define pp_abs()               Perl_pp_abs(aTHX)
+#define pp_accept()            Perl_pp_accept(aTHX)
+#define pp_add()               Perl_pp_add(aTHX)
+#define pp_aelem()             Perl_pp_aelem(aTHX)
+#define pp_aelemfast()         Perl_pp_aelemfast(aTHX)
+#define pp_alarm()             Perl_pp_alarm(aTHX)
+#define pp_and()               Perl_pp_and(aTHX)
+#define pp_andassign()         Perl_pp_andassign(aTHX)
+#define pp_anoncode()          Perl_pp_anoncode(aTHX)
+#define pp_anonhash()          Perl_pp_anonhash(aTHX)
+#define pp_anonlist()          Perl_pp_anonlist(aTHX)
+#define pp_aslice()            Perl_pp_aslice(aTHX)
+#define pp_atan2()             Perl_pp_atan2(aTHX)
+#define pp_av2arylen()         Perl_pp_av2arylen(aTHX)
+#define pp_backtick()          Perl_pp_backtick(aTHX)
+#define pp_bind()              Perl_pp_bind(aTHX)
+#define pp_binmode()           Perl_pp_binmode(aTHX)
+#define pp_bit_and()           Perl_pp_bit_and(aTHX)
+#define pp_bit_or()            Perl_pp_bit_or(aTHX)
+#define pp_bit_xor()           Perl_pp_bit_xor(aTHX)
+#define pp_bless()             Perl_pp_bless(aTHX)
+#define pp_caller()            Perl_pp_caller(aTHX)
+#define pp_chdir()             Perl_pp_chdir(aTHX)
+#define pp_chmod()             Perl_pp_chmod(aTHX)
+#define pp_chomp()             Perl_pp_chomp(aTHX)
+#define pp_chop()              Perl_pp_chop(aTHX)
+#define pp_chown()             Perl_pp_chown(aTHX)
+#define pp_chr()               Perl_pp_chr(aTHX)
+#define pp_chroot()            Perl_pp_chroot(aTHX)
+#define pp_close()             Perl_pp_close(aTHX)
+#define pp_closedir()          Perl_pp_closedir(aTHX)
+#define pp_complement()                Perl_pp_complement(aTHX)
+#define pp_concat()            Perl_pp_concat(aTHX)
+#define pp_cond_expr()         Perl_pp_cond_expr(aTHX)
+#define pp_connect()           Perl_pp_connect(aTHX)
+#define pp_const()             Perl_pp_const(aTHX)
+#define pp_cos()               Perl_pp_cos(aTHX)
+#define pp_crypt()             Perl_pp_crypt(aTHX)
+#define pp_dbmclose()          Perl_pp_dbmclose(aTHX)
+#define pp_dbmopen()           Perl_pp_dbmopen(aTHX)
+#define pp_dbstate()           Perl_pp_dbstate(aTHX)
+#define pp_defined()           Perl_pp_defined(aTHX)
+#define pp_delete()            Perl_pp_delete(aTHX)
+#define pp_die()               Perl_pp_die(aTHX)
+#define pp_divide()            Perl_pp_divide(aTHX)
+#define pp_dofile()            Perl_pp_dofile(aTHX)
+#define pp_dump()              Perl_pp_dump(aTHX)
+#define pp_each()              Perl_pp_each(aTHX)
+#define pp_egrent()            Perl_pp_egrent(aTHX)
+#define pp_ehostent()          Perl_pp_ehostent(aTHX)
+#define pp_enetent()           Perl_pp_enetent(aTHX)
+#define pp_enter()             Perl_pp_enter(aTHX)
+#define pp_entereval()         Perl_pp_entereval(aTHX)
+#define pp_enteriter()         Perl_pp_enteriter(aTHX)
+#define pp_enterloop()         Perl_pp_enterloop(aTHX)
+#define pp_entersub()          Perl_pp_entersub(aTHX)
+#define pp_entertry()          Perl_pp_entertry(aTHX)
+#define pp_enterwrite()                Perl_pp_enterwrite(aTHX)
+#define pp_eof()               Perl_pp_eof(aTHX)
+#define pp_eprotoent()         Perl_pp_eprotoent(aTHX)
+#define pp_epwent()            Perl_pp_epwent(aTHX)
+#define pp_eq()                        Perl_pp_eq(aTHX)
+#define pp_eservent()          Perl_pp_eservent(aTHX)
+#define pp_exec()              Perl_pp_exec(aTHX)
+#define pp_exists()            Perl_pp_exists(aTHX)
+#define pp_exit()              Perl_pp_exit(aTHX)
+#define pp_exp()               Perl_pp_exp(aTHX)
+#define pp_fcntl()             Perl_pp_fcntl(aTHX)
+#define pp_fileno()            Perl_pp_fileno(aTHX)
+#define pp_flip()              Perl_pp_flip(aTHX)
+#define pp_flock()             Perl_pp_flock(aTHX)
+#define pp_flop()              Perl_pp_flop(aTHX)
+#define pp_fork()              Perl_pp_fork(aTHX)
+#define pp_formline()          Perl_pp_formline(aTHX)
+#define pp_ftatime()           Perl_pp_ftatime(aTHX)
+#define pp_ftbinary()          Perl_pp_ftbinary(aTHX)
+#define pp_ftblk()             Perl_pp_ftblk(aTHX)
+#define pp_ftchr()             Perl_pp_ftchr(aTHX)
+#define pp_ftctime()           Perl_pp_ftctime(aTHX)
+#define pp_ftdir()             Perl_pp_ftdir(aTHX)
+#define pp_fteexec()           Perl_pp_fteexec(aTHX)
+#define pp_fteowned()          Perl_pp_fteowned(aTHX)
+#define pp_fteread()           Perl_pp_fteread(aTHX)
+#define pp_ftewrite()          Perl_pp_ftewrite(aTHX)
+#define pp_ftfile()            Perl_pp_ftfile(aTHX)
+#define pp_ftis()              Perl_pp_ftis(aTHX)
+#define pp_ftlink()            Perl_pp_ftlink(aTHX)
+#define pp_ftmtime()           Perl_pp_ftmtime(aTHX)
+#define pp_ftpipe()            Perl_pp_ftpipe(aTHX)
+#define pp_ftrexec()           Perl_pp_ftrexec(aTHX)
+#define pp_ftrowned()          Perl_pp_ftrowned(aTHX)
+#define pp_ftrread()           Perl_pp_ftrread(aTHX)
+#define pp_ftrwrite()          Perl_pp_ftrwrite(aTHX)
+#define pp_ftsgid()            Perl_pp_ftsgid(aTHX)
+#define pp_ftsize()            Perl_pp_ftsize(aTHX)
+#define pp_ftsock()            Perl_pp_ftsock(aTHX)
+#define pp_ftsuid()            Perl_pp_ftsuid(aTHX)
+#define pp_ftsvtx()            Perl_pp_ftsvtx(aTHX)
+#define pp_fttext()            Perl_pp_fttext(aTHX)
+#define pp_fttty()             Perl_pp_fttty(aTHX)
+#define pp_ftzero()            Perl_pp_ftzero(aTHX)
+#define pp_ge()                        Perl_pp_ge(aTHX)
+#define pp_gelem()             Perl_pp_gelem(aTHX)
+#define pp_getc()              Perl_pp_getc(aTHX)
+#define pp_getlogin()          Perl_pp_getlogin(aTHX)
+#define pp_getpeername()       Perl_pp_getpeername(aTHX)
+#define pp_getpgrp()           Perl_pp_getpgrp(aTHX)
+#define pp_getppid()           Perl_pp_getppid(aTHX)
+#define pp_getpriority()       Perl_pp_getpriority(aTHX)
+#define pp_getsockname()       Perl_pp_getsockname(aTHX)
+#define pp_ggrent()            Perl_pp_ggrent(aTHX)
+#define pp_ggrgid()            Perl_pp_ggrgid(aTHX)
+#define pp_ggrnam()            Perl_pp_ggrnam(aTHX)
+#define pp_ghbyaddr()          Perl_pp_ghbyaddr(aTHX)
+#define pp_ghbyname()          Perl_pp_ghbyname(aTHX)
+#define pp_ghostent()          Perl_pp_ghostent(aTHX)
+#define pp_glob()              Perl_pp_glob(aTHX)
+#define pp_gmtime()            Perl_pp_gmtime(aTHX)
+#define pp_gnbyaddr()          Perl_pp_gnbyaddr(aTHX)
+#define pp_gnbyname()          Perl_pp_gnbyname(aTHX)
+#define pp_gnetent()           Perl_pp_gnetent(aTHX)
+#define pp_goto()              Perl_pp_goto(aTHX)
+#define pp_gpbyname()          Perl_pp_gpbyname(aTHX)
+#define pp_gpbynumber()                Perl_pp_gpbynumber(aTHX)
+#define pp_gprotoent()         Perl_pp_gprotoent(aTHX)
+#define pp_gpwent()            Perl_pp_gpwent(aTHX)
+#define pp_gpwnam()            Perl_pp_gpwnam(aTHX)
+#define pp_gpwuid()            Perl_pp_gpwuid(aTHX)
+#define pp_grepstart()         Perl_pp_grepstart(aTHX)
+#define pp_grepwhile()         Perl_pp_grepwhile(aTHX)
+#define pp_gsbyname()          Perl_pp_gsbyname(aTHX)
+#define pp_gsbyport()          Perl_pp_gsbyport(aTHX)
+#define pp_gservent()          Perl_pp_gservent(aTHX)
+#define pp_gsockopt()          Perl_pp_gsockopt(aTHX)
+#define pp_gt()                        Perl_pp_gt(aTHX)
+#define pp_gv()                        Perl_pp_gv(aTHX)
+#define pp_gvsv()              Perl_pp_gvsv(aTHX)
+#define pp_helem()             Perl_pp_helem(aTHX)
+#define pp_hex()               Perl_pp_hex(aTHX)
+#define pp_hslice()            Perl_pp_hslice(aTHX)
+#define pp_i_add()             Perl_pp_i_add(aTHX)
+#define pp_i_divide()          Perl_pp_i_divide(aTHX)
+#define pp_i_eq()              Perl_pp_i_eq(aTHX)
+#define pp_i_ge()              Perl_pp_i_ge(aTHX)
+#define pp_i_gt()              Perl_pp_i_gt(aTHX)
+#define pp_i_le()              Perl_pp_i_le(aTHX)
+#define pp_i_lt()              Perl_pp_i_lt(aTHX)
+#define pp_i_modulo()          Perl_pp_i_modulo(aTHX)
+#define pp_i_multiply()                Perl_pp_i_multiply(aTHX)
+#define pp_i_ncmp()            Perl_pp_i_ncmp(aTHX)
+#define pp_i_ne()              Perl_pp_i_ne(aTHX)
+#define pp_i_negate()          Perl_pp_i_negate(aTHX)
+#define pp_i_subtract()                Perl_pp_i_subtract(aTHX)
+#define pp_index()             Perl_pp_index(aTHX)
+#define pp_int()               Perl_pp_int(aTHX)
+#define pp_ioctl()             Perl_pp_ioctl(aTHX)
+#define pp_iter()              Perl_pp_iter(aTHX)
+#define pp_join()              Perl_pp_join(aTHX)
+#define pp_keys()              Perl_pp_keys(aTHX)
+#define pp_kill()              Perl_pp_kill(aTHX)
+#define pp_last()              Perl_pp_last(aTHX)
+#define pp_lc()                        Perl_pp_lc(aTHX)
+#define pp_lcfirst()           Perl_pp_lcfirst(aTHX)
+#define pp_le()                        Perl_pp_le(aTHX)
+#define pp_leave()             Perl_pp_leave(aTHX)
+#define pp_leaveeval()         Perl_pp_leaveeval(aTHX)
+#define pp_leaveloop()         Perl_pp_leaveloop(aTHX)
+#define pp_leavesub()          Perl_pp_leavesub(aTHX)
+#define pp_leavetry()          Perl_pp_leavetry(aTHX)
+#define pp_leavewrite()                Perl_pp_leavewrite(aTHX)
+#define pp_left_shift()                Perl_pp_left_shift(aTHX)
+#define pp_length()            Perl_pp_length(aTHX)
+#define pp_lineseq()           Perl_pp_lineseq(aTHX)
+#define pp_link()              Perl_pp_link(aTHX)
+#define pp_list()              Perl_pp_list(aTHX)
+#define pp_listen()            Perl_pp_listen(aTHX)
+#define pp_localtime()         Perl_pp_localtime(aTHX)
+#define pp_lock()              Perl_pp_lock(aTHX)
+#define pp_log()               Perl_pp_log(aTHX)
+#define pp_lslice()            Perl_pp_lslice(aTHX)
+#define pp_lstat()             Perl_pp_lstat(aTHX)
+#define pp_lt()                        Perl_pp_lt(aTHX)
+#define pp_mapstart()          Perl_pp_mapstart(aTHX)
+#define pp_mapwhile()          Perl_pp_mapwhile(aTHX)
+#define pp_match()             Perl_pp_match(aTHX)
+#define pp_method()            Perl_pp_method(aTHX)
+#define pp_mkdir()             Perl_pp_mkdir(aTHX)
+#define pp_modulo()            Perl_pp_modulo(aTHX)
+#define pp_msgctl()            Perl_pp_msgctl(aTHX)
+#define pp_msgget()            Perl_pp_msgget(aTHX)
+#define pp_msgrcv()            Perl_pp_msgrcv(aTHX)
+#define pp_msgsnd()            Perl_pp_msgsnd(aTHX)
+#define pp_multiply()          Perl_pp_multiply(aTHX)
+#define pp_ncmp()              Perl_pp_ncmp(aTHX)
+#define pp_ne()                        Perl_pp_ne(aTHX)
+#define pp_negate()            Perl_pp_negate(aTHX)
+#define pp_next()              Perl_pp_next(aTHX)
+#define pp_nextstate()         Perl_pp_nextstate(aTHX)
+#define pp_not()               Perl_pp_not(aTHX)
+#define pp_null()              Perl_pp_null(aTHX)
+#define pp_oct()               Perl_pp_oct(aTHX)
+#define pp_open()              Perl_pp_open(aTHX)
+#define pp_open_dir()          Perl_pp_open_dir(aTHX)
+#define pp_or()                        Perl_pp_or(aTHX)
+#define pp_orassign()          Perl_pp_orassign(aTHX)
+#define pp_ord()               Perl_pp_ord(aTHX)
+#define pp_pack()              Perl_pp_pack(aTHX)
+#define pp_padany()            Perl_pp_padany(aTHX)
+#define pp_padav()             Perl_pp_padav(aTHX)
+#define pp_padhv()             Perl_pp_padhv(aTHX)
+#define pp_padsv()             Perl_pp_padsv(aTHX)
+#define pp_pipe_op()           Perl_pp_pipe_op(aTHX)
+#define pp_pop()               Perl_pp_pop(aTHX)
+#define pp_pos()               Perl_pp_pos(aTHX)
+#define pp_postdec()           Perl_pp_postdec(aTHX)
+#define pp_postinc()           Perl_pp_postinc(aTHX)
+#define pp_pow()               Perl_pp_pow(aTHX)
+#define pp_predec()            Perl_pp_predec(aTHX)
+#define pp_preinc()            Perl_pp_preinc(aTHX)
+#define pp_print()             Perl_pp_print(aTHX)
+#define pp_prototype()         Perl_pp_prototype(aTHX)
+#define pp_prtf()              Perl_pp_prtf(aTHX)
+#define pp_push()              Perl_pp_push(aTHX)
+#define pp_pushmark()          Perl_pp_pushmark(aTHX)
+#define pp_pushre()            Perl_pp_pushre(aTHX)
+#define pp_qr()                        Perl_pp_qr(aTHX)
+#define pp_quotemeta()         Perl_pp_quotemeta(aTHX)
+#define pp_rand()              Perl_pp_rand(aTHX)
+#define pp_range()             Perl_pp_range(aTHX)
+#define pp_rcatline()          Perl_pp_rcatline(aTHX)
+#define pp_read()              Perl_pp_read(aTHX)
+#define pp_readdir()           Perl_pp_readdir(aTHX)
+#define pp_readline()          Perl_pp_readline(aTHX)
+#define pp_readlink()          Perl_pp_readlink(aTHX)
+#define pp_recv()              Perl_pp_recv(aTHX)
+#define pp_redo()              Perl_pp_redo(aTHX)
+#define pp_ref()               Perl_pp_ref(aTHX)
+#define pp_refgen()            Perl_pp_refgen(aTHX)
+#define pp_regcmaybe()         Perl_pp_regcmaybe(aTHX)
+#define pp_regcomp()           Perl_pp_regcomp(aTHX)
+#define pp_regcreset()         Perl_pp_regcreset(aTHX)
+#define pp_rename()            Perl_pp_rename(aTHX)
+#define pp_repeat()            Perl_pp_repeat(aTHX)
+#define pp_require()           Perl_pp_require(aTHX)
+#define pp_reset()             Perl_pp_reset(aTHX)
+#define pp_return()            Perl_pp_return(aTHX)
+#define pp_reverse()           Perl_pp_reverse(aTHX)
+#define pp_rewinddir()         Perl_pp_rewinddir(aTHX)
+#define pp_right_shift()       Perl_pp_right_shift(aTHX)
+#define pp_rindex()            Perl_pp_rindex(aTHX)
+#define pp_rmdir()             Perl_pp_rmdir(aTHX)
+#define pp_rv2av()             Perl_pp_rv2av(aTHX)
+#define pp_rv2cv()             Perl_pp_rv2cv(aTHX)
+#define pp_rv2gv()             Perl_pp_rv2gv(aTHX)
+#define pp_rv2hv()             Perl_pp_rv2hv(aTHX)
+#define pp_rv2sv()             Perl_pp_rv2sv(aTHX)
+#define pp_sassign()           Perl_pp_sassign(aTHX)
+#define pp_scalar()            Perl_pp_scalar(aTHX)
+#define pp_schomp()            Perl_pp_schomp(aTHX)
+#define pp_schop()             Perl_pp_schop(aTHX)
+#define pp_scmp()              Perl_pp_scmp(aTHX)
+#define pp_scope()             Perl_pp_scope(aTHX)
+#define pp_seek()              Perl_pp_seek(aTHX)
+#define pp_seekdir()           Perl_pp_seekdir(aTHX)
+#define pp_select()            Perl_pp_select(aTHX)
+#define pp_semctl()            Perl_pp_semctl(aTHX)
+#define pp_semget()            Perl_pp_semget(aTHX)
+#define pp_semop()             Perl_pp_semop(aTHX)
+#define pp_send()              Perl_pp_send(aTHX)
+#define pp_seq()               Perl_pp_seq(aTHX)
+#define pp_setpgrp()           Perl_pp_setpgrp(aTHX)
+#define pp_setpriority()       Perl_pp_setpriority(aTHX)
+#define pp_sge()               Perl_pp_sge(aTHX)
+#define pp_sgrent()            Perl_pp_sgrent(aTHX)
+#define pp_sgt()               Perl_pp_sgt(aTHX)
+#define pp_shift()             Perl_pp_shift(aTHX)
+#define pp_shmctl()            Perl_pp_shmctl(aTHX)
+#define pp_shmget()            Perl_pp_shmget(aTHX)
+#define pp_shmread()           Perl_pp_shmread(aTHX)
+#define pp_shmwrite()          Perl_pp_shmwrite(aTHX)
+#define pp_shostent()          Perl_pp_shostent(aTHX)
+#define pp_shutdown()          Perl_pp_shutdown(aTHX)
+#define pp_sin()               Perl_pp_sin(aTHX)
+#define pp_sle()               Perl_pp_sle(aTHX)
+#define pp_sleep()             Perl_pp_sleep(aTHX)
+#define pp_slt()               Perl_pp_slt(aTHX)
+#define pp_sne()               Perl_pp_sne(aTHX)
+#define pp_snetent()           Perl_pp_snetent(aTHX)
+#define pp_socket()            Perl_pp_socket(aTHX)
+#define pp_sockpair()          Perl_pp_sockpair(aTHX)
+#define pp_sort()              Perl_pp_sort(aTHX)
+#define pp_splice()            Perl_pp_splice(aTHX)
+#define pp_split()             Perl_pp_split(aTHX)
+#define pp_sprintf()           Perl_pp_sprintf(aTHX)
+#define pp_sprotoent()         Perl_pp_sprotoent(aTHX)
+#define pp_spwent()            Perl_pp_spwent(aTHX)
+#define pp_sqrt()              Perl_pp_sqrt(aTHX)
+#define pp_srand()             Perl_pp_srand(aTHX)
+#define pp_srefgen()           Perl_pp_srefgen(aTHX)
+#define pp_sselect()           Perl_pp_sselect(aTHX)
+#define pp_sservent()          Perl_pp_sservent(aTHX)
+#define pp_ssockopt()          Perl_pp_ssockopt(aTHX)
+#define pp_stat()              Perl_pp_stat(aTHX)
+#define pp_stringify()         Perl_pp_stringify(aTHX)
+#define pp_stub()              Perl_pp_stub(aTHX)
+#define pp_study()             Perl_pp_study(aTHX)
+#define pp_subst()             Perl_pp_subst(aTHX)
+#define pp_substcont()         Perl_pp_substcont(aTHX)
+#define pp_substr()            Perl_pp_substr(aTHX)
+#define pp_subtract()          Perl_pp_subtract(aTHX)
+#define pp_symlink()           Perl_pp_symlink(aTHX)
+#define pp_syscall()           Perl_pp_syscall(aTHX)
+#define pp_sysopen()           Perl_pp_sysopen(aTHX)
+#define pp_sysread()           Perl_pp_sysread(aTHX)
+#define pp_sysseek()           Perl_pp_sysseek(aTHX)
+#define pp_system()            Perl_pp_system(aTHX)
+#define pp_syswrite()          Perl_pp_syswrite(aTHX)
+#define pp_tell()              Perl_pp_tell(aTHX)
+#define pp_telldir()           Perl_pp_telldir(aTHX)
+#define pp_threadsv()          Perl_pp_threadsv(aTHX)
+#define pp_tie()               Perl_pp_tie(aTHX)
+#define pp_tied()              Perl_pp_tied(aTHX)
+#define pp_time()              Perl_pp_time(aTHX)
+#define pp_tms()               Perl_pp_tms(aTHX)
+#define pp_trans()             Perl_pp_trans(aTHX)
+#define pp_truncate()          Perl_pp_truncate(aTHX)
+#define pp_uc()                        Perl_pp_uc(aTHX)
+#define pp_ucfirst()           Perl_pp_ucfirst(aTHX)
+#define pp_umask()             Perl_pp_umask(aTHX)
+#define pp_undef()             Perl_pp_undef(aTHX)
+#define pp_unlink()            Perl_pp_unlink(aTHX)
+#define pp_unpack()            Perl_pp_unpack(aTHX)
+#define pp_unshift()           Perl_pp_unshift(aTHX)
+#define pp_unstack()           Perl_pp_unstack(aTHX)
+#define pp_untie()             Perl_pp_untie(aTHX)
+#define pp_utime()             Perl_pp_utime(aTHX)
+#define pp_values()            Perl_pp_values(aTHX)
+#define pp_vec()               Perl_pp_vec(aTHX)
+#define pp_wait()              Perl_pp_wait(aTHX)
+#define pp_waitpid()           Perl_pp_waitpid(aTHX)
+#define pp_wantarray()         Perl_pp_wantarray(aTHX)
+#define pp_warn()              Perl_pp_warn(aTHX)
+#define pp_xor()               Perl_pp_xor(aTHX)
 
+#endif /* PERL_IMPLICIT_CONTEXT */
 #else  /* PERL_OBJECT */
 
-#define Perl_ErrorNo           CPerlObj::Perl_ErrorNo
-#define Perl_GetVars           CPerlObj::Perl_GetVars
-#define Perl_Gv_AMupdate       CPerlObj::Perl_Gv_AMupdate
-#define Perl_amagic_call       CPerlObj::Perl_amagic_call
-#define Perl_append_elem       CPerlObj::Perl_append_elem
-#define Perl_append_list       CPerlObj::Perl_append_list
-#define Perl_apply             CPerlObj::Perl_apply
-#define Perl_assertref         CPerlObj::Perl_assertref
-#define Perl_av_clear          CPerlObj::Perl_av_clear
-#define Perl_av_extend         CPerlObj::Perl_av_extend
-#define Perl_av_fake           CPerlObj::Perl_av_fake
-#define Perl_av_fetch          CPerlObj::Perl_av_fetch
-#define Perl_av_fill           CPerlObj::Perl_av_fill
-#define Perl_av_len            CPerlObj::Perl_av_len
-#define Perl_av_make           CPerlObj::Perl_av_make
-#define Perl_av_pop            CPerlObj::Perl_av_pop
-#define Perl_av_push           CPerlObj::Perl_av_push
-#define Perl_av_reify          CPerlObj::Perl_av_reify
-#define Perl_av_shift          CPerlObj::Perl_av_shift
-#define Perl_av_store          CPerlObj::Perl_av_store
-#define Perl_av_undef          CPerlObj::Perl_av_undef
-#define Perl_av_unshift                CPerlObj::Perl_av_unshift
-#define Perl_avhv_exists_ent   CPerlObj::Perl_avhv_exists_ent
-#define Perl_avhv_fetch_ent    CPerlObj::Perl_avhv_fetch_ent
-#define Perl_avhv_iternext     CPerlObj::Perl_avhv_iternext
-#define Perl_avhv_iterval      CPerlObj::Perl_avhv_iterval
-#define Perl_avhv_keys         CPerlObj::Perl_avhv_keys
-#define Perl_bind_match                CPerlObj::Perl_bind_match
-#define Perl_block_end         CPerlObj::Perl_block_end
-#define Perl_block_gimme       CPerlObj::Perl_block_gimme
-#define Perl_block_start       CPerlObj::Perl_block_start
-#define Perl_boot_core_UNIVERSAL       CPerlObj::Perl_boot_core_UNIVERSAL
-#define Perl_bset_obj_store    CPerlObj::Perl_bset_obj_store
-#define Perl_call_argv         CPerlObj::Perl_call_argv
-#define Perl_call_atexit       CPerlObj::Perl_call_atexit
-#define Perl_call_list         CPerlObj::Perl_call_list
-#define Perl_call_method       CPerlObj::Perl_call_method
-#define Perl_call_pv           CPerlObj::Perl_call_pv
-#define Perl_call_sv           CPerlObj::Perl_call_sv
-#define Perl_cando             CPerlObj::Perl_cando
-#define Perl_cast_i32          CPerlObj::Perl_cast_i32
-#define Perl_cast_iv           CPerlObj::Perl_cast_iv
-#define Perl_cast_ulong                CPerlObj::Perl_cast_ulong
-#define Perl_cast_uv           CPerlObj::Perl_cast_uv
-#define Perl_ck_anoncode       CPerlObj::Perl_ck_anoncode
-#define Perl_ck_bitop          CPerlObj::Perl_ck_bitop
-#define Perl_ck_concat         CPerlObj::Perl_ck_concat
-#define Perl_ck_defined                CPerlObj::Perl_ck_defined
-#define Perl_ck_delete         CPerlObj::Perl_ck_delete
-#define Perl_ck_eof            CPerlObj::Perl_ck_eof
-#define Perl_ck_eval           CPerlObj::Perl_ck_eval
-#define Perl_ck_exec           CPerlObj::Perl_ck_exec
-#define Perl_ck_exists         CPerlObj::Perl_ck_exists
-#define Perl_ck_ftst           CPerlObj::Perl_ck_ftst
-#define Perl_ck_fun            CPerlObj::Perl_ck_fun
-#define Perl_ck_fun_locale     CPerlObj::Perl_ck_fun_locale
-#define Perl_ck_glob           CPerlObj::Perl_ck_glob
-#define Perl_ck_grep           CPerlObj::Perl_ck_grep
-#define Perl_ck_index          CPerlObj::Perl_ck_index
-#define Perl_ck_lengthconst    CPerlObj::Perl_ck_lengthconst
-#define Perl_ck_lfun           CPerlObj::Perl_ck_lfun
-#define Perl_ck_listiob                CPerlObj::Perl_ck_listiob
-#define Perl_ck_match          CPerlObj::Perl_ck_match
-#define Perl_ck_null           CPerlObj::Perl_ck_null
-#define Perl_ck_repeat         CPerlObj::Perl_ck_repeat
-#define Perl_ck_require                CPerlObj::Perl_ck_require
-#define Perl_ck_rfun           CPerlObj::Perl_ck_rfun
-#define Perl_ck_rvconst                CPerlObj::Perl_ck_rvconst
-#define Perl_ck_scmp           CPerlObj::Perl_ck_scmp
-#define Perl_ck_select         CPerlObj::Perl_ck_select
-#define Perl_ck_shift          CPerlObj::Perl_ck_shift
-#define Perl_ck_sort           CPerlObj::Perl_ck_sort
-#define Perl_ck_spair          CPerlObj::Perl_ck_spair
-#define Perl_ck_split          CPerlObj::Perl_ck_split
-#define Perl_ck_subr           CPerlObj::Perl_ck_subr
-#define Perl_ck_svconst                CPerlObj::Perl_ck_svconst
-#define Perl_ck_trunc          CPerlObj::Perl_ck_trunc
-#define Perl_condpair_magic    CPerlObj::Perl_condpair_magic
-#define Perl_convert           CPerlObj::Perl_convert
-#define Perl_croak             CPerlObj::Perl_croak
-#define Perl_cv_ckproto                CPerlObj::Perl_cv_ckproto
-#define Perl_cv_clone          CPerlObj::Perl_cv_clone
-#define Perl_cv_const_sv       CPerlObj::Perl_cv_const_sv
-#define Perl_cv_undef          CPerlObj::Perl_cv_undef
-#define Perl_cx_dump           CPerlObj::Perl_cx_dump
-#define Perl_cxinc             CPerlObj::Perl_cxinc
-#define Perl_deb               CPerlObj::Perl_deb
-#define Perl_deb_growlevel     CPerlObj::Perl_deb_growlevel
-#define Perl_debop             CPerlObj::Perl_debop
-#define Perl_debprofdump       CPerlObj::Perl_debprofdump
-#define Perl_debstack          CPerlObj::Perl_debstack
-#define Perl_debstackptrs      CPerlObj::Perl_debstackptrs
-#define Perl_default_protect   CPerlObj::Perl_default_protect
-#define Perl_delimcpy          CPerlObj::Perl_delimcpy
-#define Perl_deprecate         CPerlObj::Perl_deprecate
-#define Perl_die               CPerlObj::Perl_die
-#define Perl_die_where         CPerlObj::Perl_die_where
-#define Perl_do_aexec          CPerlObj::Perl_do_aexec
-#define Perl_do_binmode                CPerlObj::Perl_do_binmode
-#define Perl_do_chomp          CPerlObj::Perl_do_chomp
-#define Perl_do_chop           CPerlObj::Perl_do_chop
-#define Perl_do_close          CPerlObj::Perl_do_close
-#define Perl_do_eof            CPerlObj::Perl_do_eof
-#define Perl_do_exec           CPerlObj::Perl_do_exec
-#define Perl_do_exec3          CPerlObj::Perl_do_exec3
-#define Perl_do_execfree       CPerlObj::Perl_do_execfree
-#define Perl_do_gv_dump                CPerlObj::Perl_do_gv_dump
-#define Perl_do_gvgv_dump      CPerlObj::Perl_do_gvgv_dump
-#define Perl_do_hv_dump                CPerlObj::Perl_do_hv_dump
-#define Perl_do_ipcctl         CPerlObj::Perl_do_ipcctl
-#define Perl_do_ipcget         CPerlObj::Perl_do_ipcget
-#define Perl_do_join           CPerlObj::Perl_do_join
-#define Perl_do_kv             CPerlObj::Perl_do_kv
-#define Perl_do_magic_dump     CPerlObj::Perl_do_magic_dump
-#define Perl_do_msgrcv         CPerlObj::Perl_do_msgrcv
-#define Perl_do_msgsnd         CPerlObj::Perl_do_msgsnd
-#define Perl_do_op_dump                CPerlObj::Perl_do_op_dump
-#define Perl_do_open           CPerlObj::Perl_do_open
-#define Perl_do_pipe           CPerlObj::Perl_do_pipe
-#define Perl_do_pmop_dump      CPerlObj::Perl_do_pmop_dump
-#define Perl_do_print          CPerlObj::Perl_do_print
-#define Perl_do_readline       CPerlObj::Perl_do_readline
-#define Perl_do_seek           CPerlObj::Perl_do_seek
-#define Perl_do_semop          CPerlObj::Perl_do_semop
-#define Perl_do_shmio          CPerlObj::Perl_do_shmio
-#define Perl_do_sprintf                CPerlObj::Perl_do_sprintf
-#define Perl_do_sv_dump                CPerlObj::Perl_do_sv_dump
-#define Perl_do_sysseek                CPerlObj::Perl_do_sysseek
-#define Perl_do_tell           CPerlObj::Perl_do_tell
-#define Perl_do_trans          CPerlObj::Perl_do_trans
-#define Perl_do_vecset         CPerlObj::Perl_do_vecset
-#define Perl_do_vop            CPerlObj::Perl_do_vop
-#define Perl_dofile            CPerlObj::Perl_dofile
-#define Perl_dounwind          CPerlObj::Perl_dounwind
-#define Perl_dowantarray       CPerlObj::Perl_dowantarray
-#define Perl_dump_all          CPerlObj::Perl_dump_all
-#define Perl_dump_eval         CPerlObj::Perl_dump_eval
-#define Perl_dump_fds          CPerlObj::Perl_dump_fds
-#define Perl_dump_form         CPerlObj::Perl_dump_form
-#define Perl_dump_indent       CPerlObj::Perl_dump_indent
-#define Perl_dump_mstats       CPerlObj::Perl_dump_mstats
-#define Perl_dump_packsubs     CPerlObj::Perl_dump_packsubs
-#define Perl_dump_sub          CPerlObj::Perl_dump_sub
-#define Perl_eval_pv           CPerlObj::Perl_eval_pv
-#define Perl_eval_sv           CPerlObj::Perl_eval_sv
-#define Perl_fbm_compile       CPerlObj::Perl_fbm_compile
-#define Perl_fbm_instr         CPerlObj::Perl_fbm_instr
-#define Perl_filter_add                CPerlObj::Perl_filter_add
-#define Perl_filter_del                CPerlObj::Perl_filter_del
-#define Perl_filter_read       CPerlObj::Perl_filter_read
-#define Perl_find_script       CPerlObj::Perl_find_script
-#define Perl_find_threadsv     CPerlObj::Perl_find_threadsv
-#define Perl_fold_constants    CPerlObj::Perl_fold_constants
-#define Perl_force_list                CPerlObj::Perl_force_list
-#define Perl_form              CPerlObj::Perl_form
-#define Perl_free_tmps         CPerlObj::Perl_free_tmps
-#define Perl_gen_constant_list CPerlObj::Perl_gen_constant_list
-#define Perl_get_av            CPerlObj::Perl_get_av
-#define Perl_get_cv            CPerlObj::Perl_get_cv
-#define Perl_get_hv            CPerlObj::Perl_get_hv
-#define Perl_get_no_modify     CPerlObj::Perl_get_no_modify
-#define Perl_get_op_descs      CPerlObj::Perl_get_op_descs
-#define Perl_get_op_names      CPerlObj::Perl_get_op_names
-#define Perl_get_opargs                CPerlObj::Perl_get_opargs
-#define Perl_get_sv            CPerlObj::Perl_get_sv
-#define Perl_get_vtbl          CPerlObj::Perl_get_vtbl
-#define Perl_getenv_len                CPerlObj::Perl_getenv_len
-#define Perl_gp_free           CPerlObj::Perl_gp_free
-#define Perl_gp_ref            CPerlObj::Perl_gp_ref
-#define Perl_gv_AVadd          CPerlObj::Perl_gv_AVadd
-#define Perl_gv_HVadd          CPerlObj::Perl_gv_HVadd
-#define Perl_gv_IOadd          CPerlObj::Perl_gv_IOadd
-#define Perl_gv_autoload4      CPerlObj::Perl_gv_autoload4
-#define Perl_gv_check          CPerlObj::Perl_gv_check
-#define Perl_gv_dump           CPerlObj::Perl_gv_dump
-#define Perl_gv_efullname      CPerlObj::Perl_gv_efullname
-#define Perl_gv_efullname3     CPerlObj::Perl_gv_efullname3
-#define Perl_gv_fetchfile      CPerlObj::Perl_gv_fetchfile
-#define Perl_gv_fetchmeth      CPerlObj::Perl_gv_fetchmeth
-#define Perl_gv_fetchmethod    CPerlObj::Perl_gv_fetchmethod
-#define Perl_gv_fetchmethod_autoload   CPerlObj::Perl_gv_fetchmethod_autoload
-#define Perl_gv_fetchpv                CPerlObj::Perl_gv_fetchpv
-#define Perl_gv_fullname       CPerlObj::Perl_gv_fullname
-#define Perl_gv_fullname3      CPerlObj::Perl_gv_fullname3
-#define Perl_gv_init           CPerlObj::Perl_gv_init
-#define Perl_gv_stashpv                CPerlObj::Perl_gv_stashpv
-#define Perl_gv_stashpvn       CPerlObj::Perl_gv_stashpvn
-#define Perl_gv_stashsv                CPerlObj::Perl_gv_stashsv
-#define Perl_hv_clear          CPerlObj::Perl_hv_clear
-#define Perl_hv_delayfree_ent  CPerlObj::Perl_hv_delayfree_ent
-#define Perl_hv_delete         CPerlObj::Perl_hv_delete
-#define Perl_hv_delete_ent     CPerlObj::Perl_hv_delete_ent
-#define Perl_hv_exists         CPerlObj::Perl_hv_exists
-#define Perl_hv_exists_ent     CPerlObj::Perl_hv_exists_ent
-#define Perl_hv_fetch          CPerlObj::Perl_hv_fetch
-#define Perl_hv_fetch_ent      CPerlObj::Perl_hv_fetch_ent
-#define Perl_hv_free_ent       CPerlObj::Perl_hv_free_ent
-#define Perl_hv_iterinit       CPerlObj::Perl_hv_iterinit
-#define Perl_hv_iterkey                CPerlObj::Perl_hv_iterkey
-#define Perl_hv_iterkeysv      CPerlObj::Perl_hv_iterkeysv
-#define Perl_hv_iternext       CPerlObj::Perl_hv_iternext
-#define Perl_hv_iternextsv     CPerlObj::Perl_hv_iternextsv
-#define Perl_hv_iterval                CPerlObj::Perl_hv_iterval
-#define Perl_hv_ksplit         CPerlObj::Perl_hv_ksplit
-#define Perl_hv_magic          CPerlObj::Perl_hv_magic
-#define Perl_hv_store          CPerlObj::Perl_hv_store
-#define Perl_hv_store_ent      CPerlObj::Perl_hv_store_ent
-#define Perl_hv_undef          CPerlObj::Perl_hv_undef
-#define Perl_ibcmp             CPerlObj::Perl_ibcmp
-#define Perl_ibcmp_locale      CPerlObj::Perl_ibcmp_locale
-#define Perl_ingroup           CPerlObj::Perl_ingroup
-#define Perl_init_i18nl10n     CPerlObj::Perl_init_i18nl10n
-#define Perl_init_i18nl14n     CPerlObj::Perl_init_i18nl14n
-#define Perl_init_stacks       CPerlObj::Perl_init_stacks
-#define Perl_instr             CPerlObj::Perl_instr
-#define Perl_intro_my          CPerlObj::Perl_intro_my
-#define Perl_invert            CPerlObj::Perl_invert
-#define Perl_io_close          CPerlObj::Perl_io_close
-#define Perl_is_uni_alnum      CPerlObj::Perl_is_uni_alnum
-#define Perl_is_uni_alnum_lc   CPerlObj::Perl_is_uni_alnum_lc
-#define Perl_is_uni_alpha      CPerlObj::Perl_is_uni_alpha
-#define Perl_is_uni_alpha_lc   CPerlObj::Perl_is_uni_alpha_lc
-#define Perl_is_uni_digit      CPerlObj::Perl_is_uni_digit
-#define Perl_is_uni_digit_lc   CPerlObj::Perl_is_uni_digit_lc
-#define Perl_is_uni_idfirst    CPerlObj::Perl_is_uni_idfirst
-#define Perl_is_uni_idfirst_lc CPerlObj::Perl_is_uni_idfirst_lc
-#define Perl_is_uni_lower      CPerlObj::Perl_is_uni_lower
-#define Perl_is_uni_lower_lc   CPerlObj::Perl_is_uni_lower_lc
-#define Perl_is_uni_print      CPerlObj::Perl_is_uni_print
-#define Perl_is_uni_print_lc   CPerlObj::Perl_is_uni_print_lc
-#define Perl_is_uni_space      CPerlObj::Perl_is_uni_space
-#define Perl_is_uni_space_lc   CPerlObj::Perl_is_uni_space_lc
-#define Perl_is_uni_upper      CPerlObj::Perl_is_uni_upper
-#define Perl_is_uni_upper_lc   CPerlObj::Perl_is_uni_upper_lc
-#define Perl_is_utf8_alnum     CPerlObj::Perl_is_utf8_alnum
-#define Perl_is_utf8_alpha     CPerlObj::Perl_is_utf8_alpha
-#define Perl_is_utf8_digit     CPerlObj::Perl_is_utf8_digit
-#define Perl_is_utf8_idfirst   CPerlObj::Perl_is_utf8_idfirst
-#define Perl_is_utf8_lower     CPerlObj::Perl_is_utf8_lower
-#define Perl_is_utf8_mark      CPerlObj::Perl_is_utf8_mark
-#define Perl_is_utf8_print     CPerlObj::Perl_is_utf8_print
-#define Perl_is_utf8_space     CPerlObj::Perl_is_utf8_space
-#define Perl_is_utf8_upper     CPerlObj::Perl_is_utf8_upper
-#define Perl_jmaybe            CPerlObj::Perl_jmaybe
-#define Perl_keyword           CPerlObj::Perl_keyword
-#define Perl_leave_scope       CPerlObj::Perl_leave_scope
-#define Perl_lex_end           CPerlObj::Perl_lex_end
-#define Perl_lex_start         CPerlObj::Perl_lex_start
-#define Perl_linklist          CPerlObj::Perl_linklist
-#define Perl_list              CPerlObj::Perl_list
-#define Perl_listkids          CPerlObj::Perl_listkids
-#define Perl_localize          CPerlObj::Perl_localize
-#define Perl_looks_like_number CPerlObj::Perl_looks_like_number
-#define Perl_magic_clear_all_env       CPerlObj::Perl_magic_clear_all_env
-#define Perl_magic_clearenv    CPerlObj::Perl_magic_clearenv
-#define Perl_magic_clearpack   CPerlObj::Perl_magic_clearpack
-#define Perl_magic_clearsig    CPerlObj::Perl_magic_clearsig
-#define Perl_magic_dump                CPerlObj::Perl_magic_dump
-#define Perl_magic_existspack  CPerlObj::Perl_magic_existspack
-#define Perl_magic_freeregexp  CPerlObj::Perl_magic_freeregexp
-#define Perl_magic_get         CPerlObj::Perl_magic_get
-#define Perl_magic_getarylen   CPerlObj::Perl_magic_getarylen
-#define Perl_magic_getdefelem  CPerlObj::Perl_magic_getdefelem
-#define Perl_magic_getglob     CPerlObj::Perl_magic_getglob
-#define Perl_magic_getnkeys    CPerlObj::Perl_magic_getnkeys
-#define Perl_magic_getpack     CPerlObj::Perl_magic_getpack
-#define Perl_magic_getpos      CPerlObj::Perl_magic_getpos
-#define Perl_magic_getsig      CPerlObj::Perl_magic_getsig
-#define Perl_magic_getsubstr   CPerlObj::Perl_magic_getsubstr
-#define Perl_magic_gettaint    CPerlObj::Perl_magic_gettaint
-#define Perl_magic_getuvar     CPerlObj::Perl_magic_getuvar
-#define Perl_magic_getvec      CPerlObj::Perl_magic_getvec
-#define Perl_magic_killbackrefs        CPerlObj::Perl_magic_killbackrefs
-#define Perl_magic_len         CPerlObj::Perl_magic_len
-#define Perl_magic_mutexfree   CPerlObj::Perl_magic_mutexfree
-#define Perl_magic_nextpack    CPerlObj::Perl_magic_nextpack
-#define Perl_magic_regdata_cnt CPerlObj::Perl_magic_regdata_cnt
-#define Perl_magic_regdatum_get        CPerlObj::Perl_magic_regdatum_get
-#define Perl_magic_set         CPerlObj::Perl_magic_set
-#define Perl_magic_set_all_env CPerlObj::Perl_magic_set_all_env
-#define Perl_magic_setamagic   CPerlObj::Perl_magic_setamagic
-#define Perl_magic_setarylen   CPerlObj::Perl_magic_setarylen
-#define Perl_magic_setbm       CPerlObj::Perl_magic_setbm
-#define Perl_magic_setcollxfrm CPerlObj::Perl_magic_setcollxfrm
-#define Perl_magic_setdbline   CPerlObj::Perl_magic_setdbline
-#define Perl_magic_setdefelem  CPerlObj::Perl_magic_setdefelem
-#define Perl_magic_setenv      CPerlObj::Perl_magic_setenv
-#define Perl_magic_setfm       CPerlObj::Perl_magic_setfm
-#define Perl_magic_setglob     CPerlObj::Perl_magic_setglob
-#define Perl_magic_setisa      CPerlObj::Perl_magic_setisa
-#define Perl_magic_setmglob    CPerlObj::Perl_magic_setmglob
-#define Perl_magic_setnkeys    CPerlObj::Perl_magic_setnkeys
-#define Perl_magic_setpack     CPerlObj::Perl_magic_setpack
-#define Perl_magic_setpos      CPerlObj::Perl_magic_setpos
-#define Perl_magic_setsig      CPerlObj::Perl_magic_setsig
-#define Perl_magic_setsubstr   CPerlObj::Perl_magic_setsubstr
-#define Perl_magic_settaint    CPerlObj::Perl_magic_settaint
-#define Perl_magic_setuvar     CPerlObj::Perl_magic_setuvar
-#define Perl_magic_setvec      CPerlObj::Perl_magic_setvec
-#define Perl_magic_sizepack    CPerlObj::Perl_magic_sizepack
-#define Perl_magic_wipepack    CPerlObj::Perl_magic_wipepack
-#define Perl_magicname         CPerlObj::Perl_magicname
-#define Perl_malloced_size     CPerlObj::Perl_malloced_size
-#define Perl_markstack_grow    CPerlObj::Perl_markstack_grow
-#define Perl_mem_collxfrm      CPerlObj::Perl_mem_collxfrm
-#define Perl_mess              CPerlObj::Perl_mess
-#define Perl_mg_clear          CPerlObj::Perl_mg_clear
-#define Perl_mg_copy           CPerlObj::Perl_mg_copy
-#define Perl_mg_find           CPerlObj::Perl_mg_find
-#define Perl_mg_free           CPerlObj::Perl_mg_free
-#define Perl_mg_get            CPerlObj::Perl_mg_get
-#define Perl_mg_length         CPerlObj::Perl_mg_length
-#define Perl_mg_magical                CPerlObj::Perl_mg_magical
-#define Perl_mg_set            CPerlObj::Perl_mg_set
-#define Perl_mg_size           CPerlObj::Perl_mg_size
-#define Perl_mod               CPerlObj::Perl_mod
-#define Perl_moreswitches      CPerlObj::Perl_moreswitches
-#define Perl_my                        CPerlObj::Perl_my
-#define Perl_my_bcopy          CPerlObj::Perl_my_bcopy
-#define Perl_my_bzero          CPerlObj::Perl_my_bzero
-#define Perl_my_chsize         CPerlObj::Perl_my_chsize
-#define Perl_my_exit           CPerlObj::Perl_my_exit
-#define Perl_my_failure_exit   CPerlObj::Perl_my_failure_exit
-#define Perl_my_fflush_all     CPerlObj::Perl_my_fflush_all
-#define Perl_my_htonl          CPerlObj::Perl_my_htonl
-#define Perl_my_lstat          CPerlObj::Perl_my_lstat
-#define Perl_my_memcmp         CPerlObj::Perl_my_memcmp
-#define Perl_my_memset         CPerlObj::Perl_my_memset
-#define Perl_my_ntohl          CPerlObj::Perl_my_ntohl
-#define Perl_my_pclose         CPerlObj::Perl_my_pclose
-#define Perl_my_popen          CPerlObj::Perl_my_popen
-#define Perl_my_setenv         CPerlObj::Perl_my_setenv
-#define Perl_my_stat           CPerlObj::Perl_my_stat
-#define Perl_my_swap           CPerlObj::Perl_my_swap
-#define Perl_my_unexec         CPerlObj::Perl_my_unexec
-#define Perl_newANONHASH       CPerlObj::Perl_newANONHASH
-#define Perl_newANONLIST       CPerlObj::Perl_newANONLIST
-#define Perl_newANONSUB                CPerlObj::Perl_newANONSUB
-#define Perl_newASSIGNOP       CPerlObj::Perl_newASSIGNOP
-#define Perl_newAV             CPerlObj::Perl_newAV
-#define Perl_newAVREF          CPerlObj::Perl_newAVREF
-#define Perl_newBINOP          CPerlObj::Perl_newBINOP
-#define Perl_newCONDOP         CPerlObj::Perl_newCONDOP
-#define Perl_newCONSTSUB       CPerlObj::Perl_newCONSTSUB
-#define Perl_newCVREF          CPerlObj::Perl_newCVREF
-#define Perl_newFORM           CPerlObj::Perl_newFORM
-#define Perl_newFOROP          CPerlObj::Perl_newFOROP
-#define Perl_newGVOP           CPerlObj::Perl_newGVOP
-#define Perl_newGVREF          CPerlObj::Perl_newGVREF
-#define Perl_newGVgen          CPerlObj::Perl_newGVgen
-#define Perl_newHV             CPerlObj::Perl_newHV
-#define Perl_newHVREF          CPerlObj::Perl_newHVREF
-#define Perl_newHVhv           CPerlObj::Perl_newHVhv
-#define Perl_newIO             CPerlObj::Perl_newIO
-#define Perl_newLISTOP         CPerlObj::Perl_newLISTOP
-#define Perl_newLOGOP          CPerlObj::Perl_newLOGOP
-#define Perl_newLOOPEX         CPerlObj::Perl_newLOOPEX
-#define Perl_newLOOPOP         CPerlObj::Perl_newLOOPOP
-#define Perl_newNULLLIST       CPerlObj::Perl_newNULLLIST
-#define Perl_newOP             CPerlObj::Perl_newOP
-#define Perl_newPMOP           CPerlObj::Perl_newPMOP
-#define Perl_newPROG           CPerlObj::Perl_newPROG
-#define Perl_newPVOP           CPerlObj::Perl_newPVOP
-#define Perl_newRANGE          CPerlObj::Perl_newRANGE
-#define Perl_newRV             CPerlObj::Perl_newRV
-#define Perl_newRV_noinc       CPerlObj::Perl_newRV_noinc
-#define Perl_newSLICEOP                CPerlObj::Perl_newSLICEOP
-#define Perl_newSTATEOP                CPerlObj::Perl_newSTATEOP
-#define Perl_newSUB            CPerlObj::Perl_newSUB
-#define Perl_newSV             CPerlObj::Perl_newSV
-#define Perl_newSVOP           CPerlObj::Perl_newSVOP
-#define Perl_newSVREF          CPerlObj::Perl_newSVREF
-#define Perl_newSViv           CPerlObj::Perl_newSViv
-#define Perl_newSVnv           CPerlObj::Perl_newSVnv
-#define Perl_newSVpv           CPerlObj::Perl_newSVpv
-#define Perl_newSVpvf          CPerlObj::Perl_newSVpvf
-#define Perl_newSVpvn          CPerlObj::Perl_newSVpvn
-#define Perl_newSVrv           CPerlObj::Perl_newSVrv
-#define Perl_newSVsv           CPerlObj::Perl_newSVsv
-#define Perl_newUNOP           CPerlObj::Perl_newUNOP
-#define Perl_newWHILEOP                CPerlObj::Perl_newWHILEOP
-#define Perl_newXS             CPerlObj::Perl_newXS
-#define Perl_new_collate       CPerlObj::Perl_new_collate
-#define Perl_new_ctype         CPerlObj::Perl_new_ctype
-#define Perl_new_numeric       CPerlObj::Perl_new_numeric
-#define Perl_new_stackinfo     CPerlObj::Perl_new_stackinfo
-#define Perl_new_struct_thread CPerlObj::Perl_new_struct_thread
-#define Perl_nextargv          CPerlObj::Perl_nextargv
-#define Perl_ninstr            CPerlObj::Perl_ninstr
-#define Perl_oopsAV            CPerlObj::Perl_oopsAV
-#define Perl_oopsCV            CPerlObj::Perl_oopsCV
-#define Perl_oopsHV            CPerlObj::Perl_oopsHV
-#define Perl_op_const_sv       CPerlObj::Perl_op_const_sv
-#define Perl_op_dump           CPerlObj::Perl_op_dump
-#define Perl_op_free           CPerlObj::Perl_op_free
-#define Perl_package           CPerlObj::Perl_package
-#define Perl_pad_alloc         CPerlObj::Perl_pad_alloc
-#define Perl_pad_allocmy       CPerlObj::Perl_pad_allocmy
-#define Perl_pad_findmy                CPerlObj::Perl_pad_findmy
-#define Perl_pad_free          CPerlObj::Perl_pad_free
-#define Perl_pad_leavemy       CPerlObj::Perl_pad_leavemy
-#define Perl_pad_reset         CPerlObj::Perl_pad_reset
-#define Perl_pad_sv            CPerlObj::Perl_pad_sv
-#define Perl_pad_swipe         CPerlObj::Perl_pad_swipe
-#define Perl_peep              CPerlObj::Perl_peep
-#define Perl_pidgone           CPerlObj::Perl_pidgone
-#define Perl_pmflag            CPerlObj::Perl_pmflag
-#define Perl_pmop_dump         CPerlObj::Perl_pmop_dump
-#define Perl_pmruntime         CPerlObj::Perl_pmruntime
-#define Perl_pmtrans           CPerlObj::Perl_pmtrans
-#define Perl_pop_return                CPerlObj::Perl_pop_return
-#define Perl_pop_scope         CPerlObj::Perl_pop_scope
-#define Perl_pp_aassign                CPerlObj::Perl_pp_aassign
-#define Perl_pp_abs            CPerlObj::Perl_pp_abs
-#define Perl_pp_accept         CPerlObj::Perl_pp_accept
-#define Perl_pp_add            CPerlObj::Perl_pp_add
-#define Perl_pp_aelem          CPerlObj::Perl_pp_aelem
-#define Perl_pp_aelemfast      CPerlObj::Perl_pp_aelemfast
-#define Perl_pp_alarm          CPerlObj::Perl_pp_alarm
-#define Perl_pp_and            CPerlObj::Perl_pp_and
-#define Perl_pp_andassign      CPerlObj::Perl_pp_andassign
-#define Perl_pp_anoncode       CPerlObj::Perl_pp_anoncode
-#define Perl_pp_anonhash       CPerlObj::Perl_pp_anonhash
-#define Perl_pp_anonlist       CPerlObj::Perl_pp_anonlist
-#define Perl_pp_aslice         CPerlObj::Perl_pp_aslice
-#define Perl_pp_atan2          CPerlObj::Perl_pp_atan2
-#define Perl_pp_av2arylen      CPerlObj::Perl_pp_av2arylen
-#define Perl_pp_backtick       CPerlObj::Perl_pp_backtick
-#define Perl_pp_bind           CPerlObj::Perl_pp_bind
-#define Perl_pp_binmode                CPerlObj::Perl_pp_binmode
-#define Perl_pp_bit_and                CPerlObj::Perl_pp_bit_and
-#define Perl_pp_bit_or         CPerlObj::Perl_pp_bit_or
-#define Perl_pp_bit_xor                CPerlObj::Perl_pp_bit_xor
-#define Perl_pp_bless          CPerlObj::Perl_pp_bless
-#define Perl_pp_caller         CPerlObj::Perl_pp_caller
-#define Perl_pp_chdir          CPerlObj::Perl_pp_chdir
-#define Perl_pp_chmod          CPerlObj::Perl_pp_chmod
-#define Perl_pp_chomp          CPerlObj::Perl_pp_chomp
-#define Perl_pp_chop           CPerlObj::Perl_pp_chop
-#define Perl_pp_chown          CPerlObj::Perl_pp_chown
-#define Perl_pp_chr            CPerlObj::Perl_pp_chr
-#define Perl_pp_chroot         CPerlObj::Perl_pp_chroot
-#define Perl_pp_close          CPerlObj::Perl_pp_close
-#define Perl_pp_closedir       CPerlObj::Perl_pp_closedir
-#define Perl_pp_complement     CPerlObj::Perl_pp_complement
-#define Perl_pp_concat         CPerlObj::Perl_pp_concat
-#define Perl_pp_cond_expr      CPerlObj::Perl_pp_cond_expr
-#define Perl_pp_connect                CPerlObj::Perl_pp_connect
-#define Perl_pp_const          CPerlObj::Perl_pp_const
-#define Perl_pp_cos            CPerlObj::Perl_pp_cos
-#define Perl_pp_crypt          CPerlObj::Perl_pp_crypt
-#define Perl_pp_dbmclose       CPerlObj::Perl_pp_dbmclose
-#define Perl_pp_dbmopen                CPerlObj::Perl_pp_dbmopen
-#define Perl_pp_dbstate                CPerlObj::Perl_pp_dbstate
-#define Perl_pp_defined                CPerlObj::Perl_pp_defined
-#define Perl_pp_delete         CPerlObj::Perl_pp_delete
-#define Perl_pp_die            CPerlObj::Perl_pp_die
-#define Perl_pp_divide         CPerlObj::Perl_pp_divide
-#define Perl_pp_dofile         CPerlObj::Perl_pp_dofile
-#define Perl_pp_dump           CPerlObj::Perl_pp_dump
-#define Perl_pp_each           CPerlObj::Perl_pp_each
-#define Perl_pp_egrent         CPerlObj::Perl_pp_egrent
-#define Perl_pp_ehostent       CPerlObj::Perl_pp_ehostent
-#define Perl_pp_enetent                CPerlObj::Perl_pp_enetent
-#define Perl_pp_enter          CPerlObj::Perl_pp_enter
-#define Perl_pp_entereval      CPerlObj::Perl_pp_entereval
-#define Perl_pp_enteriter      CPerlObj::Perl_pp_enteriter
-#define Perl_pp_enterloop      CPerlObj::Perl_pp_enterloop
-#define Perl_pp_entersub       CPerlObj::Perl_pp_entersub
-#define Perl_pp_entertry       CPerlObj::Perl_pp_entertry
-#define Perl_pp_enterwrite     CPerlObj::Perl_pp_enterwrite
-#define Perl_pp_eof            CPerlObj::Perl_pp_eof
-#define Perl_pp_eprotoent      CPerlObj::Perl_pp_eprotoent
-#define Perl_pp_epwent         CPerlObj::Perl_pp_epwent
-#define Perl_pp_eq             CPerlObj::Perl_pp_eq
-#define Perl_pp_eservent       CPerlObj::Perl_pp_eservent
-#define Perl_pp_exec           CPerlObj::Perl_pp_exec
-#define Perl_pp_exists         CPerlObj::Perl_pp_exists
-#define Perl_pp_exit           CPerlObj::Perl_pp_exit
-#define Perl_pp_exp            CPerlObj::Perl_pp_exp
-#define Perl_pp_fcntl          CPerlObj::Perl_pp_fcntl
-#define Perl_pp_fileno         CPerlObj::Perl_pp_fileno
-#define Perl_pp_flip           CPerlObj::Perl_pp_flip
-#define Perl_pp_flock          CPerlObj::Perl_pp_flock
-#define Perl_pp_flop           CPerlObj::Perl_pp_flop
-#define Perl_pp_fork           CPerlObj::Perl_pp_fork
-#define Perl_pp_formline       CPerlObj::Perl_pp_formline
-#define Perl_pp_ftatime                CPerlObj::Perl_pp_ftatime
-#define Perl_pp_ftbinary       CPerlObj::Perl_pp_ftbinary
-#define Perl_pp_ftblk          CPerlObj::Perl_pp_ftblk
-#define Perl_pp_ftchr          CPerlObj::Perl_pp_ftchr
-#define Perl_pp_ftctime                CPerlObj::Perl_pp_ftctime
-#define Perl_pp_ftdir          CPerlObj::Perl_pp_ftdir
-#define Perl_pp_fteexec                CPerlObj::Perl_pp_fteexec
-#define Perl_pp_fteowned       CPerlObj::Perl_pp_fteowned
-#define Perl_pp_fteread                CPerlObj::Perl_pp_fteread
-#define Perl_pp_ftewrite       CPerlObj::Perl_pp_ftewrite
-#define Perl_pp_ftfile         CPerlObj::Perl_pp_ftfile
-#define Perl_pp_ftis           CPerlObj::Perl_pp_ftis
-#define Perl_pp_ftlink         CPerlObj::Perl_pp_ftlink
-#define Perl_pp_ftmtime                CPerlObj::Perl_pp_ftmtime
-#define Perl_pp_ftpipe         CPerlObj::Perl_pp_ftpipe
-#define Perl_pp_ftrexec                CPerlObj::Perl_pp_ftrexec
-#define Perl_pp_ftrowned       CPerlObj::Perl_pp_ftrowned
-#define Perl_pp_ftrread                CPerlObj::Perl_pp_ftrread
-#define Perl_pp_ftrwrite       CPerlObj::Perl_pp_ftrwrite
-#define Perl_pp_ftsgid         CPerlObj::Perl_pp_ftsgid
-#define Perl_pp_ftsize         CPerlObj::Perl_pp_ftsize
-#define Perl_pp_ftsock         CPerlObj::Perl_pp_ftsock
-#define Perl_pp_ftsuid         CPerlObj::Perl_pp_ftsuid
-#define Perl_pp_ftsvtx         CPerlObj::Perl_pp_ftsvtx
-#define Perl_pp_fttext         CPerlObj::Perl_pp_fttext
-#define Perl_pp_fttty          CPerlObj::Perl_pp_fttty
-#define Perl_pp_ftzero         CPerlObj::Perl_pp_ftzero
-#define Perl_pp_ge             CPerlObj::Perl_pp_ge
-#define Perl_pp_gelem          CPerlObj::Perl_pp_gelem
-#define Perl_pp_getc           CPerlObj::Perl_pp_getc
-#define Perl_pp_getlogin       CPerlObj::Perl_pp_getlogin
-#define Perl_pp_getpeername    CPerlObj::Perl_pp_getpeername
-#define Perl_pp_getpgrp                CPerlObj::Perl_pp_getpgrp
-#define Perl_pp_getppid                CPerlObj::Perl_pp_getppid
-#define Perl_pp_getpriority    CPerlObj::Perl_pp_getpriority
-#define Perl_pp_getsockname    CPerlObj::Perl_pp_getsockname
-#define Perl_pp_ggrent         CPerlObj::Perl_pp_ggrent
-#define Perl_pp_ggrgid         CPerlObj::Perl_pp_ggrgid
-#define Perl_pp_ggrnam         CPerlObj::Perl_pp_ggrnam
-#define Perl_pp_ghbyaddr       CPerlObj::Perl_pp_ghbyaddr
-#define Perl_pp_ghbyname       CPerlObj::Perl_pp_ghbyname
-#define Perl_pp_ghostent       CPerlObj::Perl_pp_ghostent
-#define Perl_pp_glob           CPerlObj::Perl_pp_glob
-#define Perl_pp_gmtime         CPerlObj::Perl_pp_gmtime
-#define Perl_pp_gnbyaddr       CPerlObj::Perl_pp_gnbyaddr
-#define Perl_pp_gnbyname       CPerlObj::Perl_pp_gnbyname
-#define Perl_pp_gnetent                CPerlObj::Perl_pp_gnetent
-#define Perl_pp_goto           CPerlObj::Perl_pp_goto
-#define Perl_pp_gpbyname       CPerlObj::Perl_pp_gpbyname
-#define Perl_pp_gpbynumber     CPerlObj::Perl_pp_gpbynumber
-#define Perl_pp_gprotoent      CPerlObj::Perl_pp_gprotoent
-#define Perl_pp_gpwent         CPerlObj::Perl_pp_gpwent
-#define Perl_pp_gpwnam         CPerlObj::Perl_pp_gpwnam
-#define Perl_pp_gpwuid         CPerlObj::Perl_pp_gpwuid
-#define Perl_pp_grepstart      CPerlObj::Perl_pp_grepstart
-#define Perl_pp_grepwhile      CPerlObj::Perl_pp_grepwhile
-#define Perl_pp_gsbyname       CPerlObj::Perl_pp_gsbyname
-#define Perl_pp_gsbyport       CPerlObj::Perl_pp_gsbyport
-#define Perl_pp_gservent       CPerlObj::Perl_pp_gservent
-#define Perl_pp_gsockopt       CPerlObj::Perl_pp_gsockopt
-#define Perl_pp_gt             CPerlObj::Perl_pp_gt
-#define Perl_pp_gv             CPerlObj::Perl_pp_gv
-#define Perl_pp_gvsv           CPerlObj::Perl_pp_gvsv
-#define Perl_pp_helem          CPerlObj::Perl_pp_helem
-#define Perl_pp_hex            CPerlObj::Perl_pp_hex
-#define Perl_pp_hslice         CPerlObj::Perl_pp_hslice
-#define Perl_pp_i_add          CPerlObj::Perl_pp_i_add
-#define Perl_pp_i_divide       CPerlObj::Perl_pp_i_divide
-#define Perl_pp_i_eq           CPerlObj::Perl_pp_i_eq
-#define Perl_pp_i_ge           CPerlObj::Perl_pp_i_ge
-#define Perl_pp_i_gt           CPerlObj::Perl_pp_i_gt
-#define Perl_pp_i_le           CPerlObj::Perl_pp_i_le
-#define Perl_pp_i_lt           CPerlObj::Perl_pp_i_lt
-#define Perl_pp_i_modulo       CPerlObj::Perl_pp_i_modulo
-#define Perl_pp_i_multiply     CPerlObj::Perl_pp_i_multiply
-#define Perl_pp_i_ncmp         CPerlObj::Perl_pp_i_ncmp
-#define Perl_pp_i_ne           CPerlObj::Perl_pp_i_ne
-#define Perl_pp_i_negate       CPerlObj::Perl_pp_i_negate
-#define Perl_pp_i_subtract     CPerlObj::Perl_pp_i_subtract
-#define Perl_pp_index          CPerlObj::Perl_pp_index
-#define Perl_pp_int            CPerlObj::Perl_pp_int
-#define Perl_pp_ioctl          CPerlObj::Perl_pp_ioctl
-#define Perl_pp_iter           CPerlObj::Perl_pp_iter
-#define Perl_pp_join           CPerlObj::Perl_pp_join
-#define Perl_pp_keys           CPerlObj::Perl_pp_keys
-#define Perl_pp_kill           CPerlObj::Perl_pp_kill
-#define Perl_pp_last           CPerlObj::Perl_pp_last
-#define Perl_pp_lc             CPerlObj::Perl_pp_lc
-#define Perl_pp_lcfirst                CPerlObj::Perl_pp_lcfirst
-#define Perl_pp_le             CPerlObj::Perl_pp_le
-#define Perl_pp_leave          CPerlObj::Perl_pp_leave
-#define Perl_pp_leaveeval      CPerlObj::Perl_pp_leaveeval
-#define Perl_pp_leaveloop      CPerlObj::Perl_pp_leaveloop
-#define Perl_pp_leavesub       CPerlObj::Perl_pp_leavesub
-#define Perl_pp_leavetry       CPerlObj::Perl_pp_leavetry
-#define Perl_pp_leavewrite     CPerlObj::Perl_pp_leavewrite
-#define Perl_pp_left_shift     CPerlObj::Perl_pp_left_shift
-#define Perl_pp_length         CPerlObj::Perl_pp_length
-#define Perl_pp_lineseq                CPerlObj::Perl_pp_lineseq
-#define Perl_pp_link           CPerlObj::Perl_pp_link
-#define Perl_pp_list           CPerlObj::Perl_pp_list
-#define Perl_pp_listen         CPerlObj::Perl_pp_listen
-#define Perl_pp_localtime      CPerlObj::Perl_pp_localtime
-#define Perl_pp_lock           CPerlObj::Perl_pp_lock
-#define Perl_pp_log            CPerlObj::Perl_pp_log
-#define Perl_pp_lslice         CPerlObj::Perl_pp_lslice
-#define Perl_pp_lstat          CPerlObj::Perl_pp_lstat
-#define Perl_pp_lt             CPerlObj::Perl_pp_lt
-#define Perl_pp_mapstart       CPerlObj::Perl_pp_mapstart
-#define Perl_pp_mapwhile       CPerlObj::Perl_pp_mapwhile
-#define Perl_pp_match          CPerlObj::Perl_pp_match
-#define Perl_pp_method         CPerlObj::Perl_pp_method
-#define Perl_pp_mkdir          CPerlObj::Perl_pp_mkdir
-#define Perl_pp_modulo         CPerlObj::Perl_pp_modulo
-#define Perl_pp_msgctl         CPerlObj::Perl_pp_msgctl
-#define Perl_pp_msgget         CPerlObj::Perl_pp_msgget
-#define Perl_pp_msgrcv         CPerlObj::Perl_pp_msgrcv
-#define Perl_pp_msgsnd         CPerlObj::Perl_pp_msgsnd
-#define Perl_pp_multiply       CPerlObj::Perl_pp_multiply
-#define Perl_pp_ncmp           CPerlObj::Perl_pp_ncmp
-#define Perl_pp_ne             CPerlObj::Perl_pp_ne
-#define Perl_pp_negate         CPerlObj::Perl_pp_negate
-#define Perl_pp_next           CPerlObj::Perl_pp_next
-#define Perl_pp_nextstate      CPerlObj::Perl_pp_nextstate
-#define Perl_pp_not            CPerlObj::Perl_pp_not
-#define Perl_pp_null           CPerlObj::Perl_pp_null
-#define Perl_pp_oct            CPerlObj::Perl_pp_oct
-#define Perl_pp_open           CPerlObj::Perl_pp_open
-#define Perl_pp_open_dir       CPerlObj::Perl_pp_open_dir
-#define Perl_pp_or             CPerlObj::Perl_pp_or
-#define Perl_pp_orassign       CPerlObj::Perl_pp_orassign
-#define Perl_pp_ord            CPerlObj::Perl_pp_ord
-#define Perl_pp_pack           CPerlObj::Perl_pp_pack
-#define Perl_pp_padany         CPerlObj::Perl_pp_padany
-#define Perl_pp_padav          CPerlObj::Perl_pp_padav
-#define Perl_pp_padhv          CPerlObj::Perl_pp_padhv
-#define Perl_pp_padsv          CPerlObj::Perl_pp_padsv
-#define Perl_pp_pipe_op                CPerlObj::Perl_pp_pipe_op
-#define Perl_pp_pop            CPerlObj::Perl_pp_pop
-#define Perl_pp_pos            CPerlObj::Perl_pp_pos
-#define Perl_pp_postdec                CPerlObj::Perl_pp_postdec
-#define Perl_pp_postinc                CPerlObj::Perl_pp_postinc
-#define Perl_pp_pow            CPerlObj::Perl_pp_pow
-#define Perl_pp_predec         CPerlObj::Perl_pp_predec
-#define Perl_pp_preinc         CPerlObj::Perl_pp_preinc
-#define Perl_pp_print          CPerlObj::Perl_pp_print
-#define Perl_pp_prototype      CPerlObj::Perl_pp_prototype
-#define Perl_pp_prtf           CPerlObj::Perl_pp_prtf
-#define Perl_pp_push           CPerlObj::Perl_pp_push
-#define Perl_pp_pushmark       CPerlObj::Perl_pp_pushmark
-#define Perl_pp_pushre         CPerlObj::Perl_pp_pushre
-#define Perl_pp_qr             CPerlObj::Perl_pp_qr
-#define Perl_pp_quotemeta      CPerlObj::Perl_pp_quotemeta
-#define Perl_pp_rand           CPerlObj::Perl_pp_rand
-#define Perl_pp_range          CPerlObj::Perl_pp_range
-#define Perl_pp_rcatline       CPerlObj::Perl_pp_rcatline
-#define Perl_pp_read           CPerlObj::Perl_pp_read
-#define Perl_pp_readdir                CPerlObj::Perl_pp_readdir
-#define Perl_pp_readline       CPerlObj::Perl_pp_readline
-#define Perl_pp_readlink       CPerlObj::Perl_pp_readlink
-#define Perl_pp_recv           CPerlObj::Perl_pp_recv
-#define Perl_pp_redo           CPerlObj::Perl_pp_redo
-#define Perl_pp_ref            CPerlObj::Perl_pp_ref
-#define Perl_pp_refgen         CPerlObj::Perl_pp_refgen
-#define Perl_pp_regcmaybe      CPerlObj::Perl_pp_regcmaybe
-#define Perl_pp_regcomp                CPerlObj::Perl_pp_regcomp
-#define Perl_pp_regcreset      CPerlObj::Perl_pp_regcreset
-#define Perl_pp_rename         CPerlObj::Perl_pp_rename
-#define Perl_pp_repeat         CPerlObj::Perl_pp_repeat
-#define Perl_pp_require                CPerlObj::Perl_pp_require
-#define Perl_pp_reset          CPerlObj::Perl_pp_reset
-#define Perl_pp_return         CPerlObj::Perl_pp_return
-#define Perl_pp_reverse                CPerlObj::Perl_pp_reverse
-#define Perl_pp_rewinddir      CPerlObj::Perl_pp_rewinddir
-#define Perl_pp_right_shift    CPerlObj::Perl_pp_right_shift
-#define Perl_pp_rindex         CPerlObj::Perl_pp_rindex
-#define Perl_pp_rmdir          CPerlObj::Perl_pp_rmdir
-#define Perl_pp_rv2av          CPerlObj::Perl_pp_rv2av
-#define Perl_pp_rv2cv          CPerlObj::Perl_pp_rv2cv
-#define Perl_pp_rv2gv          CPerlObj::Perl_pp_rv2gv
-#define Perl_pp_rv2hv          CPerlObj::Perl_pp_rv2hv
-#define Perl_pp_rv2sv          CPerlObj::Perl_pp_rv2sv
-#define Perl_pp_sassign                CPerlObj::Perl_pp_sassign
-#define Perl_pp_scalar         CPerlObj::Perl_pp_scalar
-#define Perl_pp_schomp         CPerlObj::Perl_pp_schomp
-#define Perl_pp_schop          CPerlObj::Perl_pp_schop
-#define Perl_pp_scmp           CPerlObj::Perl_pp_scmp
-#define Perl_pp_scope          CPerlObj::Perl_pp_scope
-#define Perl_pp_seek           CPerlObj::Perl_pp_seek
-#define Perl_pp_seekdir                CPerlObj::Perl_pp_seekdir
-#define Perl_pp_select         CPerlObj::Perl_pp_select
-#define Perl_pp_semctl         CPerlObj::Perl_pp_semctl
-#define Perl_pp_semget         CPerlObj::Perl_pp_semget
-#define Perl_pp_semop          CPerlObj::Perl_pp_semop
-#define Perl_pp_send           CPerlObj::Perl_pp_send
-#define Perl_pp_seq            CPerlObj::Perl_pp_seq
-#define Perl_pp_setpgrp                CPerlObj::Perl_pp_setpgrp
-#define Perl_pp_setpriority    CPerlObj::Perl_pp_setpriority
-#define Perl_pp_sge            CPerlObj::Perl_pp_sge
-#define Perl_pp_sgrent         CPerlObj::Perl_pp_sgrent
-#define Perl_pp_sgt            CPerlObj::Perl_pp_sgt
-#define Perl_pp_shift          CPerlObj::Perl_pp_shift
-#define Perl_pp_shmctl         CPerlObj::Perl_pp_shmctl
-#define Perl_pp_shmget         CPerlObj::Perl_pp_shmget
-#define Perl_pp_shmread                CPerlObj::Perl_pp_shmread
-#define Perl_pp_shmwrite       CPerlObj::Perl_pp_shmwrite
-#define Perl_pp_shostent       CPerlObj::Perl_pp_shostent
-#define Perl_pp_shutdown       CPerlObj::Perl_pp_shutdown
-#define Perl_pp_sin            CPerlObj::Perl_pp_sin
-#define Perl_pp_sle            CPerlObj::Perl_pp_sle
-#define Perl_pp_sleep          CPerlObj::Perl_pp_sleep
-#define Perl_pp_slt            CPerlObj::Perl_pp_slt
-#define Perl_pp_sne            CPerlObj::Perl_pp_sne
-#define Perl_pp_snetent                CPerlObj::Perl_pp_snetent
-#define Perl_pp_socket         CPerlObj::Perl_pp_socket
-#define Perl_pp_sockpair       CPerlObj::Perl_pp_sockpair
-#define Perl_pp_sort           CPerlObj::Perl_pp_sort
-#define Perl_pp_splice         CPerlObj::Perl_pp_splice
-#define Perl_pp_split          CPerlObj::Perl_pp_split
-#define Perl_pp_sprintf                CPerlObj::Perl_pp_sprintf
-#define Perl_pp_sprotoent      CPerlObj::Perl_pp_sprotoent
-#define Perl_pp_spwent         CPerlObj::Perl_pp_spwent
-#define Perl_pp_sqrt           CPerlObj::Perl_pp_sqrt
-#define Perl_pp_srand          CPerlObj::Perl_pp_srand
-#define Perl_pp_srefgen                CPerlObj::Perl_pp_srefgen
-#define Perl_pp_sselect                CPerlObj::Perl_pp_sselect
-#define Perl_pp_sservent       CPerlObj::Perl_pp_sservent
-#define Perl_pp_ssockopt       CPerlObj::Perl_pp_ssockopt
-#define Perl_pp_stat           CPerlObj::Perl_pp_stat
-#define Perl_pp_stringify      CPerlObj::Perl_pp_stringify
-#define Perl_pp_stub           CPerlObj::Perl_pp_stub
-#define Perl_pp_study          CPerlObj::Perl_pp_study
-#define Perl_pp_subst          CPerlObj::Perl_pp_subst
-#define Perl_pp_substcont      CPerlObj::Perl_pp_substcont
-#define Perl_pp_substr         CPerlObj::Perl_pp_substr
-#define Perl_pp_subtract       CPerlObj::Perl_pp_subtract
-#define Perl_pp_symlink                CPerlObj::Perl_pp_symlink
-#define Perl_pp_syscall                CPerlObj::Perl_pp_syscall
-#define Perl_pp_sysopen                CPerlObj::Perl_pp_sysopen
-#define Perl_pp_sysread                CPerlObj::Perl_pp_sysread
-#define Perl_pp_sysseek                CPerlObj::Perl_pp_sysseek
-#define Perl_pp_system         CPerlObj::Perl_pp_system
-#define Perl_pp_syswrite       CPerlObj::Perl_pp_syswrite
-#define Perl_pp_tell           CPerlObj::Perl_pp_tell
-#define Perl_pp_telldir                CPerlObj::Perl_pp_telldir
-#define Perl_pp_threadsv       CPerlObj::Perl_pp_threadsv
-#define Perl_pp_tie            CPerlObj::Perl_pp_tie
-#define Perl_pp_tied           CPerlObj::Perl_pp_tied
-#define Perl_pp_time           CPerlObj::Perl_pp_time
-#define Perl_pp_tms            CPerlObj::Perl_pp_tms
-#define Perl_pp_trans          CPerlObj::Perl_pp_trans
-#define Perl_pp_truncate       CPerlObj::Perl_pp_truncate
-#define Perl_pp_uc             CPerlObj::Perl_pp_uc
-#define Perl_pp_ucfirst                CPerlObj::Perl_pp_ucfirst
-#define Perl_pp_umask          CPerlObj::Perl_pp_umask
-#define Perl_pp_undef          CPerlObj::Perl_pp_undef
-#define Perl_pp_unlink         CPerlObj::Perl_pp_unlink
-#define Perl_pp_unpack         CPerlObj::Perl_pp_unpack
-#define Perl_pp_unshift                CPerlObj::Perl_pp_unshift
-#define Perl_pp_unstack                CPerlObj::Perl_pp_unstack
-#define Perl_pp_untie          CPerlObj::Perl_pp_untie
-#define Perl_pp_utime          CPerlObj::Perl_pp_utime
-#define Perl_pp_values         CPerlObj::Perl_pp_values
-#define Perl_pp_vec            CPerlObj::Perl_pp_vec
-#define Perl_pp_wait           CPerlObj::Perl_pp_wait
-#define Perl_pp_waitpid                CPerlObj::Perl_pp_waitpid
-#define Perl_pp_wantarray      CPerlObj::Perl_pp_wantarray
-#define Perl_pp_warn           CPerlObj::Perl_pp_warn
-#define Perl_pp_xor            CPerlObj::Perl_pp_xor
-#define Perl_pregcomp          CPerlObj::Perl_pregcomp
-#define Perl_pregexec          CPerlObj::Perl_pregexec
-#define Perl_pregfree          CPerlObj::Perl_pregfree
-#define Perl_prepend_elem      CPerlObj::Perl_prepend_elem
-#define Perl_push_return       CPerlObj::Perl_push_return
-#define Perl_push_scope                CPerlObj::Perl_push_scope
-#define Perl_pv_display                CPerlObj::Perl_pv_display
-#define Perl_ref               CPerlObj::Perl_ref
-#define Perl_refkids           CPerlObj::Perl_refkids
-#define Perl_regdump           CPerlObj::Perl_regdump
-#define Perl_regexec_flags     CPerlObj::Perl_regexec_flags
-#define Perl_reginitcolors     CPerlObj::Perl_reginitcolors
-#define Perl_regnext           CPerlObj::Perl_regnext
-#define Perl_regprop           CPerlObj::Perl_regprop
-#define Perl_repeatcpy         CPerlObj::Perl_repeatcpy
-#define Perl_require_pv                CPerlObj::Perl_require_pv
-#define Perl_rninstr           CPerlObj::Perl_rninstr
-#define Perl_rsignal           CPerlObj::Perl_rsignal
-#define Perl_rsignal_restore   CPerlObj::Perl_rsignal_restore
-#define Perl_rsignal_save      CPerlObj::Perl_rsignal_save
-#define Perl_rsignal_state     CPerlObj::Perl_rsignal_state
-#define Perl_runops_debug      CPerlObj::Perl_runops_debug
-#define Perl_runops_standard   CPerlObj::Perl_runops_standard
-#define Perl_rxres_free                CPerlObj::Perl_rxres_free
-#define Perl_rxres_restore     CPerlObj::Perl_rxres_restore
-#define Perl_rxres_save                CPerlObj::Perl_rxres_save
-#define Perl_safesyscalloc     CPerlObj::Perl_safesyscalloc
-#define Perl_safesysfree       CPerlObj::Perl_safesysfree
-#define Perl_safesysmalloc     CPerlObj::Perl_safesysmalloc
-#define Perl_safesysrealloc    CPerlObj::Perl_safesysrealloc
-#define Perl_safexcalloc       CPerlObj::Perl_safexcalloc
-#define Perl_safexfree         CPerlObj::Perl_safexfree
-#define Perl_safexmalloc       CPerlObj::Perl_safexmalloc
-#define Perl_safexrealloc      CPerlObj::Perl_safexrealloc
-#define Perl_same_dirent       CPerlObj::Perl_same_dirent
-#define Perl_save_I16          CPerlObj::Perl_save_I16
-#define Perl_save_I32          CPerlObj::Perl_save_I32
-#define Perl_save_aelem                CPerlObj::Perl_save_aelem
-#define Perl_save_alloc                CPerlObj::Perl_save_alloc
-#define Perl_save_aptr         CPerlObj::Perl_save_aptr
-#define Perl_save_ary          CPerlObj::Perl_save_ary
-#define Perl_save_clearsv      CPerlObj::Perl_save_clearsv
-#define Perl_save_delete       CPerlObj::Perl_save_delete
-#define Perl_save_destructor   CPerlObj::Perl_save_destructor
-#define Perl_save_freeop       CPerlObj::Perl_save_freeop
-#define Perl_save_freepv       CPerlObj::Perl_save_freepv
-#define Perl_save_freesv       CPerlObj::Perl_save_freesv
-#define Perl_save_generic_svref        CPerlObj::Perl_save_generic_svref
-#define Perl_save_gp           CPerlObj::Perl_save_gp
-#define Perl_save_hash         CPerlObj::Perl_save_hash
-#define Perl_save_helem                CPerlObj::Perl_save_helem
-#define Perl_save_hints                CPerlObj::Perl_save_hints
-#define Perl_save_hptr         CPerlObj::Perl_save_hptr
-#define Perl_save_int          CPerlObj::Perl_save_int
-#define Perl_save_item         CPerlObj::Perl_save_item
-#define Perl_save_iv           CPerlObj::Perl_save_iv
-#define Perl_save_list         CPerlObj::Perl_save_list
-#define Perl_save_long         CPerlObj::Perl_save_long
-#define Perl_save_nogv         CPerlObj::Perl_save_nogv
-#define Perl_save_op           CPerlObj::Perl_save_op
-#define Perl_save_pptr         CPerlObj::Perl_save_pptr
-#define Perl_save_re_context   CPerlObj::Perl_save_re_context
-#define Perl_save_scalar       CPerlObj::Perl_save_scalar
-#define Perl_save_sptr         CPerlObj::Perl_save_sptr
-#define Perl_save_svref                CPerlObj::Perl_save_svref
-#define Perl_save_threadsv     CPerlObj::Perl_save_threadsv
-#define Perl_savepv            CPerlObj::Perl_savepv
-#define Perl_savepvn           CPerlObj::Perl_savepvn
-#define Perl_savestack_grow    CPerlObj::Perl_savestack_grow
-#define Perl_sawparens         CPerlObj::Perl_sawparens
-#define Perl_scalar            CPerlObj::Perl_scalar
-#define Perl_scalarkids                CPerlObj::Perl_scalarkids
-#define Perl_scalarseq         CPerlObj::Perl_scalarseq
-#define Perl_scalarvoid                CPerlObj::Perl_scalarvoid
-#define Perl_scan_bin          CPerlObj::Perl_scan_bin
-#define Perl_scan_hex          CPerlObj::Perl_scan_hex
-#define Perl_scan_num          CPerlObj::Perl_scan_num
-#define Perl_scan_oct          CPerlObj::Perl_scan_oct
-#define Perl_scope             CPerlObj::Perl_scope
-#define Perl_screaminstr       CPerlObj::Perl_screaminstr
-#define Perl_set_numeric_local CPerlObj::Perl_set_numeric_local
-#define Perl_set_numeric_standard      CPerlObj::Perl_set_numeric_standard
-#define Perl_setdefout         CPerlObj::Perl_setdefout
-#define Perl_setenv_getix      CPerlObj::Perl_setenv_getix
-#define Perl_share_hek         CPerlObj::Perl_share_hek
-#define Perl_sharepvn          CPerlObj::Perl_sharepvn
-#define Perl_sighandler                CPerlObj::Perl_sighandler
-#define Perl_stack_grow                CPerlObj::Perl_stack_grow
-#define Perl_start_subparse    CPerlObj::Perl_start_subparse
-#define Perl_sub_crush_depth   CPerlObj::Perl_sub_crush_depth
-#define Perl_sv_2bool          CPerlObj::Perl_sv_2bool
-#define Perl_sv_2cv            CPerlObj::Perl_sv_2cv
-#define Perl_sv_2io            CPerlObj::Perl_sv_2io
-#define Perl_sv_2iv            CPerlObj::Perl_sv_2iv
-#define Perl_sv_2mortal                CPerlObj::Perl_sv_2mortal
-#define Perl_sv_2nv            CPerlObj::Perl_sv_2nv
-#define Perl_sv_2pv            CPerlObj::Perl_sv_2pv
-#define Perl_sv_2pv_nolen      CPerlObj::Perl_sv_2pv_nolen
-#define Perl_sv_2uv            CPerlObj::Perl_sv_2uv
-#define Perl_sv_add_arena      CPerlObj::Perl_sv_add_arena
-#define Perl_sv_backoff                CPerlObj::Perl_sv_backoff
-#define Perl_sv_bless          CPerlObj::Perl_sv_bless
-#define Perl_sv_catpv          CPerlObj::Perl_sv_catpv
-#define Perl_sv_catpv_mg       CPerlObj::Perl_sv_catpv_mg
-#define Perl_sv_catpvf         CPerlObj::Perl_sv_catpvf
-#define Perl_sv_catpvf_mg      CPerlObj::Perl_sv_catpvf_mg
-#define Perl_sv_catpvn         CPerlObj::Perl_sv_catpvn
-#define Perl_sv_catpvn_mg      CPerlObj::Perl_sv_catpvn_mg
-#define Perl_sv_catsv          CPerlObj::Perl_sv_catsv
-#define Perl_sv_catsv_mg       CPerlObj::Perl_sv_catsv_mg
-#define Perl_sv_chop           CPerlObj::Perl_sv_chop
-#define Perl_sv_clean_all      CPerlObj::Perl_sv_clean_all
-#define Perl_sv_clean_objs     CPerlObj::Perl_sv_clean_objs
-#define Perl_sv_clear          CPerlObj::Perl_sv_clear
-#define Perl_sv_cmp            CPerlObj::Perl_sv_cmp
-#define Perl_sv_cmp_locale     CPerlObj::Perl_sv_cmp_locale
-#define Perl_sv_collxfrm       CPerlObj::Perl_sv_collxfrm
-#define Perl_sv_compile_2op    CPerlObj::Perl_sv_compile_2op
-#define Perl_sv_dec            CPerlObj::Perl_sv_dec
-#define Perl_sv_derived_from   CPerlObj::Perl_sv_derived_from
-#define Perl_sv_dump           CPerlObj::Perl_sv_dump
-#define Perl_sv_eq             CPerlObj::Perl_sv_eq
-#define Perl_sv_force_normal   CPerlObj::Perl_sv_force_normal
-#define Perl_sv_free           CPerlObj::Perl_sv_free
-#define Perl_sv_free_arenas    CPerlObj::Perl_sv_free_arenas
-#define Perl_sv_gets           CPerlObj::Perl_sv_gets
-#define Perl_sv_grow           CPerlObj::Perl_sv_grow
-#define Perl_sv_inc            CPerlObj::Perl_sv_inc
-#define Perl_sv_insert         CPerlObj::Perl_sv_insert
-#define Perl_sv_isa            CPerlObj::Perl_sv_isa
-#define Perl_sv_isobject       CPerlObj::Perl_sv_isobject
-#define Perl_sv_iv             CPerlObj::Perl_sv_iv
-#define Perl_sv_len            CPerlObj::Perl_sv_len
-#define Perl_sv_len_utf8       CPerlObj::Perl_sv_len_utf8
-#define Perl_sv_magic          CPerlObj::Perl_sv_magic
-#define Perl_sv_mortalcopy     CPerlObj::Perl_sv_mortalcopy
-#define Perl_sv_newmortal      CPerlObj::Perl_sv_newmortal
-#define Perl_sv_newref         CPerlObj::Perl_sv_newref
-#define Perl_sv_nv             CPerlObj::Perl_sv_nv
-#define Perl_sv_peek           CPerlObj::Perl_sv_peek
-#define Perl_sv_pos_b2u                CPerlObj::Perl_sv_pos_b2u
-#define Perl_sv_pos_u2b                CPerlObj::Perl_sv_pos_u2b
-#define Perl_sv_pv             CPerlObj::Perl_sv_pv
-#define Perl_sv_pvn            CPerlObj::Perl_sv_pvn
-#define Perl_sv_pvn_force      CPerlObj::Perl_sv_pvn_force
-#define Perl_sv_reftype                CPerlObj::Perl_sv_reftype
-#define Perl_sv_replace                CPerlObj::Perl_sv_replace
-#define Perl_sv_report_used    CPerlObj::Perl_sv_report_used
-#define Perl_sv_reset          CPerlObj::Perl_sv_reset
-#define Perl_sv_rvweaken       CPerlObj::Perl_sv_rvweaken
-#define Perl_sv_setiv          CPerlObj::Perl_sv_setiv
-#define Perl_sv_setiv_mg       CPerlObj::Perl_sv_setiv_mg
-#define Perl_sv_setnv          CPerlObj::Perl_sv_setnv
-#define Perl_sv_setnv_mg       CPerlObj::Perl_sv_setnv_mg
-#define Perl_sv_setpv          CPerlObj::Perl_sv_setpv
-#define Perl_sv_setpv_mg       CPerlObj::Perl_sv_setpv_mg
-#define Perl_sv_setpvf         CPerlObj::Perl_sv_setpvf
-#define Perl_sv_setpvf_mg      CPerlObj::Perl_sv_setpvf_mg
-#define Perl_sv_setpviv                CPerlObj::Perl_sv_setpviv
-#define Perl_sv_setpviv_mg     CPerlObj::Perl_sv_setpviv_mg
-#define Perl_sv_setpvn         CPerlObj::Perl_sv_setpvn
-#define Perl_sv_setpvn_mg      CPerlObj::Perl_sv_setpvn_mg
-#define Perl_sv_setref_iv      CPerlObj::Perl_sv_setref_iv
-#define Perl_sv_setref_nv      CPerlObj::Perl_sv_setref_nv
-#define Perl_sv_setref_pv      CPerlObj::Perl_sv_setref_pv
-#define Perl_sv_setref_pvn     CPerlObj::Perl_sv_setref_pvn
-#define Perl_sv_setsv          CPerlObj::Perl_sv_setsv
-#define Perl_sv_setsv_mg       CPerlObj::Perl_sv_setsv_mg
-#define Perl_sv_setuv          CPerlObj::Perl_sv_setuv
-#define Perl_sv_setuv_mg       CPerlObj::Perl_sv_setuv_mg
-#define Perl_sv_taint          CPerlObj::Perl_sv_taint
-#define Perl_sv_tainted                CPerlObj::Perl_sv_tainted
-#define Perl_sv_true           CPerlObj::Perl_sv_true
-#define Perl_sv_unmagic                CPerlObj::Perl_sv_unmagic
-#define Perl_sv_unref          CPerlObj::Perl_sv_unref
-#define Perl_sv_untaint                CPerlObj::Perl_sv_untaint
-#define Perl_sv_upgrade                CPerlObj::Perl_sv_upgrade
-#define Perl_sv_usepvn         CPerlObj::Perl_sv_usepvn
-#define Perl_sv_usepvn_mg      CPerlObj::Perl_sv_usepvn_mg
-#define Perl_sv_uv             CPerlObj::Perl_sv_uv
-#define Perl_sv_vcatpvfn       CPerlObj::Perl_sv_vcatpvfn
-#define Perl_sv_vsetpvfn       CPerlObj::Perl_sv_vsetpvfn
-#define Perl_swash_fetch       CPerlObj::Perl_swash_fetch
-#define Perl_swash_init                CPerlObj::Perl_swash_init
-#define Perl_taint_env         CPerlObj::Perl_taint_env
-#define Perl_taint_proper      CPerlObj::Perl_taint_proper
-#define Perl_tmps_grow         CPerlObj::Perl_tmps_grow
-#define Perl_to_uni_lower      CPerlObj::Perl_to_uni_lower
-#define Perl_to_uni_lower_lc   CPerlObj::Perl_to_uni_lower_lc
-#define Perl_to_uni_title      CPerlObj::Perl_to_uni_title
-#define Perl_to_uni_title_lc   CPerlObj::Perl_to_uni_title_lc
-#define Perl_to_uni_upper      CPerlObj::Perl_to_uni_upper
-#define Perl_to_uni_upper_lc   CPerlObj::Perl_to_uni_upper_lc
-#define Perl_to_utf8_lower     CPerlObj::Perl_to_utf8_lower
-#define Perl_to_utf8_title     CPerlObj::Perl_to_utf8_title
-#define Perl_to_utf8_upper     CPerlObj::Perl_to_utf8_upper
-#define Perl_unlnk             CPerlObj::Perl_unlnk
-#define Perl_unlock_condpair   CPerlObj::Perl_unlock_condpair
-#define Perl_unshare_hek       CPerlObj::Perl_unshare_hek
-#define Perl_unsharepvn                CPerlObj::Perl_unsharepvn
-#define Perl_utf16_to_utf8     CPerlObj::Perl_utf16_to_utf8
-#define Perl_utf16_to_utf8_reversed    CPerlObj::Perl_utf16_to_utf8_reversed
-#define Perl_utf8_distance     CPerlObj::Perl_utf8_distance
-#define Perl_utf8_hop          CPerlObj::Perl_utf8_hop
-#define Perl_utf8_to_uv                CPerlObj::Perl_utf8_to_uv
-#define Perl_utilize           CPerlObj::Perl_utilize
-#define Perl_uv_to_utf8                CPerlObj::Perl_uv_to_utf8
-#define Perl_vivify_defelem    CPerlObj::Perl_vivify_defelem
-#define Perl_vivify_ref                CPerlObj::Perl_vivify_ref
-#define Perl_wait4pid          CPerlObj::Perl_wait4pid
-#define Perl_warn              CPerlObj::Perl_warn
-#define Perl_warner            CPerlObj::Perl_warner
-#define Perl_watch             CPerlObj::Perl_watch
-#define Perl_whichsig          CPerlObj::Perl_whichsig
-#define Perl_yydestruct                CPerlObj::Perl_yydestruct
-#define Perl_yyerror           CPerlObj::Perl_yyerror
-#define Perl_yylex             CPerlObj::Perl_yylex
-#define Perl_yyparse           CPerlObj::Perl_yyparse
-#define Perl_yywarn            CPerlObj::Perl_yywarn
-#define add_data               CPerlObj::Perl_add_data
-#define amagic_cmp             CPerlObj::Perl_amagic_cmp
-#define amagic_cmp_locale      CPerlObj::Perl_amagic_cmp_locale
-#define amagic_i_ncmp          CPerlObj::Perl_amagic_i_ncmp
-#define amagic_ncmp            CPerlObj::Perl_amagic_ncmp
-#define ao                     CPerlObj::Perl_ao
-#define asIV                   CPerlObj::Perl_asIV
-#define asUV                   CPerlObj::Perl_asUV
-#define avhv_index_sv          CPerlObj::Perl_avhv_index_sv
-#define bad_type               CPerlObj::Perl_bad_type
-#define cache_re               CPerlObj::Perl_cache_re
-#define call_list_body         CPerlObj::Perl_call_list_body
-#define check_uni              CPerlObj::Perl_check_uni
-#define checkcomma             CPerlObj::Perl_checkcomma
-#define clear_re               CPerlObj::Perl_clear_re
-#define cv_clone2              CPerlObj::Perl_cv_clone2
-#define debprof                        CPerlObj::Perl_debprof
-#define del_he                 CPerlObj::Perl_del_he
-#define del_sv                 CPerlObj::Perl_del_sv
-#define del_xiv                        CPerlObj::Perl_del_xiv
-#define del_xnv                        CPerlObj::Perl_del_xnv
-#define del_xpv                        CPerlObj::Perl_del_xpv
-#define del_xrv                        CPerlObj::Perl_del_xrv
-#define depcom                 CPerlObj::Perl_depcom
-#define div128                 CPerlObj::Perl_div128
-#define do_aspawn              CPerlObj::Perl_do_aspawn
-#define do_clean_all           CPerlObj::Perl_do_clean_all
-#define do_clean_named_objs    CPerlObj::Perl_do_clean_named_objs
-#define do_clean_objs          CPerlObj::Perl_do_clean_objs
-#define do_report_used         CPerlObj::Perl_do_report_used
-#define do_trans_CC_complex    CPerlObj::Perl_do_trans_CC_complex
-#define do_trans_CC_count      CPerlObj::Perl_do_trans_CC_count
-#define do_trans_CC_simple     CPerlObj::Perl_do_trans_CC_simple
-#define do_trans_CU_simple     CPerlObj::Perl_do_trans_CU_simple
-#define do_trans_CU_trivial    CPerlObj::Perl_do_trans_CU_trivial
-#define do_trans_UC_simple     CPerlObj::Perl_do_trans_UC_simple
-#define do_trans_UC_trivial    CPerlObj::Perl_do_trans_UC_trivial
-#define do_trans_UU_complex    CPerlObj::Perl_do_trans_UU_complex
-#define do_trans_UU_count      CPerlObj::Perl_do_trans_UU_count
-#define do_trans_UU_simple     CPerlObj::Perl_do_trans_UU_simple
-#define docatch                        CPerlObj::Perl_docatch
-#define docatch_body           CPerlObj::Perl_docatch_body
-#define doencodes              CPerlObj::Perl_doencodes
-#define doeval                 CPerlObj::Perl_doeval
-#define dofindlabel            CPerlObj::Perl_dofindlabel
-#define doform                 CPerlObj::Perl_doform
-#define doopen_pmc             CPerlObj::Perl_doopen_pmc
-#define doparseform            CPerlObj::Perl_doparseform
-#define dopoptoeval            CPerlObj::Perl_dopoptoeval
-#define dopoptolabel           CPerlObj::Perl_dopoptolabel
-#define dopoptoloop            CPerlObj::Perl_dopoptoloop
-#define dopoptosub             CPerlObj::Perl_dopoptosub
-#define dopoptosub_at          CPerlObj::Perl_dopoptosub_at
-#define dump                   CPerlObj::Perl_dump
-#define dumpuntil              CPerlObj::Perl_dumpuntil
-#define emulate_eaccess                CPerlObj::Perl_emulate_eaccess
-#define filter_gets            CPerlObj::Perl_filter_gets
-#define find_beginning         CPerlObj::Perl_find_beginning
-#define forbid_setid           CPerlObj::Perl_forbid_setid
-#define force_ident            CPerlObj::Perl_force_ident
-#define force_next             CPerlObj::Perl_force_next
-#define force_version          CPerlObj::Perl_force_version
-#define force_word             CPerlObj::Perl_force_word
-#define free_closures          CPerlObj::Perl_free_closures
-#define get_db_sub             CPerlObj::Perl_get_db_sub
-#define gv_ename               CPerlObj::Perl_gv_ename
-#define gv_init_sv             CPerlObj::Perl_gv_init_sv
-#define hfreeentries           CPerlObj::Perl_hfreeentries
-#define hsplit                 CPerlObj::Perl_hsplit
-#define incl_perldb            CPerlObj::Perl_incl_perldb
-#define incline                        CPerlObj::Perl_incline
-#define incpush                        CPerlObj::Perl_incpush
-#define init_debugger          CPerlObj::Perl_init_debugger
-#define init_ids               CPerlObj::Perl_init_ids
-#define init_interp            CPerlObj::Perl_init_interp
-#define init_lexer             CPerlObj::Perl_init_lexer
-#define init_main_stash                CPerlObj::Perl_init_main_stash
-#define init_perllib           CPerlObj::Perl_init_perllib
-#define init_postdump_symbols  CPerlObj::Perl_init_postdump_symbols
-#define init_predump_symbols   CPerlObj::Perl_init_predump_symbols
-#define intuit_method          CPerlObj::Perl_intuit_method
-#define intuit_more            CPerlObj::Perl_intuit_more
-#define is_an_int              CPerlObj::Perl_is_an_int
-#define is_handle_constructor  CPerlObj::Perl_is_handle_constructor
-#define isa_lookup             CPerlObj::Perl_isa_lookup
-#define list_assignment                CPerlObj::Perl_list_assignment
-#define lop                    CPerlObj::Perl_lop
-#define magic_methcall         CPerlObj::Perl_magic_methcall
-#define magic_methcall         CPerlObj::Perl_magic_methcall
-#define magic_methpack         CPerlObj::Perl_magic_methpack
-#define main                   CPerlObj::Perl_main
-#define mess_alloc             CPerlObj::Perl_mess_alloc
-#define missingterm            CPerlObj::Perl_missingterm
-#define modkids                        CPerlObj::Perl_modkids
-#define more_he                        CPerlObj::Perl_more_he
-#define more_sv                        CPerlObj::Perl_more_sv
-#define more_xiv               CPerlObj::Perl_more_xiv
-#define more_xnv               CPerlObj::Perl_more_xnv
-#define more_xpv               CPerlObj::Perl_more_xpv
-#define more_xrv               CPerlObj::Perl_more_xrv
-#define mul128                 CPerlObj::Perl_mul128
-#define my_exit_jump           CPerlObj::Perl_my_exit_jump
-#define my_safemalloc          CPerlObj::Perl_my_safemalloc
-#define newDEFSVOP             CPerlObj::Perl_newDEFSVOP
-#define new_constant           CPerlObj::Perl_new_constant
-#define new_he                 CPerlObj::Perl_new_he
-#define new_logop              CPerlObj::Perl_new_logop
-#define new_xiv                        CPerlObj::Perl_new_xiv
-#define new_xnv                        CPerlObj::Perl_new_xnv
-#define new_xpv                        CPerlObj::Perl_new_xpv
-#define new_xrv                        CPerlObj::Perl_new_xrv
-#define nextchar               CPerlObj::Perl_nextchar
-#define no_bareword_allowed    CPerlObj::Perl_no_bareword_allowed
-#define no_fh_allowed          CPerlObj::Perl_no_fh_allowed
-#define no_op                  CPerlObj::Perl_no_op
-#define not_a_number           CPerlObj::Perl_not_a_number
-#define nuke_stacks            CPerlObj::Perl_nuke_stacks
-#define null                   CPerlObj::Perl_null
-#define open_script            CPerlObj::Perl_open_script
-#define pad_findlex            CPerlObj::Perl_pad_findlex
-#define perl_alloc             CPerlObj::perl_alloc
-#define perl_atexit            CPerlObj::perl_atexit
-#define perl_call_argv         CPerlObj::perl_call_argv
-#define perl_call_body         CPerlObj::perl_call_body
-#define perl_call_method       CPerlObj::perl_call_method
-#define perl_call_pv           CPerlObj::perl_call_pv
-#define perl_call_sv           CPerlObj::perl_call_sv
-#define perl_call_xbody                CPerlObj::perl_call_xbody
-#define perl_construct         CPerlObj::perl_construct
-#define perl_construct         CPerlObj::perl_construct
-#define perl_destruct          CPerlObj::perl_destruct
-#define perl_destruct          CPerlObj::perl_destruct
-#define perl_eval_pv           CPerlObj::perl_eval_pv
-#define perl_eval_sv           CPerlObj::perl_eval_sv
-#define perl_free              CPerlObj::perl_free
-#define perl_free              CPerlObj::perl_free
-#define perl_get_av            CPerlObj::perl_get_av
-#define perl_get_cv            CPerlObj::perl_get_cv
-#define perl_get_hv            CPerlObj::perl_get_hv
-#define perl_get_sv            CPerlObj::perl_get_sv
-#define perl_init_i18nl10n     CPerlObj::perl_init_i18nl10n
-#define perl_init_i18nl14n     CPerlObj::perl_init_i18nl14n
-#define perl_new_collate       CPerlObj::perl_new_collate
-#define perl_new_ctype         CPerlObj::perl_new_ctype
-#define perl_new_numeric       CPerlObj::perl_new_numeric
-#define perl_parse             CPerlObj::perl_parse
-#define perl_parse             CPerlObj::perl_parse
-#define perl_parse_body                CPerlObj::perl_parse_body
-#define perl_require_pv                CPerlObj::perl_require_pv
-#define perl_run               CPerlObj::perl_run
-#define perl_run               CPerlObj::perl_run
-#define perl_run_body          CPerlObj::perl_run_body
-#define perl_set_numeric_local CPerlObj::perl_set_numeric_local
-#define perl_set_numeric_standard      CPerlObj::perl_set_numeric_standard
-#define qsortsv                        CPerlObj::Perl_qsortsv
-#define re_croak2              CPerlObj::Perl_re_croak2
-#define refto                  CPerlObj::Perl_refto
-#define reg                    CPerlObj::Perl_reg
-#define reg_node               CPerlObj::Perl_reg_node
-#define reganode               CPerlObj::Perl_reganode
-#define regatom                        CPerlObj::Perl_regatom
-#define regbranch              CPerlObj::Perl_regbranch
-#define regc                   CPerlObj::Perl_regc
-#define regclass               CPerlObj::Perl_regclass
-#define regclassutf8           CPerlObj::Perl_regclassutf8
-#define regcp_set_to           CPerlObj::Perl_regcp_set_to
-#define regcppop               CPerlObj::Perl_regcppop
-#define regcppush              CPerlObj::Perl_regcppush
-#define regcurly               CPerlObj::Perl_regcurly
-#define reghop                 CPerlObj::Perl_reghop
-#define reghopmaybe            CPerlObj::Perl_reghopmaybe
-#define reginclass             CPerlObj::Perl_reginclass
-#define reginclassutf8         CPerlObj::Perl_reginclassutf8
-#define reginsert              CPerlObj::Perl_reginsert
-#define regmatch               CPerlObj::Perl_regmatch
-#define regoptail              CPerlObj::Perl_regoptail
-#define regpiece               CPerlObj::Perl_regpiece
-#define regpposixcc            CPerlObj::Perl_regpposixcc
-#define regrepeat              CPerlObj::Perl_regrepeat
-#define regrepeat_hard         CPerlObj::Perl_regrepeat_hard
-#define regset                 CPerlObj::Perl_regset
-#define regtail                        CPerlObj::Perl_regtail
-#define regtry                 CPerlObj::Perl_regtry
-#define reguni                 CPerlObj::Perl_reguni
-#define regwhite               CPerlObj::Perl_regwhite
-#define restore_expect         CPerlObj::Perl_restore_expect
-#define restore_lex_expect     CPerlObj::Perl_restore_lex_expect
-#define restore_magic          CPerlObj::Perl_restore_magic
-#define restore_pos            CPerlObj::Perl_restore_pos
-#define restore_rsfp           CPerlObj::Perl_restore_rsfp
-#define save_hek               CPerlObj::Perl_save_hek
-#define save_lines             CPerlObj::Perl_save_lines
-#define save_magic             CPerlObj::Perl_save_magic
-#define save_scalar_at         CPerlObj::Perl_save_scalar_at
-#define scalarboolean          CPerlObj::Perl_scalarboolean
-#define scan_commit            CPerlObj::Perl_scan_commit
-#define scan_const             CPerlObj::Perl_scan_const
-#define scan_formline          CPerlObj::Perl_scan_formline
-#define scan_heredoc           CPerlObj::Perl_scan_heredoc
-#define scan_ident             CPerlObj::Perl_scan_ident
-#define scan_inputsymbol       CPerlObj::Perl_scan_inputsymbol
-#define scan_pat               CPerlObj::Perl_scan_pat
-#define scan_str               CPerlObj::Perl_scan_str
-#define scan_subst             CPerlObj::Perl_scan_subst
-#define scan_trans             CPerlObj::Perl_scan_trans
-#define scan_word              CPerlObj::Perl_scan_word
-#define seed                   CPerlObj::Perl_seed
-#define set_csh                        CPerlObj::Perl_set_csh
-#define simplify_sort          CPerlObj::Perl_simplify_sort
-#define skipspace              CPerlObj::Perl_skipspace
-#define sortcv                 CPerlObj::Perl_sortcv
-#define study_chunk            CPerlObj::Perl_study_chunk
-#define sublex_done            CPerlObj::Perl_sublex_done
-#define sublex_push            CPerlObj::Perl_sublex_push
-#define sublex_start           CPerlObj::Perl_sublex_start
-#define sv_add_backref         CPerlObj::Perl_sv_add_backref
-#define sv_del_backref         CPerlObj::Perl_sv_del_backref
-#define sv_i_ncmp              CPerlObj::Perl_sv_i_ncmp
-#define sv_ncmp                        CPerlObj::Perl_sv_ncmp
-#define sv_unglob              CPerlObj::Perl_sv_unglob
-#define tokeq                  CPerlObj::Perl_tokeq
-#define too_few_arguments      CPerlObj::Perl_too_few_arguments
-#define too_many_arguments     CPerlObj::Perl_too_many_arguments
-#define uni                    CPerlObj::Perl_uni
-#define unwind_handler_stack   CPerlObj::Perl_unwind_handler_stack
-#define usage                  CPerlObj::Perl_usage
-#define validate_suid          CPerlObj::Perl_validate_suid
-#define visit                  CPerlObj::Perl_visit
-#define win32_textfilter       CPerlObj::Perl_win32_textfilter
+#define Perl_amagic_call       CPerlObj::amagic_call
+#define Perl_Gv_AMupdate       CPerlObj::Gv_AMupdate
+#define Perl_append_elem       CPerlObj::append_elem
+#define Perl_append_list       CPerlObj::append_list
+#define Perl_apply             CPerlObj::apply
+#define Perl_assertref         CPerlObj::assertref
+#define Perl_avhv_exists_ent   CPerlObj::avhv_exists_ent
+#define Perl_avhv_fetch_ent    CPerlObj::avhv_fetch_ent
+#define Perl_avhv_iternext     CPerlObj::avhv_iternext
+#define Perl_avhv_iterval      CPerlObj::avhv_iterval
+#define Perl_avhv_keys         CPerlObj::avhv_keys
+#define Perl_av_clear          CPerlObj::av_clear
+#define Perl_av_extend         CPerlObj::av_extend
+#define Perl_av_fake           CPerlObj::av_fake
+#define Perl_av_fetch          CPerlObj::av_fetch
+#define Perl_av_fill           CPerlObj::av_fill
+#define Perl_av_len            CPerlObj::av_len
+#define Perl_av_make           CPerlObj::av_make
+#define Perl_av_pop            CPerlObj::av_pop
+#define Perl_av_push           CPerlObj::av_push
+#define Perl_av_reify          CPerlObj::av_reify
+#define Perl_av_shift          CPerlObj::av_shift
+#define Perl_av_store          CPerlObj::av_store
+#define Perl_av_undef          CPerlObj::av_undef
+#define Perl_av_unshift                CPerlObj::av_unshift
+#define Perl_bind_match                CPerlObj::bind_match
+#define Perl_block_end         CPerlObj::block_end
+#define Perl_block_gimme       CPerlObj::block_gimme
+#define Perl_block_start       CPerlObj::block_start
+#define Perl_boot_core_UNIVERSAL       CPerlObj::boot_core_UNIVERSAL
+#define Perl_call_list         CPerlObj::call_list
+#define Perl_cando             CPerlObj::cando
+#define Perl_cast_ulong                CPerlObj::cast_ulong
+#define Perl_cast_i32          CPerlObj::cast_i32
+#define Perl_cast_iv           CPerlObj::cast_iv
+#define Perl_cast_uv           CPerlObj::cast_uv
+#if !defined(HAS_TRUNCATE) && !defined(HAS_CHSIZE) && defined(F_FREESP)
+#define Perl_my_chsize         CPerlObj::my_chsize
+#endif
+#if defined(USE_THREADS)
+#define Perl_condpair_magic    CPerlObj::condpair_magic
+#endif
+#define Perl_convert           CPerlObj::convert
+#define Perl_croak             CPerlObj::croak
+#if defined(PERL_IMPLICIT_CONTEXT)
+#define Perl_croak_nocontext   CPerlObj::croak_nocontext
+#define Perl_die_nocontext     CPerlObj::die_nocontext
+#define Perl_form_nocontext    CPerlObj::form_nocontext
+#define Perl_warn_nocontext    CPerlObj::warn_nocontext
+#define Perl_newSVpvf_nocontext        CPerlObj::newSVpvf_nocontext
+#define Perl_sv_catpvf_nocontext       CPerlObj::sv_catpvf_nocontext
+#define Perl_sv_setpvf_nocontext       CPerlObj::sv_setpvf_nocontext
+#define Perl_sv_catpvf_mg_nocontext    CPerlObj::sv_catpvf_mg_nocontext
+#define Perl_sv_setpvf_mg_nocontext    CPerlObj::sv_setpvf_mg_nocontext
+#endif
+#define Perl_cv_ckproto                CPerlObj::cv_ckproto
+#define Perl_cv_clone          CPerlObj::cv_clone
+#define Perl_cv_const_sv       CPerlObj::cv_const_sv
+#define Perl_op_const_sv       CPerlObj::op_const_sv
+#define Perl_cv_undef          CPerlObj::cv_undef
+#define Perl_cx_dump           CPerlObj::cx_dump
+#define Perl_filter_add                CPerlObj::filter_add
+#define Perl_filter_del                CPerlObj::filter_del
+#define Perl_filter_read       CPerlObj::filter_read
+#define Perl_get_op_descs      CPerlObj::get_op_descs
+#define Perl_get_op_names      CPerlObj::get_op_names
+#define Perl_get_no_modify     CPerlObj::get_no_modify
+#define Perl_get_opargs                CPerlObj::get_opargs
+#define Perl_cxinc             CPerlObj::cxinc
+#define Perl_deb               CPerlObj::deb
+#define Perl_deb_growlevel     CPerlObj::deb_growlevel
+#define Perl_debprofdump       CPerlObj::debprofdump
+#define Perl_debop             CPerlObj::debop
+#define Perl_debstack          CPerlObj::debstack
+#define Perl_debstackptrs      CPerlObj::debstackptrs
+#define Perl_delimcpy          CPerlObj::delimcpy
+#define Perl_deprecate         CPerlObj::deprecate
+#define Perl_die               CPerlObj::die
+#define Perl_die_where         CPerlObj::die_where
+#define Perl_dounwind          CPerlObj::dounwind
+#define Perl_do_aexec          CPerlObj::do_aexec
+#define Perl_do_binmode                CPerlObj::do_binmode
+#define Perl_do_chop           CPerlObj::do_chop
+#define Perl_do_close          CPerlObj::do_close
+#define Perl_do_eof            CPerlObj::do_eof
+#define Perl_do_exec           CPerlObj::do_exec
+#if !defined(WIN32)
+#define Perl_do_exec3          CPerlObj::do_exec3
+#endif
+#define Perl_do_execfree       CPerlObj::do_execfree
+#if defined(HAS_MSG) || defined(HAS_SEM) || defined(HAS_SHM)
+#define Perl_do_ipcctl         CPerlObj::do_ipcctl
+#define Perl_do_ipcget         CPerlObj::do_ipcget
+#define Perl_do_msgrcv         CPerlObj::do_msgrcv
+#define Perl_do_msgsnd         CPerlObj::do_msgsnd
+#define Perl_do_semop          CPerlObj::do_semop
+#define Perl_do_shmio          CPerlObj::do_shmio
+#endif
+#define Perl_do_join           CPerlObj::do_join
+#define Perl_do_kv             CPerlObj::do_kv
+#define Perl_do_open           CPerlObj::do_open
+#define Perl_do_pipe           CPerlObj::do_pipe
+#define Perl_do_print          CPerlObj::do_print
+#define Perl_do_readline       CPerlObj::do_readline
+#define Perl_do_chomp          CPerlObj::do_chomp
+#define Perl_do_seek           CPerlObj::do_seek
+#define Perl_do_sprintf                CPerlObj::do_sprintf
+#define Perl_do_sysseek                CPerlObj::do_sysseek
+#define Perl_do_tell           CPerlObj::do_tell
+#define Perl_do_trans          CPerlObj::do_trans
+#define Perl_do_vecset         CPerlObj::do_vecset
+#define Perl_do_vop            CPerlObj::do_vop
+#define Perl_dofile            CPerlObj::dofile
+#define Perl_dowantarray       CPerlObj::dowantarray
+#define Perl_dump_all          CPerlObj::dump_all
+#define Perl_dump_eval         CPerlObj::dump_eval
+#if defined(DUMP_FDS)
+#define Perl_dump_fds          CPerlObj::dump_fds
+#endif
+#define Perl_dump_form         CPerlObj::dump_form
+#define Perl_gv_dump           CPerlObj::gv_dump
+#define Perl_op_dump           CPerlObj::op_dump
+#define Perl_pmop_dump         CPerlObj::pmop_dump
+#define Perl_dump_packsubs     CPerlObj::dump_packsubs
+#define Perl_dump_sub          CPerlObj::dump_sub
+#define Perl_fbm_compile       CPerlObj::fbm_compile
+#define Perl_fbm_instr         CPerlObj::fbm_instr
+#define Perl_find_script       CPerlObj::find_script
+#if defined(USE_THREADS)
+#define Perl_find_threadsv     CPerlObj::find_threadsv
+#endif
+#define Perl_force_list                CPerlObj::force_list
+#define Perl_fold_constants    CPerlObj::fold_constants
+#define Perl_form              CPerlObj::form
+#define Perl_free_tmps         CPerlObj::free_tmps
+#define Perl_gen_constant_list CPerlObj::gen_constant_list
+#if !defined(HAS_GETENV_LEN)
+#define Perl_getenv_len                CPerlObj::getenv_len
+#endif
+#define Perl_gp_free           CPerlObj::gp_free
+#define Perl_gp_ref            CPerlObj::gp_ref
+#define Perl_gv_AVadd          CPerlObj::gv_AVadd
+#define Perl_gv_HVadd          CPerlObj::gv_HVadd
+#define Perl_gv_IOadd          CPerlObj::gv_IOadd
+#define Perl_gv_autoload4      CPerlObj::gv_autoload4
+#define Perl_gv_check          CPerlObj::gv_check
+#define Perl_gv_efullname      CPerlObj::gv_efullname
+#define Perl_gv_efullname3     CPerlObj::gv_efullname3
+#define Perl_gv_fetchfile      CPerlObj::gv_fetchfile
+#define Perl_gv_fetchmeth      CPerlObj::gv_fetchmeth
+#define Perl_gv_fetchmethod    CPerlObj::gv_fetchmethod
+#define Perl_gv_fetchmethod_autoload   CPerlObj::gv_fetchmethod_autoload
+#define Perl_gv_fetchpv                CPerlObj::gv_fetchpv
+#define Perl_gv_fullname       CPerlObj::gv_fullname
+#define Perl_gv_fullname3      CPerlObj::gv_fullname3
+#define Perl_gv_init           CPerlObj::gv_init
+#define Perl_gv_stashpv                CPerlObj::gv_stashpv
+#define Perl_gv_stashpvn       CPerlObj::gv_stashpvn
+#define Perl_gv_stashsv                CPerlObj::gv_stashsv
+#define Perl_hv_clear          CPerlObj::hv_clear
+#define Perl_hv_delayfree_ent  CPerlObj::hv_delayfree_ent
+#define Perl_hv_delete         CPerlObj::hv_delete
+#define Perl_hv_delete_ent     CPerlObj::hv_delete_ent
+#define Perl_hv_exists         CPerlObj::hv_exists
+#define Perl_hv_exists_ent     CPerlObj::hv_exists_ent
+#define Perl_hv_fetch          CPerlObj::hv_fetch
+#define Perl_hv_fetch_ent      CPerlObj::hv_fetch_ent
+#define Perl_hv_free_ent       CPerlObj::hv_free_ent
+#define Perl_hv_iterinit       CPerlObj::hv_iterinit
+#define Perl_hv_iterkey                CPerlObj::hv_iterkey
+#define Perl_hv_iterkeysv      CPerlObj::hv_iterkeysv
+#define Perl_hv_iternext       CPerlObj::hv_iternext
+#define Perl_hv_iternextsv     CPerlObj::hv_iternextsv
+#define Perl_hv_iterval                CPerlObj::hv_iterval
+#define Perl_hv_ksplit         CPerlObj::hv_ksplit
+#define Perl_hv_magic          CPerlObj::hv_magic
+#define Perl_hv_store          CPerlObj::hv_store
+#define Perl_hv_store_ent      CPerlObj::hv_store_ent
+#define Perl_hv_undef          CPerlObj::hv_undef
+#define Perl_ibcmp             CPerlObj::ibcmp
+#define Perl_ibcmp_locale      CPerlObj::ibcmp_locale
+#define Perl_ingroup           CPerlObj::ingroup
+#define Perl_init_stacks       CPerlObj::init_stacks
+#define Perl_intro_my          CPerlObj::intro_my
+#define Perl_instr             CPerlObj::instr
+#define Perl_io_close          CPerlObj::io_close
+#define Perl_invert            CPerlObj::invert
+#define Perl_is_uni_alnum      CPerlObj::is_uni_alnum
+#define Perl_is_uni_idfirst    CPerlObj::is_uni_idfirst
+#define Perl_is_uni_alpha      CPerlObj::is_uni_alpha
+#define Perl_is_uni_space      CPerlObj::is_uni_space
+#define Perl_is_uni_digit      CPerlObj::is_uni_digit
+#define Perl_is_uni_upper      CPerlObj::is_uni_upper
+#define Perl_is_uni_lower      CPerlObj::is_uni_lower
+#define Perl_is_uni_print      CPerlObj::is_uni_print
+#define Perl_to_uni_upper      CPerlObj::to_uni_upper
+#define Perl_to_uni_title      CPerlObj::to_uni_title
+#define Perl_to_uni_lower      CPerlObj::to_uni_lower
+#define Perl_is_uni_alnum_lc   CPerlObj::is_uni_alnum_lc
+#define Perl_is_uni_idfirst_lc CPerlObj::is_uni_idfirst_lc
+#define Perl_is_uni_alpha_lc   CPerlObj::is_uni_alpha_lc
+#define Perl_is_uni_space_lc   CPerlObj::is_uni_space_lc
+#define Perl_is_uni_digit_lc   CPerlObj::is_uni_digit_lc
+#define Perl_is_uni_upper_lc   CPerlObj::is_uni_upper_lc
+#define Perl_is_uni_lower_lc   CPerlObj::is_uni_lower_lc
+#define Perl_is_uni_print_lc   CPerlObj::is_uni_print_lc
+#define Perl_to_uni_upper_lc   CPerlObj::to_uni_upper_lc
+#define Perl_to_uni_title_lc   CPerlObj::to_uni_title_lc
+#define Perl_to_uni_lower_lc   CPerlObj::to_uni_lower_lc
+#define Perl_is_utf8_alnum     CPerlObj::is_utf8_alnum
+#define Perl_is_utf8_idfirst   CPerlObj::is_utf8_idfirst
+#define Perl_is_utf8_alpha     CPerlObj::is_utf8_alpha
+#define Perl_is_utf8_space     CPerlObj::is_utf8_space
+#define Perl_is_utf8_digit     CPerlObj::is_utf8_digit
+#define Perl_is_utf8_upper     CPerlObj::is_utf8_upper
+#define Perl_is_utf8_lower     CPerlObj::is_utf8_lower
+#define Perl_is_utf8_print     CPerlObj::is_utf8_print
+#define Perl_is_utf8_mark      CPerlObj::is_utf8_mark
+#define Perl_jmaybe            CPerlObj::jmaybe
+#define Perl_keyword           CPerlObj::keyword
+#define Perl_leave_scope       CPerlObj::leave_scope
+#define Perl_lex_end           CPerlObj::lex_end
+#define Perl_lex_start         CPerlObj::lex_start
+#define Perl_linklist          CPerlObj::linklist
+#define Perl_list              CPerlObj::list
+#define Perl_listkids          CPerlObj::listkids
+#define Perl_localize          CPerlObj::localize
+#define Perl_looks_like_number CPerlObj::looks_like_number
+#define Perl_magic_clearenv    CPerlObj::magic_clearenv
+#define Perl_magic_clear_all_env       CPerlObj::magic_clear_all_env
+#define Perl_magic_clearpack   CPerlObj::magic_clearpack
+#define Perl_magic_clearsig    CPerlObj::magic_clearsig
+#define Perl_magic_existspack  CPerlObj::magic_existspack
+#define Perl_magic_freeregexp  CPerlObj::magic_freeregexp
+#define Perl_magic_get         CPerlObj::magic_get
+#define Perl_magic_getarylen   CPerlObj::magic_getarylen
+#define Perl_magic_getdefelem  CPerlObj::magic_getdefelem
+#define Perl_magic_getglob     CPerlObj::magic_getglob
+#define Perl_magic_getnkeys    CPerlObj::magic_getnkeys
+#define Perl_magic_getpack     CPerlObj::magic_getpack
+#define Perl_magic_getpos      CPerlObj::magic_getpos
+#define Perl_magic_getsig      CPerlObj::magic_getsig
+#define Perl_magic_getsubstr   CPerlObj::magic_getsubstr
+#define Perl_magic_gettaint    CPerlObj::magic_gettaint
+#define Perl_magic_getuvar     CPerlObj::magic_getuvar
+#define Perl_magic_getvec      CPerlObj::magic_getvec
+#define Perl_magic_len         CPerlObj::magic_len
+#if defined(USE_THREADS)
+#define Perl_magic_mutexfree   CPerlObj::magic_mutexfree
+#endif
+#define Perl_magic_nextpack    CPerlObj::magic_nextpack
+#define Perl_magic_regdata_cnt CPerlObj::magic_regdata_cnt
+#define Perl_magic_regdatum_get        CPerlObj::magic_regdatum_get
+#define Perl_magic_set         CPerlObj::magic_set
+#define Perl_magic_setamagic   CPerlObj::magic_setamagic
+#define Perl_magic_setarylen   CPerlObj::magic_setarylen
+#define Perl_magic_setbm       CPerlObj::magic_setbm
+#define Perl_magic_setdbline   CPerlObj::magic_setdbline
+#if defined(USE_LOCALE_COLLATE)
+#define Perl_magic_setcollxfrm CPerlObj::magic_setcollxfrm
+#endif
+#define Perl_magic_setdefelem  CPerlObj::magic_setdefelem
+#define Perl_magic_setenv      CPerlObj::magic_setenv
+#define Perl_magic_setfm       CPerlObj::magic_setfm
+#define Perl_magic_setisa      CPerlObj::magic_setisa
+#define Perl_magic_setglob     CPerlObj::magic_setglob
+#define Perl_magic_setmglob    CPerlObj::magic_setmglob
+#define Perl_magic_setnkeys    CPerlObj::magic_setnkeys
+#define Perl_magic_setpack     CPerlObj::magic_setpack
+#define Perl_magic_setpos      CPerlObj::magic_setpos
+#define Perl_magic_setsig      CPerlObj::magic_setsig
+#define Perl_magic_setsubstr   CPerlObj::magic_setsubstr
+#define Perl_magic_settaint    CPerlObj::magic_settaint
+#define Perl_magic_setuvar     CPerlObj::magic_setuvar
+#define Perl_magic_setvec      CPerlObj::magic_setvec
+#define Perl_magic_set_all_env CPerlObj::magic_set_all_env
+#define Perl_magic_sizepack    CPerlObj::magic_sizepack
+#define Perl_magic_wipepack    CPerlObj::magic_wipepack
+#define Perl_magicname         CPerlObj::magicname
+#if defined(MYMALLOC)
+#define Perl_malloced_size     CPerlObj::malloced_size
+#endif
+#define Perl_markstack_grow    CPerlObj::markstack_grow
+#if defined(USE_LOCALE_COLLATE)
+#define Perl_mem_collxfrm      CPerlObj::mem_collxfrm
+#endif
+#define Perl_mess              CPerlObj::mess
+#define Perl_mg_clear          CPerlObj::mg_clear
+#define Perl_mg_copy           CPerlObj::mg_copy
+#define Perl_mg_find           CPerlObj::mg_find
+#define Perl_mg_free           CPerlObj::mg_free
+#define Perl_mg_get            CPerlObj::mg_get
+#define Perl_mg_length         CPerlObj::mg_length
+#define Perl_mg_magical                CPerlObj::mg_magical
+#define Perl_mg_set            CPerlObj::mg_set
+#define Perl_mg_size           CPerlObj::mg_size
+#define Perl_mod               CPerlObj::mod
+#define Perl_moreswitches      CPerlObj::moreswitches
+#define Perl_my                        CPerlObj::my
+#if !defined(HAS_BCOPY) || !defined(HAS_SAFE_BCOPY)
+#define Perl_my_bcopy          CPerlObj::my_bcopy
+#endif
+#if !defined(HAS_BZERO) && !defined(HAS_MEMSET)
+#define Perl_my_bzero          CPerlObj::my_bzero
+#endif
+#define Perl_my_exit           CPerlObj::my_exit
+#define Perl_my_failure_exit   CPerlObj::my_failure_exit
+#define Perl_my_fflush_all     CPerlObj::my_fflush_all
+#define Perl_my_lstat          CPerlObj::my_lstat
+#if !defined(HAS_MEMCMP) || !defined(HAS_SANE_MEMCMP)
+#define Perl_my_memcmp         CPerlObj::my_memcmp
+#endif
+#if !defined(HAS_MEMSET)
+#define Perl_my_memset         CPerlObj::my_memset
+#endif
+#if !defined(PERL_OBJECT)
+#define Perl_my_pclose         CPerlObj::my_pclose
+#define Perl_my_popen          CPerlObj::my_popen
+#endif
+#define Perl_my_setenv         CPerlObj::my_setenv
+#define Perl_my_stat           CPerlObj::my_stat
+#if defined(MYSWAP)
+#define Perl_my_swap           CPerlObj::my_swap
+#define Perl_my_htonl          CPerlObj::my_htonl
+#define Perl_my_ntohl          CPerlObj::my_ntohl
+#endif
+#define Perl_my_unexec         CPerlObj::my_unexec
+#define Perl_newANONLIST       CPerlObj::newANONLIST
+#define Perl_newANONHASH       CPerlObj::newANONHASH
+#define Perl_newANONSUB                CPerlObj::newANONSUB
+#define Perl_newASSIGNOP       CPerlObj::newASSIGNOP
+#define Perl_newCONDOP         CPerlObj::newCONDOP
+#define Perl_newCONSTSUB       CPerlObj::newCONSTSUB
+#define Perl_newFORM           CPerlObj::newFORM
+#define Perl_newFOROP          CPerlObj::newFOROP
+#define Perl_newLOGOP          CPerlObj::newLOGOP
+#define Perl_newLOOPEX         CPerlObj::newLOOPEX
+#define Perl_newLOOPOP         CPerlObj::newLOOPOP
+#define Perl_newNULLLIST       CPerlObj::newNULLLIST
+#define Perl_newOP             CPerlObj::newOP
+#define Perl_newPROG           CPerlObj::newPROG
+#define Perl_newRANGE          CPerlObj::newRANGE
+#define Perl_newSLICEOP                CPerlObj::newSLICEOP
+#define Perl_newSTATEOP                CPerlObj::newSTATEOP
+#define Perl_newSUB            CPerlObj::newSUB
+#define Perl_newXS             CPerlObj::newXS
+#define Perl_newAV             CPerlObj::newAV
+#define Perl_newAVREF          CPerlObj::newAVREF
+#define Perl_newBINOP          CPerlObj::newBINOP
+#define Perl_newCVREF          CPerlObj::newCVREF
+#define Perl_newGVOP           CPerlObj::newGVOP
+#define Perl_newGVgen          CPerlObj::newGVgen
+#define Perl_newGVREF          CPerlObj::newGVREF
+#define Perl_newHVREF          CPerlObj::newHVREF
+#define Perl_newHV             CPerlObj::newHV
+#define Perl_newHVhv           CPerlObj::newHVhv
+#define Perl_newIO             CPerlObj::newIO
+#define Perl_newLISTOP         CPerlObj::newLISTOP
+#define Perl_newPMOP           CPerlObj::newPMOP
+#define Perl_newPVOP           CPerlObj::newPVOP
+#define Perl_newRV             CPerlObj::newRV
+#define Perl_newRV_noinc       CPerlObj::newRV_noinc
+#define Perl_newSV             CPerlObj::newSV
+#define Perl_newSVREF          CPerlObj::newSVREF
+#define Perl_newSVOP           CPerlObj::newSVOP
+#define Perl_newSViv           CPerlObj::newSViv
+#define Perl_newSVnv           CPerlObj::newSVnv
+#define Perl_newSVpv           CPerlObj::newSVpv
+#define Perl_newSVpvn          CPerlObj::newSVpvn
+#define Perl_newSVpvf          CPerlObj::newSVpvf
+#define Perl_newSVrv           CPerlObj::newSVrv
+#define Perl_newSVsv           CPerlObj::newSVsv
+#define Perl_newUNOP           CPerlObj::newUNOP
+#define Perl_newWHILEOP                CPerlObj::newWHILEOP
+#if defined(USE_THREADS)
+#define Perl_new_struct_thread CPerlObj::new_struct_thread
+#endif
+#define Perl_new_stackinfo     CPerlObj::new_stackinfo
+#define Perl_nextargv          CPerlObj::nextargv
+#define Perl_ninstr            CPerlObj::ninstr
+#define Perl_oopsCV            CPerlObj::oopsCV
+#define Perl_op_free           CPerlObj::op_free
+#define Perl_package           CPerlObj::package
+#define Perl_pad_alloc         CPerlObj::pad_alloc
+#define Perl_pad_allocmy       CPerlObj::pad_allocmy
+#define Perl_pad_findmy                CPerlObj::pad_findmy
+#define Perl_oopsAV            CPerlObj::oopsAV
+#define Perl_oopsHV            CPerlObj::oopsHV
+#define Perl_pad_leavemy       CPerlObj::pad_leavemy
+#define Perl_pad_sv            CPerlObj::pad_sv
+#define Perl_pad_free          CPerlObj::pad_free
+#define Perl_pad_reset         CPerlObj::pad_reset
+#define Perl_pad_swipe         CPerlObj::pad_swipe
+#define Perl_peep              CPerlObj::peep
+#define Perl_call_atexit       CPerlObj::call_atexit
+#define Perl_call_argv         CPerlObj::call_argv
+#define Perl_call_method       CPerlObj::call_method
+#define Perl_call_pv           CPerlObj::call_pv
+#define Perl_call_sv           CPerlObj::call_sv
+#define Perl_eval_pv           CPerlObj::eval_pv
+#define Perl_eval_sv           CPerlObj::eval_sv
+#define Perl_get_sv            CPerlObj::get_sv
+#define Perl_get_av            CPerlObj::get_av
+#define Perl_get_hv            CPerlObj::get_hv
+#define Perl_get_cv            CPerlObj::get_cv
+#define Perl_init_i18nl10n     CPerlObj::init_i18nl10n
+#define Perl_init_i18nl14n     CPerlObj::init_i18nl14n
+#define Perl_new_collate       CPerlObj::new_collate
+#define Perl_new_ctype         CPerlObj::new_ctype
+#define Perl_new_numeric       CPerlObj::new_numeric
+#define Perl_set_numeric_local CPerlObj::set_numeric_local
+#define Perl_set_numeric_standard      CPerlObj::set_numeric_standard
+#define Perl_require_pv                CPerlObj::require_pv
+#define Perl_pidgone           CPerlObj::pidgone
+#define Perl_pmflag            CPerlObj::pmflag
+#define Perl_pmruntime         CPerlObj::pmruntime
+#define Perl_pmtrans           CPerlObj::pmtrans
+#define Perl_pop_return                CPerlObj::pop_return
+#define Perl_pop_scope         CPerlObj::pop_scope
+#define Perl_prepend_elem      CPerlObj::prepend_elem
+#define Perl_push_return       CPerlObj::push_return
+#define Perl_push_scope                CPerlObj::push_scope
+#define Perl_ref               CPerlObj::ref
+#define Perl_refkids           CPerlObj::refkids
+#define Perl_regdump           CPerlObj::regdump
+#define Perl_pregexec          CPerlObj::pregexec
+#define Perl_pregfree          CPerlObj::pregfree
+#define Perl_pregcomp          CPerlObj::pregcomp
+#define Perl_regexec_flags     CPerlObj::regexec_flags
+#define Perl_regnext           CPerlObj::regnext
+#define Perl_regprop           CPerlObj::regprop
+#define Perl_repeatcpy         CPerlObj::repeatcpy
+#define Perl_rninstr           CPerlObj::rninstr
+#define Perl_rsignal           CPerlObj::rsignal
+#define Perl_rsignal_restore   CPerlObj::rsignal_restore
+#define Perl_rsignal_save      CPerlObj::rsignal_save
+#define Perl_rsignal_state     CPerlObj::rsignal_state
+#define Perl_rxres_free                CPerlObj::rxres_free
+#define Perl_rxres_restore     CPerlObj::rxres_restore
+#define Perl_rxres_save                CPerlObj::rxres_save
+#if !defined(HAS_RENAME)
+#define Perl_same_dirent       CPerlObj::same_dirent
+#endif
+#define Perl_savepv            CPerlObj::savepv
+#define Perl_savepvn           CPerlObj::savepvn
+#define Perl_savestack_grow    CPerlObj::savestack_grow
+#define Perl_save_aelem                CPerlObj::save_aelem
+#define Perl_save_alloc                CPerlObj::save_alloc
+#define Perl_save_aptr         CPerlObj::save_aptr
+#define Perl_save_ary          CPerlObj::save_ary
+#define Perl_save_clearsv      CPerlObj::save_clearsv
+#define Perl_save_delete       CPerlObj::save_delete
+#define Perl_save_destructor   CPerlObj::save_destructor
+#define Perl_save_freesv       CPerlObj::save_freesv
+#define Perl_save_freeop       CPerlObj::save_freeop
+#define Perl_save_freepv       CPerlObj::save_freepv
+#define Perl_save_generic_svref        CPerlObj::save_generic_svref
+#define Perl_save_gp           CPerlObj::save_gp
+#define Perl_save_hash         CPerlObj::save_hash
+#define Perl_save_helem                CPerlObj::save_helem
+#define Perl_save_hints                CPerlObj::save_hints
+#define Perl_save_hptr         CPerlObj::save_hptr
+#define Perl_save_I16          CPerlObj::save_I16
+#define Perl_save_I32          CPerlObj::save_I32
+#define Perl_save_int          CPerlObj::save_int
+#define Perl_save_item         CPerlObj::save_item
+#define Perl_save_iv           CPerlObj::save_iv
+#define Perl_save_list         CPerlObj::save_list
+#define Perl_save_long         CPerlObj::save_long
+#define Perl_save_nogv         CPerlObj::save_nogv
+#define Perl_save_op           CPerlObj::save_op
+#define Perl_save_scalar       CPerlObj::save_scalar
+#define Perl_save_pptr         CPerlObj::save_pptr
+#define Perl_save_re_context   CPerlObj::save_re_context
+#define Perl_save_sptr         CPerlObj::save_sptr
+#define Perl_save_svref                CPerlObj::save_svref
+#define Perl_save_threadsv     CPerlObj::save_threadsv
+#define Perl_sawparens         CPerlObj::sawparens
+#define Perl_scalar            CPerlObj::scalar
+#define Perl_scalarkids                CPerlObj::scalarkids
+#define Perl_scalarseq         CPerlObj::scalarseq
+#define Perl_scalarvoid                CPerlObj::scalarvoid
+#define Perl_scan_bin          CPerlObj::scan_bin
+#define Perl_scan_hex          CPerlObj::scan_hex
+#define Perl_scan_num          CPerlObj::scan_num
+#define Perl_scan_oct          CPerlObj::scan_oct
+#define Perl_scope             CPerlObj::scope
+#define Perl_screaminstr       CPerlObj::screaminstr
+#if !defined(VMS)
+#define Perl_setenv_getix      CPerlObj::setenv_getix
+#endif
+#define Perl_setdefout         CPerlObj::setdefout
+#define Perl_sharepvn          CPerlObj::sharepvn
+#define Perl_share_hek         CPerlObj::share_hek
+#define Perl_sighandler                CPerlObj::sighandler
+#define Perl_stack_grow                CPerlObj::stack_grow
+#define Perl_start_subparse    CPerlObj::start_subparse
+#define Perl_sub_crush_depth   CPerlObj::sub_crush_depth
+#define Perl_sv_2bool          CPerlObj::sv_2bool
+#define Perl_sv_2cv            CPerlObj::sv_2cv
+#define Perl_sv_2io            CPerlObj::sv_2io
+#define Perl_sv_2iv            CPerlObj::sv_2iv
+#define Perl_sv_2mortal                CPerlObj::sv_2mortal
+#define Perl_sv_2nv            CPerlObj::sv_2nv
+#define Perl_sv_2pv            CPerlObj::sv_2pv
+#define Perl_sv_2uv            CPerlObj::sv_2uv
+#define Perl_sv_iv             CPerlObj::sv_iv
+#define Perl_sv_uv             CPerlObj::sv_uv
+#define Perl_sv_nv             CPerlObj::sv_nv
+#define Perl_sv_pvn            CPerlObj::sv_pvn
+#define Perl_sv_true           CPerlObj::sv_true
+#define Perl_sv_add_arena      CPerlObj::sv_add_arena
+#define Perl_sv_backoff                CPerlObj::sv_backoff
+#define Perl_sv_bless          CPerlObj::sv_bless
+#define Perl_sv_catpvf         CPerlObj::sv_catpvf
+#define Perl_sv_catpv          CPerlObj::sv_catpv
+#define Perl_sv_catpvn         CPerlObj::sv_catpvn
+#define Perl_sv_catsv          CPerlObj::sv_catsv
+#define Perl_sv_chop           CPerlObj::sv_chop
+#define Perl_sv_clean_all      CPerlObj::sv_clean_all
+#define Perl_sv_clean_objs     CPerlObj::sv_clean_objs
+#define Perl_sv_clear          CPerlObj::sv_clear
+#define Perl_sv_cmp            CPerlObj::sv_cmp
+#define Perl_sv_cmp_locale     CPerlObj::sv_cmp_locale
+#if defined(USE_LOCALE_COLLATE)
+#define Perl_sv_collxfrm       CPerlObj::sv_collxfrm
+#endif
+#define Perl_sv_compile_2op    CPerlObj::sv_compile_2op
+#define Perl_sv_dec            CPerlObj::sv_dec
+#define Perl_sv_dump           CPerlObj::sv_dump
+#define Perl_sv_derived_from   CPerlObj::sv_derived_from
+#define Perl_sv_eq             CPerlObj::sv_eq
+#define Perl_sv_free           CPerlObj::sv_free
+#define Perl_sv_free_arenas    CPerlObj::sv_free_arenas
+#define Perl_sv_gets           CPerlObj::sv_gets
+#define Perl_sv_grow           CPerlObj::sv_grow
+#define Perl_sv_inc            CPerlObj::sv_inc
+#define Perl_sv_insert         CPerlObj::sv_insert
+#define Perl_sv_isa            CPerlObj::sv_isa
+#define Perl_sv_isobject       CPerlObj::sv_isobject
+#define Perl_sv_len            CPerlObj::sv_len
+#define Perl_sv_len_utf8       CPerlObj::sv_len_utf8
+#define Perl_sv_magic          CPerlObj::sv_magic
+#define Perl_sv_mortalcopy     CPerlObj::sv_mortalcopy
+#define Perl_sv_newmortal      CPerlObj::sv_newmortal
+#define Perl_sv_newref         CPerlObj::sv_newref
+#define Perl_sv_peek           CPerlObj::sv_peek
+#define Perl_sv_pos_u2b                CPerlObj::sv_pos_u2b
+#define Perl_sv_pos_b2u                CPerlObj::sv_pos_b2u
+#define Perl_sv_pvn_force      CPerlObj::sv_pvn_force
+#define Perl_sv_reftype                CPerlObj::sv_reftype
+#define Perl_sv_replace                CPerlObj::sv_replace
+#define Perl_sv_report_used    CPerlObj::sv_report_used
+#define Perl_sv_reset          CPerlObj::sv_reset
+#define Perl_sv_setpvf         CPerlObj::sv_setpvf
+#define Perl_sv_setiv          CPerlObj::sv_setiv
+#define Perl_sv_setpviv                CPerlObj::sv_setpviv
+#define Perl_sv_setuv          CPerlObj::sv_setuv
+#define Perl_sv_setnv          CPerlObj::sv_setnv
+#define Perl_sv_setref_iv      CPerlObj::sv_setref_iv
+#define Perl_sv_setref_nv      CPerlObj::sv_setref_nv
+#define Perl_sv_setref_pv      CPerlObj::sv_setref_pv
+#define Perl_sv_setref_pvn     CPerlObj::sv_setref_pvn
+#define Perl_sv_setpv          CPerlObj::sv_setpv
+#define Perl_sv_setpvn         CPerlObj::sv_setpvn
+#define Perl_sv_setsv          CPerlObj::sv_setsv
+#define Perl_sv_taint          CPerlObj::sv_taint
+#define Perl_sv_tainted                CPerlObj::sv_tainted
+#define Perl_sv_unmagic                CPerlObj::sv_unmagic
+#define Perl_sv_unref          CPerlObj::sv_unref
+#define Perl_sv_untaint                CPerlObj::sv_untaint
+#define Perl_sv_upgrade                CPerlObj::sv_upgrade
+#define Perl_sv_usepvn         CPerlObj::sv_usepvn
+#define Perl_sv_vcatpvfn       CPerlObj::sv_vcatpvfn
+#define Perl_sv_vsetpvfn       CPerlObj::sv_vsetpvfn
+#define Perl_swash_init                CPerlObj::swash_init
+#define Perl_swash_fetch       CPerlObj::swash_fetch
+#define Perl_taint_env         CPerlObj::taint_env
+#define Perl_taint_proper      CPerlObj::taint_proper
+#define Perl_to_utf8_lower     CPerlObj::to_utf8_lower
+#define Perl_to_utf8_upper     CPerlObj::to_utf8_upper
+#define Perl_to_utf8_title     CPerlObj::to_utf8_title
+#if defined(UNLINK_ALL_VERSIONS)
+#define Perl_unlnk             CPerlObj::unlnk
+#endif
+#if defined(USE_THREADS)
+#define Perl_unlock_condpair   CPerlObj::unlock_condpair
+#endif
+#define Perl_unsharepvn                CPerlObj::unsharepvn
+#define Perl_unshare_hek       CPerlObj::unshare_hek
+#define Perl_utilize           CPerlObj::utilize
+#define Perl_utf16_to_utf8     CPerlObj::utf16_to_utf8
+#define Perl_utf16_to_utf8_reversed    CPerlObj::utf16_to_utf8_reversed
+#define Perl_utf8_distance     CPerlObj::utf8_distance
+#define Perl_utf8_hop          CPerlObj::utf8_hop
+#define Perl_utf8_to_uv                CPerlObj::utf8_to_uv
+#define Perl_uv_to_utf8                CPerlObj::uv_to_utf8
+#define Perl_vivify_defelem    CPerlObj::vivify_defelem
+#define Perl_vivify_ref                CPerlObj::vivify_ref
+#define Perl_wait4pid          CPerlObj::wait4pid
+#define Perl_warn              CPerlObj::warn
+#define Perl_warner            CPerlObj::warner
+#define Perl_watch             CPerlObj::watch
+#define Perl_whichsig          CPerlObj::whichsig
+#define Perl_yyerror           CPerlObj::yyerror
+#if defined(USE_PURE_BISON)
+#define Perl_yylex             CPerlObj::yylex
+#else
+#define Perl_yylex             CPerlObj::yylex
+#endif
+#define Perl_yyparse           CPerlObj::yyparse
+#define Perl_yywarn            CPerlObj::yywarn
+#if defined(MYMALLOC)
+#define Perl_dump_mstats       CPerlObj::dump_mstats
+#endif
+#define Perl_safesysmalloc     CPerlObj::safesysmalloc
+#define Perl_safesyscalloc     CPerlObj::safesyscalloc
+#define Perl_safesysrealloc    CPerlObj::safesysrealloc
+#define Perl_safesysfree       CPerlObj::safesysfree
+#if defined(LEAKTEST)
+#define Perl_safexmalloc       CPerlObj::safexmalloc
+#define Perl_safexcalloc       CPerlObj::safexcalloc
+#define Perl_safexrealloc      CPerlObj::safexrealloc
+#define Perl_safexfree         CPerlObj::safexfree
+#endif
+#if defined(PERL_GLOBAL_STRUCT)
+#define Perl_GetVars           CPerlObj::GetVars
+#endif
+#define Perl_yydestruct                CPerlObj::yydestruct
+#define Perl_runops_standard   CPerlObj::runops_standard
+#define Perl_runops_debug      CPerlObj::runops_debug
+#if defined(WIN32)
+#define Perl_ErrorNo           CPerlObj::ErrorNo
+#endif
+#define Perl_sv_catpvf_mg      CPerlObj::sv_catpvf_mg
+#define Perl_sv_catpv_mg       CPerlObj::sv_catpv_mg
+#define Perl_sv_catpvn_mg      CPerlObj::sv_catpvn_mg
+#define Perl_sv_catsv_mg       CPerlObj::sv_catsv_mg
+#define Perl_sv_setpvf_mg      CPerlObj::sv_setpvf_mg
+#define Perl_sv_setiv_mg       CPerlObj::sv_setiv_mg
+#define Perl_sv_setpviv_mg     CPerlObj::sv_setpviv_mg
+#define Perl_sv_setuv_mg       CPerlObj::sv_setuv_mg
+#define Perl_sv_setnv_mg       CPerlObj::sv_setnv_mg
+#define Perl_sv_setpv_mg       CPerlObj::sv_setpv_mg
+#define Perl_sv_setpvn_mg      CPerlObj::sv_setpvn_mg
+#define Perl_sv_setsv_mg       CPerlObj::sv_setsv_mg
+#define Perl_sv_usepvn_mg      CPerlObj::sv_usepvn_mg
+#define Perl_get_vtbl          CPerlObj::get_vtbl
+#define Perl_pv_display                CPerlObj::pv_display
+#define Perl_dump_indent       CPerlObj::dump_indent
+#define Perl_do_gv_dump                CPerlObj::do_gv_dump
+#define Perl_do_gvgv_dump      CPerlObj::do_gvgv_dump
+#define Perl_do_hv_dump                CPerlObj::do_hv_dump
+#define Perl_do_magic_dump     CPerlObj::do_magic_dump
+#define Perl_do_op_dump                CPerlObj::do_op_dump
+#define Perl_do_pmop_dump      CPerlObj::do_pmop_dump
+#define Perl_do_sv_dump                CPerlObj::do_sv_dump
+#define Perl_magic_dump                CPerlObj::magic_dump
+#define Perl_default_protect   CPerlObj::default_protect
+#define Perl_reginitcolors     CPerlObj::reginitcolors
+#define Perl_sv_2pv_nolen      CPerlObj::sv_2pv_nolen
+#define Perl_sv_pv             CPerlObj::sv_pv
+#define Perl_sv_force_normal   CPerlObj::sv_force_normal
+#define Perl_tmps_grow         CPerlObj::tmps_grow
+#define Perl_sv_rvweaken       CPerlObj::sv_rvweaken
+#define Perl_magic_killbackrefs        CPerlObj::magic_killbackrefs
+#if defined(PERL_IN_AV_C)
+#define S_avhv_index_sv                CPerlObj::avhv_index_sv
+#endif
+#if defined(PERL_IN_DOOP_C)
+#define S_do_trans_CC_simple   CPerlObj::do_trans_CC_simple
+#define S_do_trans_CC_count    CPerlObj::do_trans_CC_count
+#define S_do_trans_CC_complex  CPerlObj::do_trans_CC_complex
+#define S_do_trans_UU_simple   CPerlObj::do_trans_UU_simple
+#define S_do_trans_UU_count    CPerlObj::do_trans_UU_count
+#define S_do_trans_UU_complex  CPerlObj::do_trans_UU_complex
+#define S_do_trans_UC_simple   CPerlObj::do_trans_UC_simple
+#define S_do_trans_CU_simple   CPerlObj::do_trans_CU_simple
+#define S_do_trans_UC_trivial  CPerlObj::do_trans_UC_trivial
+#define S_do_trans_CU_trivial  CPerlObj::do_trans_CU_trivial
+#endif
+#if defined(PERL_IN_GLOBALS_C)
+#  if defined(WIN32)
+#define S_do_aspawn            CPerlObj::do_aspawn
+#  endif
+#endif
+#if defined(PERL_IN_GV_C)
+#define S_gv_init_sv           CPerlObj::gv_init_sv
+#endif
+#if defined(PERL_IN_HV_C)
+#define S_hsplit               CPerlObj::hsplit
+#define S_hfreeentries         CPerlObj::hfreeentries
+#define S_more_he              CPerlObj::more_he
+#define S_new_he               CPerlObj::new_he
+#define S_del_he               CPerlObj::del_he
+#define S_save_hek             CPerlObj::save_hek
+#define S_hv_magic_check       CPerlObj::hv_magic_check
+#endif
+#if defined(PERL_IN_MG_C)
+#define S_save_magic           CPerlObj::save_magic
+#define S_magic_methpack       CPerlObj::magic_methpack
+#define S_magic_methcall       CPerlObj::magic_methcall
+#define S_unwind_handler_stack CPerlObj::unwind_handler_stack
+#define S_restore_magic                CPerlObj::restore_magic
+#endif
+#if defined(PERL_IN_OP_C)
+#define S_list_assignment      CPerlObj::list_assignment
+#define S_bad_type             CPerlObj::bad_type
+#define S_modkids              CPerlObj::modkids
+#define S_no_bareword_allowed  CPerlObj::no_bareword_allowed
+#define S_no_fh_allowed                CPerlObj::no_fh_allowed
+#define S_scalarboolean                CPerlObj::scalarboolean
+#define S_too_few_arguments    CPerlObj::too_few_arguments
+#define S_too_many_arguments   CPerlObj::too_many_arguments
+#define S_null                 CPerlObj::null
+#define S_pad_findlex          CPerlObj::pad_findlex
+#define S_newDEFSVOP           CPerlObj::newDEFSVOP
+#define S_new_logop            CPerlObj::new_logop
+#define S_simplify_sort                CPerlObj::simplify_sort
+#define S_is_handle_constructor        CPerlObj::is_handle_constructor
+#define S_gv_ename             CPerlObj::gv_ename
+#define S_cv_clone2            CPerlObj::cv_clone2
+#define S_scalar_mod_type      CPerlObj::scalar_mod_type
+#  if defined(PL_OP_SLAB_ALLOC)
+#define S_Slab_Alloc           CPerlObj::Slab_Alloc
+#  endif
+#endif
+#if defined(PERL_IN_PERL_C)
+#define S_find_beginning       CPerlObj::find_beginning
+#define S_forbid_setid         CPerlObj::forbid_setid
+#define S_incpush              CPerlObj::incpush
+#define S_init_interp          CPerlObj::init_interp
+#define S_init_ids             CPerlObj::init_ids
+#define S_init_debugger                CPerlObj::init_debugger
+#define S_init_lexer           CPerlObj::init_lexer
+#define S_init_main_stash      CPerlObj::init_main_stash
+#define S_init_perllib         CPerlObj::init_perllib
+#define S_init_postdump_symbols        CPerlObj::init_postdump_symbols
+#define S_init_predump_symbols CPerlObj::init_predump_symbols
+#define S_my_exit_jump         CPerlObj::my_exit_jump
+#define S_nuke_stacks          CPerlObj::nuke_stacks
+#define S_open_script          CPerlObj::open_script
+#define S_usage                        CPerlObj::usage
+#define S_validate_suid                CPerlObj::validate_suid
+#define S_read_e_script                CPerlObj::read_e_script
+#  if defined(IAMSUID)
+#define S_fd_on_nosuid_fs      CPerlObj::fd_on_nosuid_fs
+#  endif
+#define S_parse_body           CPerlObj::parse_body
+#define S_run_body             CPerlObj::run_body
+#define S_call_body            CPerlObj::call_body
+#define S_call_xbody           CPerlObj::call_xbody
+#define S_call_list_body       CPerlObj::call_list_body
+#  if defined(USE_THREADS)
+#define S_init_main_thread     CPerlObj::init_main_thread
+#  endif
+#endif
+#if defined(PERL_IN_PP_C)
+#define S_doencodes            CPerlObj::doencodes
+#define S_refto                        CPerlObj::refto
+#define S_seed                 CPerlObj::seed
+#define S_mul128               CPerlObj::mul128
+#define S_is_an_int            CPerlObj::is_an_int
+#define S_div128               CPerlObj::div128
+#endif
+#if defined(PERL_IN_PP_CTL_C)
+#define S_docatch              CPerlObj::docatch
+#define S_docatch_body         CPerlObj::docatch_body
+#define S_dofindlabel          CPerlObj::dofindlabel
+#define S_doparseform          CPerlObj::doparseform
+#define S_dopoptoeval          CPerlObj::dopoptoeval
+#define S_dopoptolabel         CPerlObj::dopoptolabel
+#define S_dopoptoloop          CPerlObj::dopoptoloop
+#define S_dopoptosub           CPerlObj::dopoptosub
+#define S_dopoptosub_at                CPerlObj::dopoptosub_at
+#define S_free_closures                CPerlObj::free_closures
+#define S_save_lines           CPerlObj::save_lines
+#define S_doeval               CPerlObj::doeval
+#define S_doopen_pmc           CPerlObj::doopen_pmc
+#define S_qsortsv              CPerlObj::qsortsv
+#define S_sortcv               CPerlObj::sortcv
+#define S_sv_ncmp              CPerlObj::sv_ncmp
+#define S_sv_i_ncmp            CPerlObj::sv_i_ncmp
+#define S_amagic_ncmp          CPerlObj::amagic_ncmp
+#define S_amagic_i_ncmp                CPerlObj::amagic_i_ncmp
+#define S_amagic_cmp           CPerlObj::amagic_cmp
+#define S_amagic_cmp_locale    CPerlObj::amagic_cmp_locale
+#endif
+#if defined(PERL_IN_PP_HOT_C)
+#define S_get_db_sub           CPerlObj::get_db_sub
+#  if defined(USE_THREADS)
+#define S_unset_cvowner                CPerlObj::unset_cvowner
+#  endif
+#endif
+#if defined(PERL_IN_PP_SYS_C)
+#define S_doform               CPerlObj::doform
+#define S_emulate_eaccess      CPerlObj::emulate_eaccess
+#  if !defined(HAS_MKDIR) || !defined(HAS_RMDIR)
+#define S_dooneliner           CPerlObj::dooneliner
+#  endif
+#endif
+#if defined(PERL_IN_REGCOMP_C)
+#define S_reg                  CPerlObj::reg
+#define S_reganode             CPerlObj::reganode
+#define S_regatom              CPerlObj::regatom
+#define S_regbranch            CPerlObj::regbranch
+#define S_regc                 CPerlObj::regc
+#define S_reguni               CPerlObj::reguni
+#define S_regclass             CPerlObj::regclass
+#define S_regclassutf8         CPerlObj::regclassutf8
+#define S_regcurly             CPerlObj::regcurly
+#define S_reg_node             CPerlObj::reg_node
+#define S_regpiece             CPerlObj::regpiece
+#define S_reginsert            CPerlObj::reginsert
+#define S_regoptail            CPerlObj::regoptail
+#define S_regtail              CPerlObj::regtail
+#define S_regwhite             CPerlObj::regwhite
+#define S_nextchar             CPerlObj::nextchar
+#define S_dumpuntil            CPerlObj::dumpuntil
+#define S_scan_commit          CPerlObj::scan_commit
+#define S_study_chunk          CPerlObj::study_chunk
+#define S_add_data             CPerlObj::add_data
+#define S_re_croak2            CPerlObj::re_croak2
+#define S_regpposixcc          CPerlObj::regpposixcc
+#define S_clear_re             CPerlObj::clear_re
+#endif
+#if defined(PERL_IN_REGEXEC_C)
+#define S_regmatch             CPerlObj::regmatch
+#define S_regrepeat            CPerlObj::regrepeat
+#define S_regrepeat_hard       CPerlObj::regrepeat_hard
+#define S_regtry               CPerlObj::regtry
+#define S_reginclass           CPerlObj::reginclass
+#define S_reginclassutf8       CPerlObj::reginclassutf8
+#define S_regcppush            CPerlObj::regcppush
+#define S_regcppop             CPerlObj::regcppop
+#define S_regcp_set_to         CPerlObj::regcp_set_to
+#define S_cache_re             CPerlObj::cache_re
+#define S_restore_pos          CPerlObj::restore_pos
+#define S_reghop               CPerlObj::reghop
+#define S_reghopmaybe          CPerlObj::reghopmaybe
+#endif
+#if defined(PERL_IN_RUN_C)
+#define S_debprof              CPerlObj::debprof
+#endif
+#if defined(PERL_IN_SCOPE_C)
+#define S_save_scalar_at       CPerlObj::save_scalar_at
+#endif
+#if defined(PERL_IN_SV_C)
+#define S_asIV                 CPerlObj::asIV
+#define S_asUV                 CPerlObj::asUV
+#define S_more_sv              CPerlObj::more_sv
+#define S_more_xiv             CPerlObj::more_xiv
+#define S_more_xnv             CPerlObj::more_xnv
+#define S_more_xpv             CPerlObj::more_xpv
+#define S_more_xrv             CPerlObj::more_xrv
+#define S_new_xiv              CPerlObj::new_xiv
+#define S_new_xnv              CPerlObj::new_xnv
+#define S_new_xpv              CPerlObj::new_xpv
+#define S_new_xrv              CPerlObj::new_xrv
+#define S_del_xiv              CPerlObj::del_xiv
+#define S_del_xnv              CPerlObj::del_xnv
+#define S_del_xpv              CPerlObj::del_xpv
+#define S_del_xrv              CPerlObj::del_xrv
+#define S_sv_unglob            CPerlObj::sv_unglob
+#define S_do_report_used       CPerlObj::do_report_used
+#define S_do_clean_objs                CPerlObj::do_clean_objs
+#define S_do_clean_named_objs  CPerlObj::do_clean_named_objs
+#define S_do_clean_all         CPerlObj::do_clean_all
+#define S_not_a_number         CPerlObj::not_a_number
+#define S_visit                        CPerlObj::visit
+#  if defined(PURIFY)
+#define S_reg_add              CPerlObj::reg_add
+#define S_reg_remove           CPerlObj::reg_remove
+#  else
+#define S_my_safemalloc                CPerlObj::my_safemalloc
+#  endif
+#define S_sv_add_backref       CPerlObj::sv_add_backref
+#define S_sv_del_backref       CPerlObj::sv_del_backref
+#  if defined(DEBUGGING)
+#define S_del_sv               CPerlObj::del_sv
+#  endif
+#endif
+#if defined(PERL_IN_TOKE_C)
+#define S_check_uni            CPerlObj::check_uni
+#define S_force_next           CPerlObj::force_next
+#define S_force_version                CPerlObj::force_version
+#define S_force_word           CPerlObj::force_word
+#define S_tokeq                        CPerlObj::tokeq
+#define S_scan_const           CPerlObj::scan_const
+#define S_scan_formline                CPerlObj::scan_formline
+#define S_scan_heredoc         CPerlObj::scan_heredoc
+#define S_scan_ident           CPerlObj::scan_ident
+#define S_scan_inputsymbol     CPerlObj::scan_inputsymbol
+#define S_scan_pat             CPerlObj::scan_pat
+#define S_scan_str             CPerlObj::scan_str
+#define S_scan_subst           CPerlObj::scan_subst
+#define S_scan_trans           CPerlObj::scan_trans
+#define S_scan_word            CPerlObj::scan_word
+#define S_skipspace            CPerlObj::skipspace
+#define S_checkcomma           CPerlObj::checkcomma
+#define S_force_ident          CPerlObj::force_ident
+#define S_incline              CPerlObj::incline
+#define S_intuit_method                CPerlObj::intuit_method
+#define S_intuit_more          CPerlObj::intuit_more
+#define S_lop                  CPerlObj::lop
+#define S_missingterm          CPerlObj::missingterm
+#define S_no_op                        CPerlObj::no_op
+#define S_set_csh              CPerlObj::set_csh
+#define S_sublex_done          CPerlObj::sublex_done
+#define S_sublex_push          CPerlObj::sublex_push
+#define S_sublex_start         CPerlObj::sublex_start
+#define S_filter_gets          CPerlObj::filter_gets
+#define S_new_constant         CPerlObj::new_constant
+#define S_ao                   CPerlObj::ao
+#define S_depcom               CPerlObj::depcom
+#define S_incl_perldb          CPerlObj::incl_perldb
+#define S_utf16_textfilter     CPerlObj::utf16_textfilter
+#define S_utf16rev_textfilter  CPerlObj::utf16rev_textfilter
+#define S_restore_rsfp         CPerlObj::restore_rsfp
+#define S_restore_expect       CPerlObj::restore_expect
+#define S_restore_lex_expect   CPerlObj::restore_lex_expect
+#  if defined(CRIPPLED_CC)
+#define S_uni                  CPerlObj::uni
+#  endif
+#  if defined(WIN32)
+#define S_win32_textfilter     CPerlObj::win32_textfilter
+#  endif
+#endif
+#if defined(PERL_IN_UNIVERSAL_C)
+#define S_isa_lookup           CPerlObj::isa_lookup
+#endif
+#if defined(PERL_IN_UTIL_C)
+#define S_mess_alloc           CPerlObj::mess_alloc
+#define S_do_croak             CPerlObj::do_croak
+#define S_do_warn              CPerlObj::do_warn
+#  if defined(LEAKTEST)
+#define S_xstat                        CPerlObj::xstat
+#  endif
+#endif
+#define Perl_ck_anoncode       CPerlObj::ck_anoncode
+#define Perl_ck_bitop          CPerlObj::ck_bitop
+#define Perl_ck_concat         CPerlObj::ck_concat
+#define Perl_ck_defined                CPerlObj::ck_defined
+#define Perl_ck_delete         CPerlObj::ck_delete
+#define Perl_ck_eof            CPerlObj::ck_eof
+#define Perl_ck_eval           CPerlObj::ck_eval
+#define Perl_ck_exec           CPerlObj::ck_exec
+#define Perl_ck_exists         CPerlObj::ck_exists
+#define Perl_ck_ftst           CPerlObj::ck_ftst
+#define Perl_ck_fun            CPerlObj::ck_fun
+#define Perl_ck_fun_locale     CPerlObj::ck_fun_locale
+#define Perl_ck_glob           CPerlObj::ck_glob
+#define Perl_ck_grep           CPerlObj::ck_grep
+#define Perl_ck_index          CPerlObj::ck_index
+#define Perl_ck_lengthconst    CPerlObj::ck_lengthconst
+#define Perl_ck_lfun           CPerlObj::ck_lfun
+#define Perl_ck_listiob                CPerlObj::ck_listiob
+#define Perl_ck_match          CPerlObj::ck_match
+#define Perl_ck_null           CPerlObj::ck_null
+#define Perl_ck_repeat         CPerlObj::ck_repeat
+#define Perl_ck_require                CPerlObj::ck_require
+#define Perl_ck_rfun           CPerlObj::ck_rfun
+#define Perl_ck_rvconst                CPerlObj::ck_rvconst
+#define Perl_ck_scmp           CPerlObj::ck_scmp
+#define Perl_ck_select         CPerlObj::ck_select
+#define Perl_ck_shift          CPerlObj::ck_shift
+#define Perl_ck_sort           CPerlObj::ck_sort
+#define Perl_ck_spair          CPerlObj::ck_spair
+#define Perl_ck_split          CPerlObj::ck_split
+#define Perl_ck_subr           CPerlObj::ck_subr
+#define Perl_ck_svconst                CPerlObj::ck_svconst
+#define Perl_ck_trunc          CPerlObj::ck_trunc
+#define Perl_pp_aassign                CPerlObj::pp_aassign
+#define Perl_pp_abs            CPerlObj::pp_abs
+#define Perl_pp_accept         CPerlObj::pp_accept
+#define Perl_pp_add            CPerlObj::pp_add
+#define Perl_pp_aelem          CPerlObj::pp_aelem
+#define Perl_pp_aelemfast      CPerlObj::pp_aelemfast
+#define Perl_pp_alarm          CPerlObj::pp_alarm
+#define Perl_pp_and            CPerlObj::pp_and
+#define Perl_pp_andassign      CPerlObj::pp_andassign
+#define Perl_pp_anoncode       CPerlObj::pp_anoncode
+#define Perl_pp_anonhash       CPerlObj::pp_anonhash
+#define Perl_pp_anonlist       CPerlObj::pp_anonlist
+#define Perl_pp_aslice         CPerlObj::pp_aslice
+#define Perl_pp_atan2          CPerlObj::pp_atan2
+#define Perl_pp_av2arylen      CPerlObj::pp_av2arylen
+#define Perl_pp_backtick       CPerlObj::pp_backtick
+#define Perl_pp_bind           CPerlObj::pp_bind
+#define Perl_pp_binmode                CPerlObj::pp_binmode
+#define Perl_pp_bit_and                CPerlObj::pp_bit_and
+#define Perl_pp_bit_or         CPerlObj::pp_bit_or
+#define Perl_pp_bit_xor                CPerlObj::pp_bit_xor
+#define Perl_pp_bless          CPerlObj::pp_bless
+#define Perl_pp_caller         CPerlObj::pp_caller
+#define Perl_pp_chdir          CPerlObj::pp_chdir
+#define Perl_pp_chmod          CPerlObj::pp_chmod
+#define Perl_pp_chomp          CPerlObj::pp_chomp
+#define Perl_pp_chop           CPerlObj::pp_chop
+#define Perl_pp_chown          CPerlObj::pp_chown
+#define Perl_pp_chr            CPerlObj::pp_chr
+#define Perl_pp_chroot         CPerlObj::pp_chroot
+#define Perl_pp_close          CPerlObj::pp_close
+#define Perl_pp_closedir       CPerlObj::pp_closedir
+#define Perl_pp_complement     CPerlObj::pp_complement
+#define Perl_pp_concat         CPerlObj::pp_concat
+#define Perl_pp_cond_expr      CPerlObj::pp_cond_expr
+#define Perl_pp_connect                CPerlObj::pp_connect
+#define Perl_pp_const          CPerlObj::pp_const
+#define Perl_pp_cos            CPerlObj::pp_cos
+#define Perl_pp_crypt          CPerlObj::pp_crypt
+#define Perl_pp_dbmclose       CPerlObj::pp_dbmclose
+#define Perl_pp_dbmopen                CPerlObj::pp_dbmopen
+#define Perl_pp_dbstate                CPerlObj::pp_dbstate
+#define Perl_pp_defined                CPerlObj::pp_defined
+#define Perl_pp_delete         CPerlObj::pp_delete
+#define Perl_pp_die            CPerlObj::pp_die
+#define Perl_pp_divide         CPerlObj::pp_divide
+#define Perl_pp_dofile         CPerlObj::pp_dofile
+#define Perl_pp_dump           CPerlObj::pp_dump
+#define Perl_pp_each           CPerlObj::pp_each
+#define Perl_pp_egrent         CPerlObj::pp_egrent
+#define Perl_pp_ehostent       CPerlObj::pp_ehostent
+#define Perl_pp_enetent                CPerlObj::pp_enetent
+#define Perl_pp_enter          CPerlObj::pp_enter
+#define Perl_pp_entereval      CPerlObj::pp_entereval
+#define Perl_pp_enteriter      CPerlObj::pp_enteriter
+#define Perl_pp_enterloop      CPerlObj::pp_enterloop
+#define Perl_pp_entersub       CPerlObj::pp_entersub
+#define Perl_pp_entertry       CPerlObj::pp_entertry
+#define Perl_pp_enterwrite     CPerlObj::pp_enterwrite
+#define Perl_pp_eof            CPerlObj::pp_eof
+#define Perl_pp_eprotoent      CPerlObj::pp_eprotoent
+#define Perl_pp_epwent         CPerlObj::pp_epwent
+#define Perl_pp_eq             CPerlObj::pp_eq
+#define Perl_pp_eservent       CPerlObj::pp_eservent
+#define Perl_pp_exec           CPerlObj::pp_exec
+#define Perl_pp_exists         CPerlObj::pp_exists
+#define Perl_pp_exit           CPerlObj::pp_exit
+#define Perl_pp_exp            CPerlObj::pp_exp
+#define Perl_pp_fcntl          CPerlObj::pp_fcntl
+#define Perl_pp_fileno         CPerlObj::pp_fileno
+#define Perl_pp_flip           CPerlObj::pp_flip
+#define Perl_pp_flock          CPerlObj::pp_flock
+#define Perl_pp_flop           CPerlObj::pp_flop
+#define Perl_pp_fork           CPerlObj::pp_fork
+#define Perl_pp_formline       CPerlObj::pp_formline
+#define Perl_pp_ftatime                CPerlObj::pp_ftatime
+#define Perl_pp_ftbinary       CPerlObj::pp_ftbinary
+#define Perl_pp_ftblk          CPerlObj::pp_ftblk
+#define Perl_pp_ftchr          CPerlObj::pp_ftchr
+#define Perl_pp_ftctime                CPerlObj::pp_ftctime
+#define Perl_pp_ftdir          CPerlObj::pp_ftdir
+#define Perl_pp_fteexec                CPerlObj::pp_fteexec
+#define Perl_pp_fteowned       CPerlObj::pp_fteowned
+#define Perl_pp_fteread                CPerlObj::pp_fteread
+#define Perl_pp_ftewrite       CPerlObj::pp_ftewrite
+#define Perl_pp_ftfile         CPerlObj::pp_ftfile
+#define Perl_pp_ftis           CPerlObj::pp_ftis
+#define Perl_pp_ftlink         CPerlObj::pp_ftlink
+#define Perl_pp_ftmtime                CPerlObj::pp_ftmtime
+#define Perl_pp_ftpipe         CPerlObj::pp_ftpipe
+#define Perl_pp_ftrexec                CPerlObj::pp_ftrexec
+#define Perl_pp_ftrowned       CPerlObj::pp_ftrowned
+#define Perl_pp_ftrread                CPerlObj::pp_ftrread
+#define Perl_pp_ftrwrite       CPerlObj::pp_ftrwrite
+#define Perl_pp_ftsgid         CPerlObj::pp_ftsgid
+#define Perl_pp_ftsize         CPerlObj::pp_ftsize
+#define Perl_pp_ftsock         CPerlObj::pp_ftsock
+#define Perl_pp_ftsuid         CPerlObj::pp_ftsuid
+#define Perl_pp_ftsvtx         CPerlObj::pp_ftsvtx
+#define Perl_pp_fttext         CPerlObj::pp_fttext
+#define Perl_pp_fttty          CPerlObj::pp_fttty
+#define Perl_pp_ftzero         CPerlObj::pp_ftzero
+#define Perl_pp_ge             CPerlObj::pp_ge
+#define Perl_pp_gelem          CPerlObj::pp_gelem
+#define Perl_pp_getc           CPerlObj::pp_getc
+#define Perl_pp_getlogin       CPerlObj::pp_getlogin
+#define Perl_pp_getpeername    CPerlObj::pp_getpeername
+#define Perl_pp_getpgrp                CPerlObj::pp_getpgrp
+#define Perl_pp_getppid                CPerlObj::pp_getppid
+#define Perl_pp_getpriority    CPerlObj::pp_getpriority
+#define Perl_pp_getsockname    CPerlObj::pp_getsockname
+#define Perl_pp_ggrent         CPerlObj::pp_ggrent
+#define Perl_pp_ggrgid         CPerlObj::pp_ggrgid
+#define Perl_pp_ggrnam         CPerlObj::pp_ggrnam
+#define Perl_pp_ghbyaddr       CPerlObj::pp_ghbyaddr
+#define Perl_pp_ghbyname       CPerlObj::pp_ghbyname
+#define Perl_pp_ghostent       CPerlObj::pp_ghostent
+#define Perl_pp_glob           CPerlObj::pp_glob
+#define Perl_pp_gmtime         CPerlObj::pp_gmtime
+#define Perl_pp_gnbyaddr       CPerlObj::pp_gnbyaddr
+#define Perl_pp_gnbyname       CPerlObj::pp_gnbyname
+#define Perl_pp_gnetent                CPerlObj::pp_gnetent
+#define Perl_pp_goto           CPerlObj::pp_goto
+#define Perl_pp_gpbyname       CPerlObj::pp_gpbyname
+#define Perl_pp_gpbynumber     CPerlObj::pp_gpbynumber
+#define Perl_pp_gprotoent      CPerlObj::pp_gprotoent
+#define Perl_pp_gpwent         CPerlObj::pp_gpwent
+#define Perl_pp_gpwnam         CPerlObj::pp_gpwnam
+#define Perl_pp_gpwuid         CPerlObj::pp_gpwuid
+#define Perl_pp_grepstart      CPerlObj::pp_grepstart
+#define Perl_pp_grepwhile      CPerlObj::pp_grepwhile
+#define Perl_pp_gsbyname       CPerlObj::pp_gsbyname
+#define Perl_pp_gsbyport       CPerlObj::pp_gsbyport
+#define Perl_pp_gservent       CPerlObj::pp_gservent
+#define Perl_pp_gsockopt       CPerlObj::pp_gsockopt
+#define Perl_pp_gt             CPerlObj::pp_gt
+#define Perl_pp_gv             CPerlObj::pp_gv
+#define Perl_pp_gvsv           CPerlObj::pp_gvsv
+#define Perl_pp_helem          CPerlObj::pp_helem
+#define Perl_pp_hex            CPerlObj::pp_hex
+#define Perl_pp_hslice         CPerlObj::pp_hslice
+#define Perl_pp_i_add          CPerlObj::pp_i_add
+#define Perl_pp_i_divide       CPerlObj::pp_i_divide
+#define Perl_pp_i_eq           CPerlObj::pp_i_eq
+#define Perl_pp_i_ge           CPerlObj::pp_i_ge
+#define Perl_pp_i_gt           CPerlObj::pp_i_gt
+#define Perl_pp_i_le           CPerlObj::pp_i_le
+#define Perl_pp_i_lt           CPerlObj::pp_i_lt
+#define Perl_pp_i_modulo       CPerlObj::pp_i_modulo
+#define Perl_pp_i_multiply     CPerlObj::pp_i_multiply
+#define Perl_pp_i_ncmp         CPerlObj::pp_i_ncmp
+#define Perl_pp_i_ne           CPerlObj::pp_i_ne
+#define Perl_pp_i_negate       CPerlObj::pp_i_negate
+#define Perl_pp_i_subtract     CPerlObj::pp_i_subtract
+#define Perl_pp_index          CPerlObj::pp_index
+#define Perl_pp_int            CPerlObj::pp_int
+#define Perl_pp_ioctl          CPerlObj::pp_ioctl
+#define Perl_pp_iter           CPerlObj::pp_iter
+#define Perl_pp_join           CPerlObj::pp_join
+#define Perl_pp_keys           CPerlObj::pp_keys
+#define Perl_pp_kill           CPerlObj::pp_kill
+#define Perl_pp_last           CPerlObj::pp_last
+#define Perl_pp_lc             CPerlObj::pp_lc
+#define Perl_pp_lcfirst                CPerlObj::pp_lcfirst
+#define Perl_pp_le             CPerlObj::pp_le
+#define Perl_pp_leave          CPerlObj::pp_leave
+#define Perl_pp_leaveeval      CPerlObj::pp_leaveeval
+#define Perl_pp_leaveloop      CPerlObj::pp_leaveloop
+#define Perl_pp_leavesub       CPerlObj::pp_leavesub
+#define Perl_pp_leavetry       CPerlObj::pp_leavetry
+#define Perl_pp_leavewrite     CPerlObj::pp_leavewrite
+#define Perl_pp_left_shift     CPerlObj::pp_left_shift
+#define Perl_pp_length         CPerlObj::pp_length
+#define Perl_pp_lineseq                CPerlObj::pp_lineseq
+#define Perl_pp_link           CPerlObj::pp_link
+#define Perl_pp_list           CPerlObj::pp_list
+#define Perl_pp_listen         CPerlObj::pp_listen
+#define Perl_pp_localtime      CPerlObj::pp_localtime
+#define Perl_pp_lock           CPerlObj::pp_lock
+#define Perl_pp_log            CPerlObj::pp_log
+#define Perl_pp_lslice         CPerlObj::pp_lslice
+#define Perl_pp_lstat          CPerlObj::pp_lstat
+#define Perl_pp_lt             CPerlObj::pp_lt
+#define Perl_pp_mapstart       CPerlObj::pp_mapstart
+#define Perl_pp_mapwhile       CPerlObj::pp_mapwhile
+#define Perl_pp_match          CPerlObj::pp_match
+#define Perl_pp_method         CPerlObj::pp_method
+#define Perl_pp_mkdir          CPerlObj::pp_mkdir
+#define Perl_pp_modulo         CPerlObj::pp_modulo
+#define Perl_pp_msgctl         CPerlObj::pp_msgctl
+#define Perl_pp_msgget         CPerlObj::pp_msgget
+#define Perl_pp_msgrcv         CPerlObj::pp_msgrcv
+#define Perl_pp_msgsnd         CPerlObj::pp_msgsnd
+#define Perl_pp_multiply       CPerlObj::pp_multiply
+#define Perl_pp_ncmp           CPerlObj::pp_ncmp
+#define Perl_pp_ne             CPerlObj::pp_ne
+#define Perl_pp_negate         CPerlObj::pp_negate
+#define Perl_pp_next           CPerlObj::pp_next
+#define Perl_pp_nextstate      CPerlObj::pp_nextstate
+#define Perl_pp_not            CPerlObj::pp_not
+#define Perl_pp_null           CPerlObj::pp_null
+#define Perl_pp_oct            CPerlObj::pp_oct
+#define Perl_pp_open           CPerlObj::pp_open
+#define Perl_pp_open_dir       CPerlObj::pp_open_dir
+#define Perl_pp_or             CPerlObj::pp_or
+#define Perl_pp_orassign       CPerlObj::pp_orassign
+#define Perl_pp_ord            CPerlObj::pp_ord
+#define Perl_pp_pack           CPerlObj::pp_pack
+#define Perl_pp_padany         CPerlObj::pp_padany
+#define Perl_pp_padav          CPerlObj::pp_padav
+#define Perl_pp_padhv          CPerlObj::pp_padhv
+#define Perl_pp_padsv          CPerlObj::pp_padsv
+#define Perl_pp_pipe_op                CPerlObj::pp_pipe_op
+#define Perl_pp_pop            CPerlObj::pp_pop
+#define Perl_pp_pos            CPerlObj::pp_pos
+#define Perl_pp_postdec                CPerlObj::pp_postdec
+#define Perl_pp_postinc                CPerlObj::pp_postinc
+#define Perl_pp_pow            CPerlObj::pp_pow
+#define Perl_pp_predec         CPerlObj::pp_predec
+#define Perl_pp_preinc         CPerlObj::pp_preinc
+#define Perl_pp_print          CPerlObj::pp_print
+#define Perl_pp_prototype      CPerlObj::pp_prototype
+#define Perl_pp_prtf           CPerlObj::pp_prtf
+#define Perl_pp_push           CPerlObj::pp_push
+#define Perl_pp_pushmark       CPerlObj::pp_pushmark
+#define Perl_pp_pushre         CPerlObj::pp_pushre
+#define Perl_pp_qr             CPerlObj::pp_qr
+#define Perl_pp_quotemeta      CPerlObj::pp_quotemeta
+#define Perl_pp_rand           CPerlObj::pp_rand
+#define Perl_pp_range          CPerlObj::pp_range
+#define Perl_pp_rcatline       CPerlObj::pp_rcatline
+#define Perl_pp_read           CPerlObj::pp_read
+#define Perl_pp_readdir                CPerlObj::pp_readdir
+#define Perl_pp_readline       CPerlObj::pp_readline
+#define Perl_pp_readlink       CPerlObj::pp_readlink
+#define Perl_pp_recv           CPerlObj::pp_recv
+#define Perl_pp_redo           CPerlObj::pp_redo
+#define Perl_pp_ref            CPerlObj::pp_ref
+#define Perl_pp_refgen         CPerlObj::pp_refgen
+#define Perl_pp_regcmaybe      CPerlObj::pp_regcmaybe
+#define Perl_pp_regcomp                CPerlObj::pp_regcomp
+#define Perl_pp_regcreset      CPerlObj::pp_regcreset
+#define Perl_pp_rename         CPerlObj::pp_rename
+#define Perl_pp_repeat         CPerlObj::pp_repeat
+#define Perl_pp_require                CPerlObj::pp_require
+#define Perl_pp_reset          CPerlObj::pp_reset
+#define Perl_pp_return         CPerlObj::pp_return
+#define Perl_pp_reverse                CPerlObj::pp_reverse
+#define Perl_pp_rewinddir      CPerlObj::pp_rewinddir
+#define Perl_pp_right_shift    CPerlObj::pp_right_shift
+#define Perl_pp_rindex         CPerlObj::pp_rindex
+#define Perl_pp_rmdir          CPerlObj::pp_rmdir
+#define Perl_pp_rv2av          CPerlObj::pp_rv2av
+#define Perl_pp_rv2cv          CPerlObj::pp_rv2cv
+#define Perl_pp_rv2gv          CPerlObj::pp_rv2gv
+#define Perl_pp_rv2hv          CPerlObj::pp_rv2hv
+#define Perl_pp_rv2sv          CPerlObj::pp_rv2sv
+#define Perl_pp_sassign                CPerlObj::pp_sassign
+#define Perl_pp_scalar         CPerlObj::pp_scalar
+#define Perl_pp_schomp         CPerlObj::pp_schomp
+#define Perl_pp_schop          CPerlObj::pp_schop
+#define Perl_pp_scmp           CPerlObj::pp_scmp
+#define Perl_pp_scope          CPerlObj::pp_scope
+#define Perl_pp_seek           CPerlObj::pp_seek
+#define Perl_pp_seekdir                CPerlObj::pp_seekdir
+#define Perl_pp_select         CPerlObj::pp_select
+#define Perl_pp_semctl         CPerlObj::pp_semctl
+#define Perl_pp_semget         CPerlObj::pp_semget
+#define Perl_pp_semop          CPerlObj::pp_semop
+#define Perl_pp_send           CPerlObj::pp_send
+#define Perl_pp_seq            CPerlObj::pp_seq
+#define Perl_pp_setpgrp                CPerlObj::pp_setpgrp
+#define Perl_pp_setpriority    CPerlObj::pp_setpriority
+#define Perl_pp_sge            CPerlObj::pp_sge
+#define Perl_pp_sgrent         CPerlObj::pp_sgrent
+#define Perl_pp_sgt            CPerlObj::pp_sgt
+#define Perl_pp_shift          CPerlObj::pp_shift
+#define Perl_pp_shmctl         CPerlObj::pp_shmctl
+#define Perl_pp_shmget         CPerlObj::pp_shmget
+#define Perl_pp_shmread                CPerlObj::pp_shmread
+#define Perl_pp_shmwrite       CPerlObj::pp_shmwrite
+#define Perl_pp_shostent       CPerlObj::pp_shostent
+#define Perl_pp_shutdown       CPerlObj::pp_shutdown
+#define Perl_pp_sin            CPerlObj::pp_sin
+#define Perl_pp_sle            CPerlObj::pp_sle
+#define Perl_pp_sleep          CPerlObj::pp_sleep
+#define Perl_pp_slt            CPerlObj::pp_slt
+#define Perl_pp_sne            CPerlObj::pp_sne
+#define Perl_pp_snetent                CPerlObj::pp_snetent
+#define Perl_pp_socket         CPerlObj::pp_socket
+#define Perl_pp_sockpair       CPerlObj::pp_sockpair
+#define Perl_pp_sort           CPerlObj::pp_sort
+#define Perl_pp_splice         CPerlObj::pp_splice
+#define Perl_pp_split          CPerlObj::pp_split
+#define Perl_pp_sprintf                CPerlObj::pp_sprintf
+#define Perl_pp_sprotoent      CPerlObj::pp_sprotoent
+#define Perl_pp_spwent         CPerlObj::pp_spwent
+#define Perl_pp_sqrt           CPerlObj::pp_sqrt
+#define Perl_pp_srand          CPerlObj::pp_srand
+#define Perl_pp_srefgen                CPerlObj::pp_srefgen
+#define Perl_pp_sselect                CPerlObj::pp_sselect
+#define Perl_pp_sservent       CPerlObj::pp_sservent
+#define Perl_pp_ssockopt       CPerlObj::pp_ssockopt
+#define Perl_pp_stat           CPerlObj::pp_stat
+#define Perl_pp_stringify      CPerlObj::pp_stringify
+#define Perl_pp_stub           CPerlObj::pp_stub
+#define Perl_pp_study          CPerlObj::pp_study
+#define Perl_pp_subst          CPerlObj::pp_subst
+#define Perl_pp_substcont      CPerlObj::pp_substcont
+#define Perl_pp_substr         CPerlObj::pp_substr
+#define Perl_pp_subtract       CPerlObj::pp_subtract
+#define Perl_pp_symlink                CPerlObj::pp_symlink
+#define Perl_pp_syscall                CPerlObj::pp_syscall
+#define Perl_pp_sysopen                CPerlObj::pp_sysopen
+#define Perl_pp_sysread                CPerlObj::pp_sysread
+#define Perl_pp_sysseek                CPerlObj::pp_sysseek
+#define Perl_pp_system         CPerlObj::pp_system
+#define Perl_pp_syswrite       CPerlObj::pp_syswrite
+#define Perl_pp_tell           CPerlObj::pp_tell
+#define Perl_pp_telldir                CPerlObj::pp_telldir
+#define Perl_pp_threadsv       CPerlObj::pp_threadsv
+#define Perl_pp_tie            CPerlObj::pp_tie
+#define Perl_pp_tied           CPerlObj::pp_tied
+#define Perl_pp_time           CPerlObj::pp_time
+#define Perl_pp_tms            CPerlObj::pp_tms
+#define Perl_pp_trans          CPerlObj::pp_trans
+#define Perl_pp_truncate       CPerlObj::pp_truncate
+#define Perl_pp_uc             CPerlObj::pp_uc
+#define Perl_pp_ucfirst                CPerlObj::pp_ucfirst
+#define Perl_pp_umask          CPerlObj::pp_umask
+#define Perl_pp_undef          CPerlObj::pp_undef
+#define Perl_pp_unlink         CPerlObj::pp_unlink
+#define Perl_pp_unpack         CPerlObj::pp_unpack
+#define Perl_pp_unshift                CPerlObj::pp_unshift
+#define Perl_pp_unstack                CPerlObj::pp_unstack
+#define Perl_pp_untie          CPerlObj::pp_untie
+#define Perl_pp_utime          CPerlObj::pp_utime
+#define Perl_pp_values         CPerlObj::pp_values
+#define Perl_pp_vec            CPerlObj::pp_vec
+#define Perl_pp_wait           CPerlObj::pp_wait
+#define Perl_pp_waitpid                CPerlObj::pp_waitpid
+#define Perl_pp_wantarray      CPerlObj::pp_wantarray
+#define Perl_pp_warn           CPerlObj::pp_warn
+#define Perl_pp_xor            CPerlObj::pp_xor
 
 #endif /* PERL_OBJECT */
 
-/* compatibility stubs */
+/* Compatibility stubs.  Compile extensions with -DPERL_NOCOMPAT to
+   disable them.
+ */
+
+#if !defined(PERL_CORE) && !defined(PERL_NOCOMPAT)
+
+#  define sv_setptrobj(rv,ptr,name)    sv_setref_iv(rv,name,(IV)ptr)
+#  define sv_setptrref(rv,ptr)         sv_setref_iv(rv,Nullch,(IV)ptr)
+
+
+/* Compatibility for various misnamed functions.  All functions
+   in the API that begin with "perl_" (not "Perl_") take an explicit
+   interpreter context pointer.
+   The following are not like that, but since they had a "perl_"
+   prefix in previous versions, we provide compatibility macros.
+ */
+#  define perl_atexit                  call_atexit
+#  define perl_call_argv               call_argv
+#  define perl_call_pv                 call_pv
+#  define perl_call_method             call_method
+#  define perl_call_sv                 call_sv
+#  define perl_eval_sv                 eval_sv
+#  define perl_eval_pv                 eval_pv
+#  define perl_require_pv              require_pv
+#  define perl_get_sv                  get_sv
+#  define perl_get_av                  get_av
+#  define perl_get_hv                  get_hv
+#  define perl_get_cv                  get_cv
+#  define perl_init_i18nl10n           init_i18nl10n
+#  define perl_init_i18nl14n           init_i18nl14n
+#  define perl_new_ctype               new_ctype
+#  define perl_new_collate             new_collate
+#  define perl_new_numeric             new_numeric
+
+/* varargs functions can't be handled with CPP macros. :-(
+   This provides a set of compatibility functions that don't take
+   an extra argument but grab the context pointer using the macro
+   dTHX.
+ */
+#if defined(PERL_IMPLICIT_CONTEXT)
+#  define croak                                Perl_croak_nocontext
+#  define die                          Perl_die_nocontext
+#  define form                         Perl_form_nocontext
+#  define newSVpvf                     Perl_newSVpvf_nocontext
+#  define sv_catpvf                    Perl_sv_catpvf_nocontext
+#  define sv_setpvf                    Perl_sv_setpvf_nocontext
+#  define warn                         Perl_warn_nocontext
+#  define sv_catpvf_mg                 Perl_sv_catpvf_mg_nocontext
+#  define sv_setpvf_mg                 Perl_sv_setpvf_mg_nocontext
+#endif
+
+#endif /* !defined(PERL_CORE) && !defined(PERL_NOCOMPAT) */
 
-#define sv_setptrobj(rv,ptr,name)      sv_setref_iv(rv,name,(IV)ptr)
-#define sv_setptrref(rv,ptr)           sv_setref_iv(rv,Nullch,(IV)ptr)
-#define perl_atexit                    call_atexit
-#define perl_call_argv                 call_argv
-#define perl_call_pv                   call_pv
-#define perl_call_method               call_method
-#define perl_call_sv                   call_sv
-#define perl_eval_sv                   eval_sv
-#define perl_eval_pv                   eval_pv
-#define perl_require_pv                        require_pv
-#define perl_get_sv                    get_sv
-#define perl_get_av                    get_av
-#define perl_get_hv                    get_hv
-#define perl_get_cv                    get_cv
-#define perl_init_i18nl10n             init_i18nl10n
-#define perl_init_i18nl14n             init_i18nl14n
-#define perl_new_ctype                 new_ctype
-#define perl_new_collate               new_collate
-#define perl_new_numeric               new_numeric
+#if !defined(PERL_IMPLICIT_CONTEXT)
+/* undefined symbols, point them back at the usual ones */
+#  define Perl_croak_nocontext         Perl_croak
+#  define Perl_die_nocontext           Perl_die
+#  define Perl_form_nocontext          Perl_form
+#  define Perl_newSVpvf_nocontext              Perl_newSVpvf
+#  define Perl_sv_catpvf_nocontext             Perl_sv_catpvf
+#  define Perl_sv_setpvf_nocontext             Perl_sv_setpvf
+#  define Perl_warn_nocontext          Perl_warn
+#  define Perl_sv_catpvf_mg_nocontext  Perl_sv_catpvf_mg
+#  define Perl_sv_setpvf_mg_nocontext  Perl_sv_setpvf_mg
+#endif
 
index c877f0d..6fad124 100755 (executable)
--- a/embed.pl
+++ b/embed.pl
@@ -2,6 +2,169 @@
 
 require 5.003;
 
+#
+# See database of global and static function prototypes at the __END__.
+# This is used to generate prototype headers under various configurations,
+# export symbols lists for different platforms, and macros to provide an
+# implicit interpreter context argument.
+#
+
+my $END = tell DATA;
+
+# walk table providing an array of components in each line to
+# subroutine, printing the result
+sub walk_table (&@) {
+    my $function = shift;
+    my $filename = shift || '-';
+    my $leader = shift;
+    my $trailer = shift;
+    my $F;
+    local *F;
+    if (ref $filename) {       # filehandle
+       $F = $filename;
+    }
+    else {
+       open F, ">$filename" or die "Can't open $filename: $!";
+       $F = \*F;
+    }
+    print $F $leader if $leader;
+    seek DATA, $END, 0;                # so we may restart
+    while (<DATA>) {
+       chomp;
+       while (s|\\$||) {
+           $_ .= <DATA>;
+           chomp;
+       }
+       my @args;
+       if (/^\s*(#|$)/) {
+           @args = $_;
+       }
+       else {
+           @args = split /\s*\|\s*/, $_;
+       }
+       print $F $function->(@args);
+    }
+    print $F $trailer if $trailer;
+    close $F unless ref $filename;
+}
+
+sub munge_c_files () {
+    my $functions = {};
+    unless (@ARGV) {
+        warn "\@ARGV empty, nothing to do\n";
+       return;
+    }
+    walk_table {
+       if (@_ > 1) {
+           $functions->{$_[2]} = \@_ if $_[@_-1] =~ /\.\.\./;
+       }
+    } '/dev/null';
+    local $^I = '.bak';
+    while (<>) {
+#      if (/^#\s*include\s+"perl.h"/) {
+#          my $file = uc $ARGV;
+#          $file =~ s/\./_/g;
+#          print "#define PERL_IN_$file\n";
+#      }
+#      s{^(\w+)\s*\(}
+#       {
+#          my $f = $1;
+#          my $repl = "$f(";
+#          if (exists $functions->{$f}) {
+#              my $flags = $functions->{$f}[0];
+#              $repl = "Perl_$repl" if $flags =~ /p/;
+#              unless ($flags =~ /n/) {
+#                  $repl .= "pTHX";
+#                  $repl .= "_ " if @{$functions->{$f}} > 3;
+#              }
+#              warn("$ARGV:$.:$repl\n");
+#          }
+#          $repl;
+#       }e;
+       s{(\b(\w+)[ \t]*\([ \t]*(?!aTHX))}
+        {
+           my $repl = $1;
+           my $f = $2;
+           if (exists $functions->{$f}) {
+               $repl .= "aTHX_ ";
+               warn("$ARGV:$.:$`#$repl#$'");
+           }
+           $repl;
+        }eg;
+       print;
+       close ARGV if eof;      # restart $.
+    }
+    exit;
+}
+
+#munge_c_files();
+
+# generate proto.h
+sub write_protos {
+    my $ret = "";
+    if (@_ == 1) {
+       my $arg = shift;
+       $ret .= "$arg\n" if $arg =~ /^#\s*(if|ifdef|else|endif)\b/;
+    }
+    else {
+       my ($flags,$retval,$func,@args) = @_;
+       if ($flags =~ /s/) {
+           $retval = "STATIC $retval";
+           $func = "S_$func";
+       }
+       elsif ($flags =~ /p/) {
+           $func = "Perl_$func";
+       }
+       $ret .= "$retval\t$func(";
+       unless ($flags =~ /n/) {
+           $ret .= "pTHX";
+           $ret .= "_ " if @args;
+       }
+       if (@args) {
+           $ret .= join ", ", @args;
+       }
+       else {
+           $ret .= "void" if $flags =~ /n/;
+       }
+       $ret .= ")";
+       $ret .= " __attribute__((noreturn))" if $flags =~ /r/;
+       $ret .= ";\n";
+    }
+    $ret;
+}
+
+# generates global.sym, and populates %global with global symbols
+sub write_global_sym {
+    my $ret = "";
+    if (@_ > 1) {
+       my ($flags,$retval,$func,@args) = @_;
+       unless ($flags =~ /s/) {
+           $func = "Perl_$func" if $flags =~ /p/;
+           $ret = "$func\n";
+       }
+    }
+    $ret;
+}
+
+
+walk_table(\&write_protos, 'proto.h', <<'EOT');
+/*
+ * !!!!!!!   DO NOT EDIT THIS FILE   !!!!!!!
+ * This file is autogenerated from data in embed.pl.  Edit that file
+ * and run 'make regen_headers' to effect changes.
+ */
+
+EOT
+
+walk_table(\&write_global_sym, 'global.sym', <<'EOT');
+#
+# !!!!!!!   DO NOT EDIT THIS FILE   !!!!!!!
+# This file is autogenerated from data in embed.pl.  Edit that file
+# and run 'make regen_headers' to effect changes.
+#
+
+EOT
+
 # XXX others that may need adding
 #       warnhook
 #       hints
@@ -39,8 +202,8 @@ sub readsyms (\%$) {
     close(FILE);
 }
 
-readsyms %global, 'global.sym';
-readsyms %global, 'pp.sym';
+# Perl_pp_* and Perl_ck_* are in pp.sym
+readsyms my %ppsym, 'pp.sym';
 
 sub readvars(\%$$@) {
     my ($syms, $file,$pre,$keep_pre) = @_;
@@ -68,32 +231,9 @@ readvars %thread, 'thrdvar.h','T';
 readvars %globvar, 'perlvars.h','G';
 readvars %objvar, 'intrpvar.h','pi', 1;
 
-foreach my $sym (sort keys %intrp)
- {
-  if (exists $global{$sym})
-   {
-    delete $global{$sym};
-    warn "$sym in {global,pp}.sym as well as intrpvar.h\n";
-   }
- }
-
-foreach my $sym (sort keys %globvar)
- {
-  if (exists $global{$sym})
-   {
-    delete $global{$sym};
-    warn "$sym in {global,pp}.sym as well as perlvars.h\n";
-   }
- }
-
 foreach my $sym (sort keys %thread)
  {
   warn "$sym in intrpvar.h as well as thrdvar.h\n" if exists $intrp{$sym};
-  if (exists $global{$sym})
-   {
-    delete $global{$sym};
-    warn "$sym in {global,pp}.sym as well as thrdvar.h\n";
-   }
  }
 
 sub undefine ($) {
@@ -107,24 +247,6 @@ sub hide ($$) {
     "#define $from" . "\t" x ($t < 3 ? 3 - $t : 1) . "$to\n";
 }
 
-sub embed ($) {
-    my ($sym) = @_;
-    my $def = $sym;
-    hide($def, $sym) if $def =~ s/^Perl_//;
-}
-
-sub embedobj ($) {
-    my ($sym) = @_;
-    hide($sym, $sym =~ /^perl_/i ? "CPerlObj::$sym" : "CPerlObj::Perl_$sym");
-}
-
-sub objxsub_func ($) {
-    my ($sym) = @_;
-    undefine($sym) . hide($sym, $sym =~ /^perl_/i
-                               ? "pPerl->$sym"
-                               : "pPerl->Perl_$sym");
-}
-
 sub objxsub_var ($) {
     my ($sym) = @_;
     undefine("PL_$sym") . hide("PL_$sym", "pPerl->PL_$sym");
@@ -146,12 +268,11 @@ sub multoff ($$) {
 }
 
 unlink 'embed.h';
-open(EM, '> embed.h')
-    or die "Can't create embed.h: $!\n";
+open(EM, '> embed.h') or die "Can't create embed.h: $!\n";
 
 print EM <<'END';
 /* !!!!!!!   DO NOT EDIT THIS FILE   !!!!!!! 
-   This file is built by embed.pl from global.sym, pp.sym, intrpvar.h,
+   This file is built by embed.pl from data in embed.pl, pp.sym, intrpvar.h,
    perlvars.h and thrdvar.h.  Any changes made here will be lost!
 */
 
@@ -162,277 +283,197 @@ print EM <<'END';
 /* Hide global symbols */
 
 #if !defined(PERL_OBJECT)
+#if !defined(PERL_IMPLICIT_CONTEXT)
 
 END
 
-for $sym (sort keys %global) {
-    next if $sym =~ /^Perl_(malloc|calloc|realloc|mfree)$/;
-    print EM embed($sym);
+walk_table {
+    my $ret = "";
+    if (@_ == 1) {
+       my $arg = shift;
+       $ret .= "$arg\n" if $arg =~ /^#\s*(if|ifdef|else|endif)\b/;
+    }
+    else {
+       my ($flags,$retval,$func,@args) = @_;
+       unless ($flags =~ /o/) {
+           if ($flags =~ /s/) {
+               $ret .= hide($func,"S_$func");
+           }
+           elsif ($flags =~ /p/) {
+               $ret .= hide($func,"Perl_$func");
+           }
+       }
+    }
+    $ret;
+} \*EM;
+
+for $sym (sort keys %ppsym) {
+    $sym =~ s/^Perl_//;
+    print EM hide($sym, "Perl_$sym");
+}
+
+print EM <<'END';
+
+#else  /* PERL_IMPLICIT_CONTEXT */
+
+END
+
+my @az = ('a'..'z');
+
+walk_table {
+    my $ret = "";
+    if (@_ == 1) {
+       my $arg = shift;
+       $ret .= "$arg\n" if $arg =~ /^#\s*(if|ifdef|else|endif)\b/;
+    }
+    else {
+       my ($flags,$retval,$func,@args) = @_;
+       unless ($flags =~ /o/) {
+           my $args = scalar @args;
+           if ($args and $args[$args-1] =~ /\.\.\./) {
+               # we're out of luck for varargs functions under CPP
+           }
+           elsif ($flags =~ /n/) {
+               if ($flags =~ /s/) {
+                   $ret .= hide($func,"S_$func");
+               }
+               elsif ($flags =~ /p/) {
+                   $ret .= hide($func,"Perl_$func");
+               }
+           }
+           else {
+               my $alist = join(",", @az[0..$args-1]);
+               $ret = "#define $func($alist)";
+               my $t = int(length($ret) / 8);
+               $ret .=  "\t" x ($t < 4 ? 4 - $t : 1);
+               if ($flags =~ /s/) {
+                   $ret .= "S_$func(aTHX";
+               }
+               elsif ($flags =~ /p/) {
+                   $ret .= "Perl_$func(aTHX";
+               }
+               $ret .= "_ " if $alist;
+               $ret .= $alist . ")\n";
+           }
+       }
+    }
+    $ret;
+} \*EM;
+
+for $sym (sort keys %ppsym) {
+    $sym =~ s/^Perl_//;
+    if ($sym =~ /^ck_/) {
+       print EM hide("$sym(a)", "Perl_$sym(aTHX_ a)");
+    }
+    elsif ($sym =~ /^pp_/) {
+       print EM hide("$sym()", "Perl_$sym(aTHX)");
+    }
+    else {
+       warn "Illegal symbol '$sym' in pp.sym";
+    }
 }
 
 print EM <<'END';
 
+#endif /* PERL_IMPLICIT_CONTEXT */
 #else  /* PERL_OBJECT */
 
 END
 
-# XXX these should be in a *.sym file
-my @staticfuncs = qw(
-    perl_init_i18nl10n
-    perl_init_i18nl14n
-    perl_new_collate
-    perl_new_ctype
-    perl_new_numeric
-    perl_set_numeric_local
-    perl_set_numeric_standard
-    perl_construct
-    perl_destruct
-    perl_atexit
-    perl_free
-    perl_parse
-    perl_run
-    perl_get_sv
-    perl_get_av
-    perl_get_hv
-    perl_get_cv
-    perl_call_argv
-    perl_call_pv
-    perl_call_method
-    perl_call_sv
-    perl_eval_pv
-    perl_eval_sv
-    perl_require_pv
-
-    hsplit
-    hfreeentries
-    more_he
-    new_he
-    del_he
-    save_hek
-    mess_alloc
-    gv_init_sv
-    save_scalar_at
-    asIV
-    asUV
-    more_sv
-    more_xiv
-    more_xnv
-    more_xpv
-    more_xrv
-    new_xiv
-    new_xnv
-    new_xpv
-    new_xrv
-    del_xiv
-    del_xnv
-    del_xpv
-    del_xrv
-    sv_unglob
-    avhv_index_sv
-    do_report_used
-    do_clean_objs
-    do_clean_named_objs
-    do_clean_all
-    not_a_number
-    my_safemalloc
-    visit
-    qsortsv
-    sortcv
-    save_magic
-    magic_methpack
-    magic_methcall
-    magic_methcall
-    doform
-    doencodes
-    refto
-    seed
-    docatch
-    docatch_body
-    perl_parse_body
-    perl_run_body
-    perl_call_body
-    perl_call_xbody
-    call_list_body
-    dofindlabel
-    doparseform
-    dopoptoeval
-    dopoptolabel
-    dopoptoloop
-    dopoptosub
-    dopoptosub_at
-    free_closures
-    save_lines
-    doeval
-    doopen_pmc
-    sv_ncmp
-    sv_i_ncmp
-    amagic_ncmp
-    amagic_i_ncmp
-    amagic_cmp
-    amagic_cmp_locale
-    mul128
-    is_an_int
-    div128
-    check_uni
-    force_next
-    force_version
-    force_word
-    tokeq
-    scan_const
-    scan_formline
-    scan_heredoc
-    scan_ident
-    scan_inputsymbol
-    scan_pat
-    scan_str
-    scan_subst
-    scan_trans
-    scan_word
-    skipspace
-    checkcomma
-    force_ident
-    incline
-    intuit_method
-    intuit_more
-    lop
-    missingterm
-    no_op
-    set_csh
-    sublex_done
-    sublex_push
-    sublex_start
-    uni
-    filter_gets
-    new_constant
-    ao
-    depcom
-    win32_textfilter
-    incl_perldb
-    isa_lookup
-    get_db_sub
-    list_assignment
-    bad_type
-    modkids
-    no_fh_allowed
-    no_bareword_allowed
-    scalarboolean
-    too_few_arguments
-    too_many_arguments
-    null
-    pad_findlex
-    newDEFSVOP
-    gv_ename
-    cv_clone2
-    find_beginning
-    forbid_setid
-    incpush
-    init_interp
-    init_ids
-    init_debugger
-    init_lexer
-    init_main_stash
-    init_perllib
-    init_postdump_symbols
-    init_predump_symbols
-    my_exit_jump
-    nuke_stacks
-    open_script
-    usage
-    validate_suid
-    emulate_eaccess
-    reg
-    reganode
-    regatom
-    regbranch
-    regc
-    reguni
-    regclass
-    regclassutf8
-    regcurly
-    reg_node
-    regpiece
-    reginsert
-    regoptail
-    regset
-    regtail
-    regwhite
-    nextchar
-    dumpuntil
-    scan_commit
-    study_chunk
-    add_data
-    re_croak2
-    regpposixcc
-    clear_re
-    regmatch
-    regrepeat
-    regrepeat_hard
-    regtry
-    reginclass
-    reginclassutf8
-    regcppush
-    regcppop
-    regcp_set_to
-    cache_re
-    restore_pos
-    reghop
-    reghopmaybe
-    dump
-    do_aspawn
-    debprof
-    new_logop
-    simplify_sort
-    is_handle_constructor
-    sv_add_backref
-    sv_del_backref
-    do_trans_CC_simple
-    do_trans_CC_count
-    do_trans_CC_complex
-    do_trans_UU_simple
-    do_trans_UU_count
-    do_trans_UU_complex
-    do_trans_UC_simple
-    do_trans_CU_simple
-    do_trans_UC_trivial
-    do_trans_CU_trivial
-    unwind_handler_stack
-    restore_magic
-    restore_rsfp
-    restore_expect
-    restore_lex_expect
-    del_sv
-);
-
-for $sym (sort(keys(%global),@staticfuncs)) {
-    next if $sym =~ /^Perl_(malloc|calloc|realloc|mfree)$/;
-    print EM embedobj($sym);
+walk_table {
+    my $ret = "";
+    if (@_ == 1) {
+       my $arg = shift;
+       $ret .= "$arg\n" if $arg =~ /^#\s*(if|ifdef|else|endif)\b/;
+    }
+    else {
+       my ($flags,$retval,$func,@args) = @_;
+       unless ($flags =~ /o/) {
+           if ($flags =~ /s/) {
+               $ret .= hide("S_$func","CPerlObj::$func");
+           }
+           elsif ($flags =~ /p/) {
+               $ret .= hide("Perl_$func","CPerlObj::$func");
+           }
+       }
+    }
+    $ret;
+} \*EM;
+
+for $sym (sort keys %ppsym) {
+    $sym =~ s/^Perl_//;
+    print EM hide("Perl_$sym", "CPerlObj::$sym");
 }
 
 print EM <<'END';
 
 #endif /* PERL_OBJECT */
 
-/* compatibility stubs */
-
-#define sv_setptrobj(rv,ptr,name)      sv_setref_iv(rv,name,(IV)ptr)
-#define sv_setptrref(rv,ptr)           sv_setref_iv(rv,Nullch,(IV)ptr)
-#define perl_atexit                    call_atexit
-#define perl_call_argv                 call_argv
-#define perl_call_pv                   call_pv
-#define perl_call_method               call_method
-#define perl_call_sv                   call_sv
-#define perl_eval_sv                   eval_sv
-#define perl_eval_pv                   eval_pv
-#define perl_require_pv                        require_pv
-#define perl_get_sv                    get_sv
-#define perl_get_av                    get_av
-#define perl_get_hv                    get_hv
-#define perl_get_cv                    get_cv
-#define perl_init_i18nl10n             init_i18nl10n
-#define perl_init_i18nl14n             init_i18nl14n
-#define perl_new_ctype                 new_ctype