summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGurusamy Sarathy <gsar@cpan.org>1999-06-07 05:18:34 +0000
committerGurusamy Sarathy <gsar@cpan.org>1999-06-07 05:18:34 +0000
commit864dbfa3ca8032ef66f7aa86961933b19b962357 (patch)
tree4186157b2fc82346ec83e789b065a908a56c1641
parentfdf134946da249a71c49962435817212b8fa195a (diff)
downloadperl-864dbfa3ca8032ef66f7aa86961933b19b962357.tar.gz
initial stub implementation of implicit thread/this
pointer argument; builds/tests on Solaris, win32 hasn't been fixed up yet; proto.h, global.sym and static function decls are now generated from a common database in proto.pl; some inconsistently named perl_foo() things are now Perl_foo(), compatibility #defines provided; perl_foo() (lowercase 'p') reserved for functions that take an explicit context argument; next step: generate #define foo(a,b) Perl_foo(aTHX_ a,b) p4raw-id: //depot/perl@3522
-rw-r--r--XSUB.h8
-rw-r--r--av.c55
-rw-r--r--cop.h4
-rw-r--r--deb.c9
-rw-r--r--doio.c53
-rw-r--r--doop.c50
-rw-r--r--dump.c41
-rw-r--r--ebcdic.c1
-rw-r--r--embed.h1980
-rwxr-xr-xembed.pl22
-rw-r--r--ext/POSIX/POSIX.xs6
-rw-r--r--global.sym1195
-rw-r--r--globals.c16
-rw-r--r--gv.c51
-rw-r--r--gv.h2
-rw-r--r--hv.c77
-rw-r--r--malloc.c45
-rw-r--r--mg.c137
-rw-r--r--miniperlmain.c7
-rw-r--r--objXSUB.h3888
-rw-r--r--op.c238
-rw-r--r--opcode.h1404
-rwxr-xr-xopcode.pl24
-rw-r--r--perl.c197
-rw-r--r--perl.h64
-rw-r--r--perl_exp.SH34
-rw-r--r--perlio.c1
-rw-r--r--perly.c20
-rw-r--r--perly.y7
-rw-r--r--pp.c34
-rw-r--r--pp.sym754
-rw-r--r--pp_ctl.c95
-rw-r--r--pp_hot.c19
-rw-r--r--pp_proto.h754
-rw-r--r--pp_sys.c59
-rw-r--r--proto.h2314
-rw-r--r--regcomp.c105
-rw-r--r--regexec.c52
-rw-r--r--run.c20
-rw-r--r--scope.c93
-rw-r--r--scope.h11
-rw-r--r--sv.c292
-rw-r--r--taint.c5
-rw-r--r--toke.c162
-rw-r--r--universal.c7
-rw-r--r--utf8.c89
-rw-r--r--util.c194
47 files changed, 7487 insertions, 7208 deletions
diff --git a/XSUB.h b/XSUB.h
index 0af51d30ef..5c3ec647ea 100644
--- a/XSUB.h
+++ b/XSUB.h
@@ -69,11 +69,11 @@
tmpsv = ST(1); \
else { \
/* XXX GV_ADDWARN */ \
- tmpsv = perl_get_sv(form("%s::%s", module, \
- vn = "XS_VERSION"), FALSE); \
+ tmpsv = get_sv(form("%s::%s", module, \
+ vn = "XS_VERSION"), FALSE); \
if (!tmpsv || !SvOK(tmpsv)) \
- tmpsv = perl_get_sv(form("%s::%s", module, \
- vn = "VERSION"), FALSE); \
+ tmpsv = get_sv(form("%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 %_", \
diff --git a/av.c b/av.c
index 1f0d94a953..265eb71103 100644
--- a/av.c
+++ b/av.c
@@ -13,10 +13,11 @@
*/
#include "EXTERN.h"
+#define PERL_IN_AV_C
#include "perl.h"
void
-av_reify(AV *av)
+Perl_av_reify(pTHX_ AV *av)
{
I32 key;
SV* sv;
@@ -46,7 +47,7 @@ av_reify(AV *av)
}
void
-av_extend(AV *av, I32 key)
+Perl_av_extend(pTHX_ AV *av, I32 key)
{
dTHR; /* only necessary if we have to extend stack */
MAGIC *mg;
@@ -60,7 +61,7 @@ av_extend(AV *av, I32 key)
PUSHs(SvTIED_obj((SV*)av, mg));
PUSHs(sv_2mortal(newSViv(key+1)));
PUTBACK;
- perl_call_method("EXTEND", G_SCALAR|G_DISCARD);
+ call_method("EXTEND", G_SCALAR|G_DISCARD);
POPSTACK;
FREETMPS;
LEAVE;
@@ -149,7 +150,7 @@ av_extend(AV *av, I32 key)
}
SV**
-av_fetch(register AV *av, I32 key, I32 lval)
+Perl_av_fetch(pTHX_ register AV *av, I32 key, I32 lval)
{
SV *sv;
@@ -196,7 +197,7 @@ av_fetch(register AV *av, I32 key, I32 lval)
}
SV**
-av_store(register AV *av, I32 key, SV *val)
+Perl_av_store(pTHX_ register AV *av, I32 key, SV *val)
{
SV** ary;
U32 fill;
@@ -255,7 +256,7 @@ av_store(register AV *av, I32 key, SV *val)
}
AV *
-newAV(void)
+Perl_newAV(pTHX)
{
register AV *av;
@@ -269,7 +270,7 @@ newAV(void)
}
AV *
-av_make(register I32 size, register SV **strp)
+Perl_av_make(pTHX_ register I32 size, register SV **strp)
{
register AV *av;
register I32 i;
@@ -295,7 +296,7 @@ av_make(register I32 size, register SV **strp)
}
AV *
-av_fake(register I32 size, register SV **strp)
+Perl_av_fake(pTHX_ register I32 size, register SV **strp)
{
register AV *av;
register SV** ary;
@@ -318,7 +319,7 @@ av_fake(register I32 size, register SV **strp)
}
void
-av_clear(register AV *av)
+Perl_av_clear(pTHX_ register AV *av)
{
register I32 key;
SV** ary;
@@ -359,7 +360,7 @@ av_clear(register AV *av)
}
void
-av_undef(register AV *av)
+Perl_av_undef(pTHX_ register AV *av)
{
register I32 key;
@@ -387,7 +388,7 @@ av_undef(register AV *av)
}
void
-av_push(register AV *av, SV *val)
+Perl_av_push(pTHX_ register AV *av, SV *val)
{
MAGIC *mg;
if (!av)
@@ -404,7 +405,7 @@ av_push(register AV *av, SV *val)
PUSHs(val);
PUTBACK;
ENTER;
- perl_call_method("PUSH", G_SCALAR|G_DISCARD);
+ call_method("PUSH", G_SCALAR|G_DISCARD);
LEAVE;
POPSTACK;
return;
@@ -413,7 +414,7 @@ av_push(register AV *av, SV *val)
}
SV *
-av_pop(register AV *av)
+Perl_av_pop(pTHX_ register AV *av)
{
SV *retval;
MAGIC* mg;
@@ -429,7 +430,7 @@ av_pop(register AV *av)
XPUSHs(SvTIED_obj((SV*)av, mg));
PUTBACK;
ENTER;
- if (perl_call_method("POP", G_SCALAR)) {
+ if (call_method("POP", G_SCALAR)) {
retval = newSVsv(*PL_stack_sp--);
} else {
retval = &PL_sv_undef;
@@ -446,7 +447,7 @@ av_pop(register AV *av)
}
void
-av_unshift(register AV *av, register I32 num)
+Perl_av_unshift(pTHX_ register AV *av, register I32 num)
{
register I32 i;
register SV **ary;
@@ -468,7 +469,7 @@ av_unshift(register AV *av, register I32 num)
}
PUTBACK;
ENTER;
- perl_call_method("UNSHIFT", G_SCALAR|G_DISCARD);
+ call_method("UNSHIFT", G_SCALAR|G_DISCARD);
LEAVE;
POPSTACK;
return;
@@ -499,7 +500,7 @@ av_unshift(register AV *av, register I32 num)
}
SV *
-av_shift(register AV *av)
+Perl_av_shift(pTHX_ register AV *av)
{
SV *retval;
MAGIC* mg;
@@ -515,7 +516,7 @@ av_shift(register AV *av)
XPUSHs(SvTIED_obj((SV*)av, mg));
PUTBACK;
ENTER;
- if (perl_call_method("SHIFT", G_SCALAR)) {
+ if (call_method("SHIFT", G_SCALAR)) {
retval = newSVsv(*PL_stack_sp--);
} else {
retval = &PL_sv_undef;
@@ -536,13 +537,13 @@ av_shift(register AV *av)
}
I32
-av_len(register AV *av)
+Perl_av_len(pTHX_ register AV *av)
{
return AvFILL(av);
}
void
-av_fill(register AV *av, I32 fill)
+Perl_av_fill(pTHX_ register AV *av, I32 fill)
{
MAGIC *mg;
if (!av)
@@ -559,7 +560,7 @@ av_fill(register AV *av, I32 fill)
PUSHs(SvTIED_obj((SV*)av, mg));
PUSHs(sv_2mortal(newSViv(fill+1)));
PUTBACK;
- perl_call_method("STORESIZE", G_SCALAR|G_DISCARD);
+ call_method("STORESIZE", G_SCALAR|G_DISCARD);
POPSTACK;
FREETMPS;
LEAVE;
@@ -595,7 +596,7 @@ av_fill(register AV *av, I32 fill)
*/
STATIC I32
-avhv_index_sv(SV* sv)
+avhv_index_sv(pTHX_ SV* sv)
{
I32 index = SvIV(sv);
if (index < 1)
@@ -604,7 +605,7 @@ avhv_index_sv(SV* sv)
}
HV*
-avhv_keys(AV *av)
+Perl_avhv_keys(pTHX_ AV *av)
{
SV **keysp = av_fetch(av, 0, FALSE);
if (keysp) {
@@ -622,7 +623,7 @@ avhv_keys(AV *av)
}
SV**
-avhv_fetch_ent(AV *av, SV *keysv, I32 lval, U32 hash)
+Perl_avhv_fetch_ent(pTHX_ AV *av, SV *keysv, I32 lval, U32 hash)
{
SV **indsvp;
HV *keys = avhv_keys(av);
@@ -635,21 +636,21 @@ avhv_fetch_ent(AV *av, SV *keysv, I32 lval, U32 hash)
}
bool
-avhv_exists_ent(AV *av, SV *keysv, U32 hash)
+Perl_avhv_exists_ent(pTHX_ AV *av, SV *keysv, U32 hash)
{
HV *keys = avhv_keys(av);
return hv_exists_ent(keys, keysv, hash);
}
HE *
-avhv_iternext(AV *av)
+Perl_avhv_iternext(pTHX_ AV *av)
{
HV *keys = avhv_keys(av);
return hv_iternext(keys);
}
SV *
-avhv_iterval(AV *av, register HE *entry)
+Perl_avhv_iterval(pTHX_ AV *av, register HE *entry)
{
SV *sv = hv_iterval(avhv_keys(av), entry);
return *av_fetch(av, avhv_index_sv(sv), TRUE);
diff --git a/cop.h b/cop.h
index 0f029ca77d..84afd58967 100644
--- a/cop.h
+++ b/cop.h
@@ -291,7 +291,7 @@ struct context {
#define G_ARRAY 1
#define G_VOID 128 /* skip this bit when adding flags below */
-/* extra flags for perl_call_* routines */
+/* extra flags for Perl_call_* routines */
#define G_DISCARD 2 /* Call FREETMPS. */
#define G_EVAL 4 /* Assume eval {} around subroutine call. */
#define G_NOARGS 8 /* Don't construct a @_ array. */
@@ -302,7 +302,7 @@ struct context {
#define EVAL_NULL 0 /* not in an eval */
#define EVAL_INEVAL 1 /* some enclosing scope is an eval */
#define EVAL_WARNONLY 2 /* used by yywarn() when calling yyerror() */
-#define EVAL_KEEPERR 4 /* set by perl_call_sv if G_KEEPERR */
+#define EVAL_KEEPERR 4 /* set by Perl_call_sv if G_KEEPERR */
/* Support for switching (stack and block) contexts.
* This ensures magic doesn't invalidate local stack and cx pointers.
diff --git a/deb.c b/deb.c
index ad26cd6e18..252bb0b8df 100644
--- a/deb.c
+++ b/deb.c
@@ -13,10 +13,11 @@
*/
#include "EXTERN.h"
+#define PERL_IN_DEB_C
#include "perl.h"
void
-deb(const char *pat, ...)
+Perl_deb(pTHX_ const char *pat, ...)
{
#ifdef DEBUGGING
dTHR;
@@ -44,7 +45,7 @@ deb(const char *pat, ...)
}
void
-deb_growlevel(void)
+Perl_deb_growlevel(pTHX)
{
#ifdef DEBUGGING
PL_dlmax += 128;
@@ -54,7 +55,7 @@ deb_growlevel(void)
}
I32
-debstackptrs(void)
+Perl_debstackptrs(pTHX)
{
#ifdef DEBUGGING
dTHR;
@@ -70,7 +71,7 @@ debstackptrs(void)
}
I32
-debstack(void)
+Perl_debstack(pTHX)
{
#ifdef DEBUGGING
dTHR;
diff --git a/doio.c b/doio.c
index e9f2a71397..aac69f85c5 100644
--- a/doio.c
+++ b/doio.c
@@ -15,6 +15,7 @@
*/
#include "EXTERN.h"
+#define PERL_IN_DOIO_C
#include "perl.h"
#if defined(HAS_MSG) || defined(HAS_SEM) || defined(HAS_SHM)
@@ -81,7 +82,7 @@
#endif
bool
-do_open(GV *gv, register char *name, I32 len, int as_raw, int rawmode, int rawperm, PerlIO *supplied_fp)
+Perl_do_open(pTHX_ GV *gv, register char *name, I32 len, int as_raw, int rawmode, int rawperm, PerlIO *supplied_fp)
{
register IO *io = GvIOn(gv);
PerlIO *saveifp = Nullfp;
@@ -410,7 +411,7 @@ say_false:
}
PerlIO *
-nextargv(register GV *gv)
+Perl_nextargv(pTHX_ register GV *gv)
{
register SV *sv;
#ifndef FLEXFILENAMES
@@ -580,7 +581,7 @@ nextargv(register GV *gv)
#ifdef HAS_PIPE
void
-do_pipe(SV *sv, GV *rgv, GV *wgv)
+Perl_do_pipe(pTHX_ SV *sv, GV *rgv, GV *wgv)
{
register IO *rstio;
register IO *wstio;
@@ -625,7 +626,7 @@ badexit:
/* explicit renamed to avoid C++ conflict -- kja */
bool
-do_close(GV *gv, bool not_implicit)
+Perl_do_close(pTHX_ GV *gv, bool not_implicit)
{
bool retval;
IO *io;
@@ -659,7 +660,7 @@ do_close(GV *gv, bool not_implicit)
}
bool
-io_close(IO *io)
+Perl_io_close(pTHX_ IO *io)
{
bool retval = FALSE;
int status;
@@ -690,7 +691,7 @@ io_close(IO *io)
}
bool
-do_eof(GV *gv)
+Perl_do_eof(pTHX_ GV *gv)
{
dTHR;
register IO *io;
@@ -728,7 +729,7 @@ do_eof(GV *gv)
}
Off_t
-do_tell(GV *gv)
+Perl_do_tell(pTHX_ GV *gv)
{
register IO *io;
register PerlIO *fp;
@@ -750,7 +751,7 @@ do_tell(GV *gv)
}
bool
-do_seek(GV *gv, Off_t pos, int whence)
+Perl_do_seek(pTHX_ GV *gv, Off_t pos, int whence)
{
register IO *io;
register PerlIO *fp;
@@ -772,7 +773,7 @@ do_seek(GV *gv, Off_t pos, int whence)
}
Off_t
-do_sysseek(GV *gv, Off_t pos, int whence)
+Perl_do_sysseek(pTHX_ GV *gv, Off_t pos, int whence)
{
register IO *io;
register PerlIO *fp;
@@ -789,7 +790,7 @@ do_sysseek(GV *gv, Off_t pos, int whence)
}
int
-do_binmode(PerlIO *fp, int iotype, int flag)
+Perl_do_binmode(pTHX_ PerlIO *fp, int iotype, int flag)
{
if (flag != TRUE)
croak("panic: unsetting binmode"); /* Not implemented yet */
@@ -880,7 +881,7 @@ Off_t length; /* length to set file to */
#endif /* F_FREESP */
bool
-do_print(register SV *sv, PerlIO *fp)
+Perl_do_print(pTHX_ register SV *sv, PerlIO *fp)
{
register char *tmps;
STRLEN len;
@@ -930,7 +931,7 @@ do_print(register SV *sv, PerlIO *fp)
}
I32
-my_stat(ARGSproto)
+Perl_my_stat(pTHX_ ARGSproto)
{
djSP;
IO *io;
@@ -984,7 +985,7 @@ my_stat(ARGSproto)
}
I32
-my_lstat(ARGSproto)
+Perl_my_lstat(pTHX_ ARGSproto)
{
djSP;
SV *sv;
@@ -1011,7 +1012,7 @@ my_lstat(ARGSproto)
}
bool
-do_aexec(SV *really, register SV **mark, register SV **sp)
+Perl_do_aexec(pTHX_ SV *really, register SV **mark, register SV **sp)
{
register char **a;
char *tmps;
@@ -1043,7 +1044,7 @@ do_aexec(SV *really, register SV **mark, register SV **sp)
}
void
-do_execfree(void)
+Perl_do_execfree(pTHX)
{
if (PL_Argv) {
Safefree(PL_Argv);
@@ -1058,13 +1059,13 @@ do_execfree(void)
#if !defined(OS2) && !defined(WIN32) && !defined(DJGPP)
bool
-do_exec(char *cmd)
+Perl_do_exec(pTHX_ char *cmd)
{
return do_exec3(cmd,0,0);
}
bool
-do_exec3(char *cmd, int fd, int do_report)
+Perl_do_exec3(pTHX_ char *cmd, int fd, int do_report)
{
register char **a;
register char *s;
@@ -1164,7 +1165,7 @@ do_exec3(char *cmd, int fd, int do_report)
#endif /* OS2 || WIN32 */
I32
-apply(I32 type, register SV **mark, register SV **sp)
+Perl_apply(pTHX_ I32 type, register SV **mark, register SV **sp)
{
dTHR;
register I32 val;
@@ -1366,7 +1367,7 @@ nothing in the core.
/* Do the permissions allow some operation? Assumes statcache already set. */
#ifndef VMS /* VMS' cando is in vms.c */
I32
-cando(I32 bit, I32 effective, register struct stat *statbufp)
+Perl_cando(pTHX_ I32 bit, I32 effective, register struct stat *statbufp)
{
#ifdef DOSISH
/* [Comments and code from Len Reed]
@@ -1418,7 +1419,7 @@ cando(I32 bit, I32 effective, register struct stat *statbufp)
#endif /* ! VMS */
I32
-ingroup(I32 testgid, I32 effective)
+Perl_ingroup(pTHX_ I32 testgid, I32 effective)
{
if (testgid == (effective ? PL_egid : PL_gid))
return TRUE;
@@ -1442,7 +1443,7 @@ ingroup(I32 testgid, I32 effective)
#if defined(HAS_MSG) || defined(HAS_SEM) || defined(HAS_SHM)
I32
-do_ipcget(I32 optype, SV **mark, SV **sp)
+Perl_do_ipcget(pTHX_ I32 optype, SV **mark, SV **sp)
{
dTHR;
key_t key;
@@ -1475,7 +1476,7 @@ do_ipcget(I32 optype, SV **mark, SV **sp)
}
I32
-do_ipcctl(I32 optype, SV **mark, SV **sp)
+Perl_do_ipcctl(pTHX_ I32 optype, SV **mark, SV **sp)
{
dTHR;
SV *astr;
@@ -1592,7 +1593,7 @@ do_ipcctl(I32 optype, SV **mark, SV **sp)
}
I32
-do_msgsnd(SV **mark, SV **sp)
+Perl_do_msgsnd(pTHX_ SV **mark, SV **sp)
{
#ifdef HAS_MSG
dTHR;
@@ -1615,7 +1616,7 @@ do_msgsnd(SV **mark, SV **sp)
}
I32
-do_msgrcv(SV **mark, SV **sp)
+Perl_do_msgrcv(pTHX_ SV **mark, SV **sp)
{
#ifdef HAS_MSG
dTHR;
@@ -1646,7 +1647,7 @@ do_msgrcv(SV **mark, SV **sp)
}
I32
-do_semop(SV **mark, SV **sp)
+Perl_do_semop(pTHX_ SV **mark, SV **sp)
{
#ifdef HAS_SEM
dTHR;
@@ -1671,7 +1672,7 @@ do_semop(SV **mark, SV **sp)
}
I32
-do_shmio(I32 optype, SV **mark, SV **sp)
+Perl_do_shmio(pTHX_ I32 optype, SV **mark, SV **sp)
{
#ifdef HAS_SHM
dTHR;
diff --git a/doop.c b/doop.c
index 0c9bb4fcb2..7b5f751a2c 100644
--- a/doop.c
+++ b/doop.c
@@ -12,27 +12,15 @@
*/
#include "EXTERN.h"
+#define PERL_IN_DOOP_C
#include "perl.h"
#if !defined(NSIG) || defined(M_UNIX) || defined(M_XENIX)
#include <signal.h>
#endif
-#ifndef PERL_OBJECT
-static I32 do_trans_CC_simple (SV *sv);
-static I32 do_trans_CC_count (SV *sv);
-static I32 do_trans_CC_complex (SV *sv);
-static I32 do_trans_UU_simple (SV *sv);
-static I32 do_trans_UU_count (SV *sv);
-static I32 do_trans_UU_complex (SV *sv);
-static I32 do_trans_UC_simple (SV *sv);
-static I32 do_trans_CU_simple (SV *sv);
-static I32 do_trans_UC_trivial (SV *sv);
-static I32 do_trans_CU_trivial (SV *sv);
-#endif
-
STATIC I32
-do_trans_CC_simple(SV *sv)
+do_trans_CC_simple(pTHX_ SV *sv)
{
dTHR;
U8 *s;
@@ -62,7 +50,7 @@ do_trans_CC_simple(SV *sv)
}
STATIC I32
-do_trans_CC_count(SV *sv)
+do_trans_CC_count(pTHX_ SV *sv)
{
dTHR;
U8 *s;
@@ -88,7 +76,7 @@ do_trans_CC_count(SV *sv)
}
STATIC I32
-do_trans_CC_complex(SV *sv)
+do_trans_CC_complex(pTHX_ SV *sv)
{
dTHR;
U8 *s;
@@ -145,7 +133,7 @@ do_trans_CC_complex(SV *sv)
}
STATIC I32
-do_trans_UU_simple(SV *sv)
+do_trans_UU_simple(pTHX_ SV *sv)
{
dTHR;
U8 *s;
@@ -197,7 +185,7 @@ do_trans_UU_simple(SV *sv)
}
STATIC I32
-do_trans_UU_count(SV *sv)
+do_trans_UU_count(pTHX_ SV *sv)
{
dTHR;
U8 *s;
@@ -224,7 +212,7 @@ do_trans_UU_count(SV *sv)
}
STATIC I32
-do_trans_UC_simple(SV *sv)
+do_trans_UC_simple(pTHX_ SV *sv)
{
dTHR;
U8 *s;
@@ -277,7 +265,7 @@ do_trans_UC_simple(SV *sv)
}
STATIC I32
-do_trans_CU_simple(SV *sv)
+do_trans_CU_simple(pTHX_ SV *sv)
{
dTHR;
U8 *s;
@@ -340,7 +328,7 @@ do_trans_CU_simple(SV *sv)
/* utf-8 to latin-1 */
STATIC I32
-do_trans_UC_trivial(SV *sv)
+do_trans_UC_trivial(pTHX_ SV *sv)
{
dTHR;
U8 *s;
@@ -372,7 +360,7 @@ do_trans_UC_trivial(SV *sv)
/* latin-1 to utf-8 */
STATIC I32
-do_trans_CU_trivial(SV *sv)
+do_trans_CU_trivial(pTHX_ SV *sv)
{
dTHR;
U8 *s;
@@ -406,7 +394,7 @@ do_trans_CU_trivial(SV *sv)
}
STATIC I32
-do_trans_UU_complex(SV *sv)
+do_trans_UU_complex(pTHX_ SV *sv)
{
dTHR;
U8 *s;
@@ -591,7 +579,7 @@ do_trans_UU_complex(SV *sv)
}
I32
-do_trans(SV *sv)
+Perl_do_trans(pTHX_ SV *sv)
{
dTHR;
STRLEN len;
@@ -642,7 +630,7 @@ do_trans(SV *sv)
}
void
-do_join(register SV *sv, SV *del, register SV **mark, register SV **sp)
+Perl_do_join(pTHX_ register SV *sv, SV *del, register SV **mark, register SV **sp)
{
SV **oldmark = mark;
register I32 items = sp - mark;
@@ -697,7 +685,7 @@ do_join(register SV *sv, SV *del, register SV **mark, register SV **sp)
}
void
-do_sprintf(SV *sv, I32 len, SV **sarg)
+Perl_do_sprintf(pTHX_ SV *sv, I32 len, SV **sarg)
{
STRLEN patlen;
char *pat = SvPV(*sarg, patlen);
@@ -710,7 +698,7 @@ do_sprintf(SV *sv, I32 len, SV **sarg)
}
void
-do_vecset(SV *sv)
+Perl_do_vecset(pTHX_ SV *sv)
{
SV *targ = LvTARG(sv);
register I32 offset;
@@ -761,7 +749,7 @@ do_vecset(SV *sv)
}
void
-do_chop(register SV *astr, register SV *sv)
+Perl_do_chop(pTHX_ register SV *astr, register SV *sv)
{
STRLEN len;
char *s;
@@ -824,7 +812,7 @@ do_chop(register SV *astr, register SV *sv)
}
I32
-do_chomp(register SV *sv)
+Perl_do_chomp(pTHX_ register SV *sv)
{
dTHR;
register I32 count;
@@ -902,7 +890,7 @@ do_chomp(register SV *sv)
}
void
-do_vop(I32 optype, SV *sv, SV *left, SV *right)
+Perl_do_vop(pTHX_ I32 optype, SV *sv, SV *left, SV *right)
{
dTHR; /* just for taint */
#ifdef LIBERAL
@@ -1017,7 +1005,7 @@ do_vop(I32 optype, SV *sv, SV *left, SV *right)
}
OP *
-do_kv(ARGSproto)
+Perl_do_kv(pTHX_ ARGSproto)
{
djSP;
HV *hv = (HV*)POPs;
diff --git a/dump.c b/dump.c
index cc6682ac25..063d296a17 100644
--- a/dump.c
+++ b/dump.c
@@ -13,6 +13,7 @@
*/
#include "EXTERN.h"
+#define PERL_IN_DUMP_C
#include "perl.h"
#ifndef DBL_DIG
@@ -20,7 +21,7 @@
#endif
void
-dump_indent(I32 level, PerlIO *file, const char* pat, ...)
+Perl_dump_indent(pTHX_ I32 level, PerlIO *file, const char* pat, ...)
{
dTHR;
va_list args;
@@ -32,7 +33,7 @@ dump_indent(I32 level, PerlIO *file, const char* pat, ...)
}
void
-dump_all(void)
+Perl_dump_all(pTHX)
{
dTHR;
PerlIO_setlinebuf(Perl_debug_log);
@@ -42,7 +43,7 @@ dump_all(void)
}
void
-dump_packsubs(HV *stash)
+Perl_dump_packsubs(pTHX_ HV *stash)
{
dTHR;
I32 i;
@@ -68,7 +69,7 @@ dump_packsubs(HV *stash)
}
void
-dump_sub(GV *gv)
+Perl_dump_sub(pTHX_ GV *gv)
{
SV *sv = sv_newmortal();
@@ -85,7 +86,7 @@ dump_sub(GV *gv)
}
void
-dump_form(GV *gv)
+Perl_dump_form(pTHX_ GV *gv)
{
SV *sv = sv_newmortal();
@@ -98,13 +99,13 @@ dump_form(GV *gv)
}
void
-dump_eval(void)
+Perl_dump_eval(pTHX)
{
op_dump(PL_eval_root);
}
char *
-pv_display(SV *sv, char *pv, STRLEN cur, STRLEN len, STRLEN pvlim)
+Perl_pv_display(pTHX_ SV *sv, char *pv, STRLEN cur, STRLEN len, STRLEN pvlim)
{
int truncated = 0;
int nul_terminated = len > cur && pv[cur] == '\0';
@@ -143,7 +144,7 @@ pv_display(SV *sv, char *pv, STRLEN cur, STRLEN len, STRLEN pvlim)
}
char *
-sv_peek(SV *sv)
+Perl_sv_peek(pTHX_ SV *sv)
{
SV *t = sv_newmortal();
STRLEN n_a;
@@ -297,7 +298,7 @@ sv_peek(SV *sv)
}
void
-do_pmop_dump(I32 level, PerlIO *file, PMOP *pm)
+Perl_do_pmop_dump(pTHX_ I32 level, PerlIO *file, PMOP *pm)
{
char ch;
@@ -357,13 +358,13 @@ do_pmop_dump(I32 level, PerlIO *file, PMOP *pm)
}
void
-pmop_dump(PMOP *pm)
+Perl_pmop_dump(pTHX_ PMOP *pm)
{
do_pmop_dump(0, Perl_debug_log, pm);
}
void
-do_op_dump(I32 level, PerlIO *file, OP *o)
+Perl_do_op_dump(pTHX_ I32 level, PerlIO *file, OP *o)
{
dTHR;
STRLEN n_a;
@@ -580,13 +581,13 @@ do_op_dump(I32 level, PerlIO *file, OP *o)
}
void
-op_dump(OP *o)
+Perl_op_dump(pTHX_ OP *o)
{
do_op_dump(0, Perl_debug_log, o);
}
void
-gv_dump(GV *gv)
+Perl_gv_dump(pTHX_ GV *gv)
{
SV *sv;
@@ -607,7 +608,7 @@ gv_dump(GV *gv)
}
void
-do_magic_dump(I32 level, PerlIO *file, MAGIC *mg, I32 nest, I32 maxnest, bool dumpops, STRLEN pvlim)
+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);
@@ -695,13 +696,13 @@ do_magic_dump(I32 level, PerlIO *file, MAGIC *mg, I32 nest, I32 maxnest, bool du
}
void
-magic_dump(MAGIC *mg)
+Perl_magic_dump(pTHX_ MAGIC *mg)
{
do_magic_dump(0, Perl_debug_log, mg, 0, 0, 0, 0);
}
void
-do_hv_dump(I32 level, PerlIO *file, char *name, HV *sv)
+Perl_do_hv_dump(pTHX_ I32 level, PerlIO *file, char *name, HV *sv)
{
dump_indent(level, file, "%s = 0x%lx", name, (long)sv);
if (sv && HvNAME(sv))
@@ -711,7 +712,7 @@ do_hv_dump(I32 level, PerlIO *file, char *name, HV *sv)
}
void
-do_gv_dump(I32 level, PerlIO *file, char *name, GV *sv)
+Perl_do_gv_dump(pTHX_ I32 level, PerlIO *file, char *name, GV *sv)
{
dump_indent(level, file, "%s = 0x%lx", name, (long)sv);
if (sv && GvNAME(sv))
@@ -721,7 +722,7 @@ do_gv_dump(I32 level, PerlIO *file, char *name, GV *sv)
}
void
-do_gvgv_dump(I32 level, PerlIO *file, char *name, GV *sv)
+Perl_do_gvgv_dump(pTHX_ I32 level, PerlIO *file, char *name, GV *sv)
{
dump_indent(level, file, "%s = 0x%lx", name, (long)sv);
if (sv && GvNAME(sv)) {
@@ -735,7 +736,7 @@ do_gvgv_dump(I32 level, PerlIO *file, char *name, GV *sv)
}
void
-do_sv_dump(I32 level, PerlIO *file, SV *sv, I32 nest, I32 maxnest, bool dumpops, STRLEN pvlim)
+Perl_do_sv_dump(pTHX_ I32 level, PerlIO *file, SV *sv, I32 nest, I32 maxnest, bool dumpops, STRLEN pvlim)
{
dTHR;
SV *d = sv_newmortal();
@@ -1139,7 +1140,7 @@ do_sv_dump(I32 level, PerlIO *file, SV *sv, I32 nest, I32 maxnest, bool dumpops,
}
void
-sv_dump(SV *sv)
+Perl_sv_dump(pTHX_ SV *sv)
{
do_sv_dump(0, Perl_debug_log, sv, 0, 0, 0, 0);
}
diff --git a/ebcdic.c b/ebcdic.c
index 890bd086d2..14e3955096 100644
--- a/ebcdic.c
+++ b/ebcdic.c
@@ -1,4 +1,5 @@
#include "EXTERN.h"
+#define PERL_IN_EBCDIC_C
#include "perl.h"
/* in ASCII order, not that it matters */
diff --git a/embed.h b/embed.h
index c15013ed24..f7cf5bc889 100644
--- a/embed.h
+++ b/embed.h
@@ -11,6 +11,8 @@
#if !defined(PERL_OBJECT)
+#define ErrorNo Perl_ErrorNo
+#define GetVars Perl_GetVars
#define Gv_AMupdate Perl_Gv_AMupdate
#define amagic_call Perl_amagic_call
#define append_elem Perl_append_elem
@@ -42,7 +44,12 @@
#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_i32 Perl_cast_i32
#define cast_iv Perl_cast_iv
@@ -147,6 +154,8 @@
#define dump_mstats Perl_dump_mstats
#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
@@ -159,11 +168,16 @@
#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
+#define getenv_len Perl_getenv_len
#define gp_free Perl_gp_free
#define gp_ref Perl_gp_ref
#define gv_AVadd Perl_gv_AVadd
@@ -208,8 +222,9 @@
#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 init_thread_intern Perl_init_thread_intern
#define instr Perl_instr
#define intro_my Perl_intro_my
#define invert Perl_invert
@@ -378,6 +393,9 @@
#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
#define new_struct_thread Perl_new_struct_thread
#define nextargv Perl_nextargv
@@ -764,6 +782,7 @@
#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
@@ -828,6 +847,8 @@
#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
@@ -968,159 +989,1011 @@
#else /* PERL_OBJECT */
-#define Gv_AMupdate CPerlObj::Perl_Gv_AMupdate
+#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_call CPerlObj::Perl_amagic_call
#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 append_elem CPerlObj::Perl_append_elem
-#define append_list CPerlObj::Perl_append_list
-#define apply CPerlObj::Perl_apply
#define asIV CPerlObj::Perl_asIV
#define asUV CPerlObj::Perl_asUV
-#define assertref CPerlObj::Perl_assertref
-#define av_clear CPerlObj::Perl_av_clear
-#define av_extend CPerlObj::Perl_av_extend
-#define av_fake CPerlObj::Perl_av_fake
-#define av_fetch CPerlObj::Perl_av_fetch
-#define av_fill CPerlObj::Perl_av_fill
-#define av_len CPerlObj::Perl_av_len
-#define av_make CPerlObj::Perl_av_make
-#define av_pop CPerlObj::Perl_av_pop
-#define av_push CPerlObj::Perl_av_push
-#define av_reify CPerlObj::Perl_av_reify
-#define av_shift CPerlObj::Perl_av_shift
-#define av_store CPerlObj::Perl_av_store
-#define av_undef CPerlObj::Perl_av_undef
-#define av_unshift CPerlObj::Perl_av_unshift
-#define avhv_exists_ent CPerlObj::Perl_avhv_exists_ent
-#define avhv_fetch_ent CPerlObj::Perl_avhv_fetch_ent
#define avhv_index_sv CPerlObj::Perl_avhv_index_sv
-#define avhv_iternext CPerlObj::Perl_avhv_iternext
-#define avhv_iterval CPerlObj::Perl_avhv_iterval
-#define avhv_keys CPerlObj::Perl_avhv_keys
#define bad_type CPerlObj::Perl_bad_type
-#define bind_match CPerlObj::Perl_bind_match
-#define block_end CPerlObj::Perl_block_end
-#define block_gimme CPerlObj::Perl_block_gimme
-#define block_start CPerlObj::Perl_block_start
-#define boot_core_UNIVERSAL CPerlObj::Perl_boot_core_UNIVERSAL
-#define bset_obj_store CPerlObj::Perl_bset_obj_store
#define cache_re CPerlObj::Perl_cache_re
-#define call_list CPerlObj::Perl_call_list
#define call_list_body CPerlObj::Perl_call_list_body
-#define cando CPerlObj::Perl_cando
-#define cast_i32 CPerlObj::Perl_cast_i32
-#define cast_iv CPerlObj::Perl_cast_iv
-#define cast_ulong CPerlObj::Perl_cast_ulong
-#define cast_uv CPerlObj::Perl_cast_uv
#define check_uni CPerlObj::Perl_check_uni
#define checkcomma CPerlObj::Perl_checkcomma
-#define ck_anoncode CPerlObj::Perl_ck_anoncode
-#define ck_bitop CPerlObj::Perl_ck_bitop
-#define ck_concat CPerlObj::Perl_ck_concat
-#define ck_defined CPerlObj::Perl_ck_defined
-#define ck_delete CPerlObj::Perl_ck_delete
-#define ck_eof CPerlObj::Perl_ck_eof
-#define ck_eval CPerlObj::Perl_ck_eval
-#define ck_exec CPerlObj::Perl_ck_exec
-#define ck_exists CPerlObj::Perl_ck_exists
-#define ck_ftst CPerlObj::Perl_ck_ftst
-#define ck_fun CPerlObj::Perl_ck_fun
-#define ck_fun_locale CPerlObj::Perl_ck_fun_locale
-#define ck_glob CPerlObj::Perl_ck_glob
-#define ck_grep CPerlObj::Perl_ck_grep
-#define ck_index CPerlObj::Perl_ck_index
-#define ck_lengthconst CPerlObj::Perl_ck_lengthconst
-#define ck_lfun CPerlObj::Perl_ck_lfun
-#define ck_listiob CPerlObj::Perl_ck_listiob
-#define ck_match CPerlObj::Perl_ck_match
-#define ck_null CPerlObj::Perl_ck_null
-#define ck_repeat CPerlObj::Perl_ck_repeat
-#define ck_require CPerlObj::Perl_ck_require
-#define ck_rfun CPerlObj::Perl_ck_rfun
-#define ck_rvconst CPerlObj::Perl_ck_rvconst
-#define ck_scmp CPerlObj::Perl_ck_scmp
-#define ck_select CPerlObj::Perl_ck_select
-#define ck_shift CPerlObj::Perl_ck_shift
-#define ck_sort CPerlObj::Perl_ck_sort
-#define ck_spair CPerlObj::Perl_ck_spair
-#define ck_split CPerlObj::Perl_ck_split
-#define ck_subr CPerlObj::Perl_ck_subr
-#define ck_svconst CPerlObj::Perl_ck_svconst
-#define ck_trunc CPerlObj::Perl_ck_trunc
#define clear_re CPerlObj::Perl_clear_re
-#define condpair_magic CPerlObj::Perl_condpair_magic
-#define convert CPerlObj::Perl_convert
-#define croak CPerlObj::Perl_croak
-#define cv_ckproto CPerlObj::Perl_cv_ckproto
-#define cv_clone CPerlObj::Perl_cv_clone
#define cv_clone2 CPerlObj::Perl_cv_clone2
-#define cv_const_sv CPerlObj::Perl_cv_const_sv
-#define cv_undef CPerlObj::Perl_cv_undef
-#define cx_dump CPerlObj::Perl_cx_dump
-#define cxinc CPerlObj::Perl_cxinc
-#define deb CPerlObj::Perl_deb
-#define deb_growlevel CPerlObj::Perl_deb_growlevel
-#define debop CPerlObj::Perl_debop
#define debprof CPerlObj::Perl_debprof
-#define debprofdump CPerlObj::Perl_debprofdump
-#define debstack CPerlObj::Perl_debstack
-#define debstackptrs CPerlObj::Perl_debstackptrs
-#define default_protect CPerlObj::Perl_default_protect
#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 delimcpy CPerlObj::Perl_delimcpy
#define depcom CPerlObj::Perl_depcom
-#define deprecate CPerlObj::Perl_deprecate
-#define die CPerlObj::Perl_die
-#define die_where CPerlObj::Perl_die_where
#define div128 CPerlObj::Perl_div128
-#define do_aexec CPerlObj::Perl_do_aexec
#define do_aspawn CPerlObj::Perl_do_aspawn
-#define do_binmode CPerlObj::Perl_do_binmode
-#define do_chomp CPerlObj::Perl_do_chomp
-#define do_chop CPerlObj::Perl_do_chop
#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_close CPerlObj::Perl_do_close
-#define do_eof CPerlObj::Perl_do_eof
-#define do_exec CPerlObj::Perl_do_exec
-#define do_exec3 CPerlObj::Perl_do_exec3
-#define do_execfree CPerlObj::Perl_do_execfree
-#define do_gv_dump CPerlObj::Perl_do_gv_dump
-#define do_gvgv_dump CPerlObj::Perl_do_gvgv_dump
-#define do_hv_dump CPerlObj::Perl_do_hv_dump
-#define do_ipcctl CPerlObj::Perl_do_ipcctl
-#define do_ipcget CPerlObj::Perl_do_ipcget
-#define do_join CPerlObj::Perl_do_join
-#define do_kv CPerlObj::Perl_do_kv
-#define do_magic_dump CPerlObj::Perl_do_magic_dump
-#define do_msgrcv CPerlObj::Perl_do_msgrcv
-#define do_msgsnd CPerlObj::Perl_do_msgsnd
-#define do_op_dump CPerlObj::Perl_do_op_dump
-#define do_open CPerlObj::Perl_do_open
-#define do_pipe CPerlObj::Perl_do_pipe
-#define do_pmop_dump CPerlObj::Perl_do_pmop_dump
-#define do_print CPerlObj::Perl_do_print
-#define do_readline CPerlObj::Perl_do_readline
#define do_report_used CPerlObj::Perl_do_report_used
-#define do_seek CPerlObj::Perl_do_seek
-#define do_semop CPerlObj::Perl_do_semop
-#define do_shmio CPerlObj::Perl_do_shmio
-#define do_sprintf CPerlObj::Perl_do_sprintf
-#define do_sv_dump CPerlObj::Perl_do_sv_dump
-#define do_sysseek CPerlObj::Perl_do_sysseek
-#define do_tell CPerlObj::Perl_do_tell
-#define do_trans CPerlObj::Perl_do_trans
#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
@@ -1131,13 +2004,10 @@
#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 do_vecset CPerlObj::Perl_do_vecset
-#define do_vop CPerlObj::Perl_do_vop
#define docatch CPerlObj::Perl_docatch
#define docatch_body CPerlObj::Perl_docatch_body
#define doencodes CPerlObj::Perl_doencodes
#define doeval CPerlObj::Perl_doeval
-#define dofile CPerlObj::Perl_dofile
#define dofindlabel CPerlObj::Perl_dofindlabel
#define doform CPerlObj::Perl_doform
#define doopen_pmc CPerlObj::Perl_doopen_pmc
@@ -1147,97 +2017,25 @@
#define dopoptoloop CPerlObj::Perl_dopoptoloop
#define dopoptosub CPerlObj::Perl_dopoptosub
#define dopoptosub_at CPerlObj::Perl_dopoptosub_at
-#define dounwind CPerlObj::Perl_dounwind
-#define dowantarray CPerlObj::Perl_dowantarray
#define dump CPerlObj::Perl_dump
-#define dump_all CPerlObj::Perl_dump_all
-#define dump_eval CPerlObj::Perl_dump_eval
-#define dump_fds CPerlObj::Perl_dump_fds
-#define dump_form CPerlObj::Perl_dump_form
-#define dump_indent CPerlObj::Perl_dump_indent
-#define dump_mstats CPerlObj::Perl_dump_mstats
-#define dump_packsubs CPerlObj::Perl_dump_packsubs
-#define dump_sub CPerlObj::Perl_dump_sub
#define dumpuntil CPerlObj::Perl_dumpuntil
#define emulate_eaccess CPerlObj::Perl_emulate_eaccess
-#define fbm_compile CPerlObj::Perl_fbm_compile
-#define fbm_instr CPerlObj::Perl_fbm_instr
-#define filter_add CPerlObj::Perl_filter_add
-#define filter_del CPerlObj::Perl_filter_del
#define filter_gets CPerlObj::Perl_filter_gets
-#define filter_read CPerlObj::Perl_filter_read
#define find_beginning CPerlObj::Perl_find_beginning
-#define find_script CPerlObj::Perl_find_script
-#define find_threadsv CPerlObj::Perl_find_threadsv
-#define fold_constants CPerlObj::Perl_fold_constants
#define forbid_setid CPerlObj::Perl_forbid_setid
#define force_ident CPerlObj::Perl_force_ident
-#define force_list CPerlObj::Perl_force_list
#define force_next CPerlObj::Perl_force_next
#define force_version CPerlObj::Perl_force_version
#define force_word CPerlObj::Perl_force_word
-#define form CPerlObj::Perl_form
-#define fprintf CPerlObj::Perl_fprintf
#define free_closures CPerlObj::Perl_free_closures
-#define free_tmps CPerlObj::Perl_free_tmps
-#define gen_constant_list CPerlObj::Perl_gen_constant_list
#define get_db_sub CPerlObj::Perl_get_db_sub
-#define get_no_modify CPerlObj::Perl_get_no_modify
-#define get_op_descs CPerlObj::Perl_get_op_descs
-#define get_op_names CPerlObj::Perl_get_op_names
-#define get_opargs CPerlObj::Perl_get_opargs
-#define get_vtbl CPerlObj::Perl_get_vtbl
-#define gp_free CPerlObj::Perl_gp_free
-#define gp_ref CPerlObj::Perl_gp_ref
-#define gv_AVadd CPerlObj::Perl_gv_AVadd
-#define gv_HVadd CPerlObj::Perl_gv_HVadd
-#define gv_IOadd CPerlObj::Perl_gv_IOadd
-#define gv_autoload4 CPerlObj::Perl_gv_autoload4
-#define gv_check CPerlObj::Perl_gv_check
-#define gv_dump CPerlObj::Perl_gv_dump
-#define gv_efullname CPerlObj::Perl_gv_efullname
-#define gv_efullname3 CPerlObj::Perl_gv_efullname3
#define gv_ename CPerlObj::Perl_gv_ename
-#define gv_fetchfile CPerlObj::Perl_gv_fetchfile
-#define gv_fetchmeth CPerlObj::Perl_gv_fetchmeth
-#define gv_fetchmethod CPerlObj::Perl_gv_fetchmethod
-#define gv_fetchmethod_autoload CPerlObj::Perl_gv_fetchmethod_autoload
-#define gv_fetchpv CPerlObj::Perl_gv_fetchpv
-#define gv_fullname CPerlObj::Perl_gv_fullname
-#define gv_fullname3 CPerlObj::Perl_gv_fullname3
-#define gv_init CPerlObj::Perl_gv_init
#define gv_init_sv CPerlObj::Perl_gv_init_sv
-#define gv_stashpv CPerlObj::Perl_gv_stashpv
-#define gv_stashpvn CPerlObj::Perl_gv_stashpvn
-#define gv_stashsv CPerlObj::Perl_gv_stashsv
#define hfreeentries CPerlObj::Perl_hfreeentries
#define hsplit CPerlObj::Perl_hsplit
-#define hv_clear CPerlObj::Perl_hv_clear
-#define hv_delayfree_ent CPerlObj::Perl_hv_delayfree_ent
-#define hv_delete CPerlObj::Perl_hv_delete
-#define hv_delete_ent CPerlObj::Perl_hv_delete_ent
-#define hv_exists CPerlObj::Perl_hv_exists
-#define hv_exists_ent CPerlObj::Perl_hv_exists_ent
-#define hv_fetch CPerlObj::Perl_hv_fetch
-#define hv_fetch_ent CPerlObj::Perl_hv_fetch_ent
-#define hv_free_ent CPerlObj::Perl_hv_free_ent
-#define hv_iterinit CPerlObj::Perl_hv_iterinit
-#define hv_iterkey CPerlObj::Perl_hv_iterkey
-#define hv_iterkeysv CPerlObj::Perl_hv_iterkeysv
-#define hv_iternext CPerlObj::Perl_hv_iternext
-#define hv_iternextsv CPerlObj::Perl_hv_iternextsv
-#define hv_iterval CPerlObj::Perl_hv_iterval
-#define hv_ksplit CPerlObj::Perl_hv_ksplit
-#define hv_magic CPerlObj::Perl_hv_magic
-#define hv_store CPerlObj::Perl_hv_store
-#define hv_store_ent CPerlObj::Perl_hv_store_ent
-#define hv_undef CPerlObj::Perl_hv_undef
-#define ibcmp CPerlObj::Perl_ibcmp
-#define ibcmp_locale CPerlObj::Perl_ibcmp_locale
#define incl_perldb CPerlObj::Perl_incl_perldb
#define incline CPerlObj::Perl_incline
#define incpush CPerlObj::Perl_incpush
-#define ingroup CPerlObj::Perl_ingroup
#define init_debugger CPerlObj::Perl_init_debugger
#define init_ids CPerlObj::Perl_init_ids
#define init_interp CPerlObj::Perl_init_interp
@@ -1246,122 +2044,19 @@
#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 init_stacks CPerlObj::Perl_init_stacks
-#define init_thread_intern CPerlObj::Perl_init_thread_intern
-#define instr CPerlObj::Perl_instr
-#define intro_my CPerlObj::Perl_intro_my
#define intuit_method CPerlObj::Perl_intuit_method
#define intuit_more CPerlObj::Perl_intuit_more
-#define invert CPerlObj::Perl_invert
-#define io_close CPerlObj::Perl_io_close
#define is_an_int CPerlObj::Perl_is_an_int
#define is_handle_constructor CPerlObj::Perl_is_handle_constructor
-#define is_uni_alnum CPerlObj::Perl_is_uni_alnum
-#define is_uni_alnum_lc CPerlObj::Perl_is_uni_alnum_lc
-#define is_uni_alpha CPerlObj::Perl_is_uni_alpha
-#define is_uni_alpha_lc CPerlObj::Perl_is_uni_alpha_lc
-#define is_uni_digit CPerlObj::Perl_is_uni_digit
-#define is_uni_digit_lc CPerlObj::Perl_is_uni_digit_lc
-#define is_uni_idfirst CPerlObj::Perl_is_uni_idfirst
-#define is_uni_idfirst_lc CPerlObj::Perl_is_uni_idfirst_lc
-#define is_uni_lower CPerlObj::Perl_is_uni_lower
-#define is_uni_lower_lc CPerlObj::Perl_is_uni_lower_lc
-#define is_uni_print CPerlObj::Perl_is_uni_print
-#define is_uni_print_lc CPerlObj::Perl_is_uni_print_lc
-#define is_uni_space CPerlObj::Perl_is_uni_space
-#define is_uni_space_lc CPerlObj::Perl_is_uni_space_lc
-#define is_uni_upper CPerlObj::Perl_is_uni_upper
-#define is_uni_upper_lc CPerlObj::Perl_is_uni_upper_lc
-#define is_utf8_alnum CPerlObj::Perl_is_utf8_alnum
-#define is_utf8_alpha CPerlObj::Perl_is_utf8_alpha
-#define is_utf8_digit CPerlObj::Perl_is_utf8_digit
-#define is_utf8_idfirst CPerlObj::Perl_is_utf8_idfirst
-#define is_utf8_lower CPerlObj::Perl_is_utf8_lower
-#define is_utf8_mark CPerlObj::Perl_is_utf8_mark
-#define is_utf8_print CPerlObj::Perl_is_utf8_print
-#define is_utf8_space CPerlObj::Perl_is_utf8_space
-#define is_utf8_upper CPerlObj::Perl_is_utf8_upper
#define isa_lookup CPerlObj::Perl_isa_lookup
-#define jmaybe CPerlObj::Perl_jmaybe
-#define keyword CPerlObj::Perl_keyword
-#define leave_scope CPerlObj::Perl_leave_scope
-#define lex_end CPerlObj::Perl_lex_end
-#define lex_start CPerlObj::Perl_lex_start
-#define linklist CPerlObj::Perl_linklist
-#define list CPerlObj::Perl_list
#define list_assignment CPerlObj::Perl_list_assignment
-#define listkids CPerlObj::Perl_listkids
-#define localize CPerlObj::Perl_localize
-#define looks_like_number CPerlObj::Perl_looks_like_number
#define lop CPerlObj::Perl_lop
-#define magic_clear_all_env CPerlObj::Perl_magic_clear_all_env
-#define magic_clearenv CPerlObj::Perl_magic_clearenv
-#define magic_clearpack CPerlObj::Perl_magic_clearpack
-#define magic_clearsig CPerlObj::Perl_magic_clearsig
-#define magic_dump CPerlObj::Perl_magic_dump
-#define magic_existspack CPerlObj::Perl_magic_existspack
-#define magic_freeregexp CPerlObj::Perl_magic_freeregexp
-#define magic_get CPerlObj::Perl_magic_get
-#define magic_getarylen CPerlObj::Perl_magic_getarylen
-#define magic_getdefelem CPerlObj::Perl_magic_getdefelem
-#define magic_getglob CPerlObj::Perl_magic_getglob
-#define magic_getnkeys CPerlObj::Perl_magic_getnkeys
-#define magic_getpack CPerlObj::Perl_magic_getpack
-#define magic_getpos CPerlObj::Perl_magic_getpos
-#define magic_getsig CPerlObj::Perl_magic_getsig
-#define magic_getsubstr CPerlObj::Perl_magic_getsubstr
-#define magic_gettaint CPerlObj::Perl_magic_gettaint
-#define magic_getuvar CPerlObj::Perl_magic_getuvar
-#define magic_getvec CPerlObj::Perl_magic_getvec
-#define magic_killbackrefs CPerlObj::Perl_magic_killbackrefs
-#define magic_len CPerlObj::Perl_magic_len
#define magic_methcall CPerlObj::Perl_magic_methcall
#define magic_methcall CPerlObj::Perl_magic_methcall
#define magic_methpack CPerlObj::Perl_magic_methpack
-#define magic_mutexfree CPerlObj::Perl_magic_mutexfree
-#define magic_nextpack CPerlObj::Perl_magic_nextpack
-#define magic_regdata_cnt CPerlObj::Perl_magic_regdata_cnt
-#define magic_regdatum_get CPerlObj::Perl_magic_regdatum_get
-#define magic_set CPerlObj::Perl_magic_set
-#define magic_set_all_env CPerlObj::Perl_magic_set_all_env
-#define magic_setamagic CPerlObj::Perl_magic_setamagic
-#define magic_setarylen CPerlObj::Perl_magic_setarylen
-#define magic_setbm CPerlObj::Perl_magic_setbm
-#define magic_setcollxfrm CPerlObj::Perl_magic_setcollxfrm
-#define magic_setdbline CPerlObj::Perl_magic_setdbline
-#define magic_setdefelem CPerlObj::Perl_magic_setdefelem
-#define magic_setenv CPerlObj::Perl_magic_setenv
-#define magic_setfm CPerlObj::Perl_magic_setfm
-#define magic_setglob CPerlObj::Perl_magic_setglob
-#define magic_setisa CPerlObj::Perl_magic_setisa
-#define magic_setmglob CPerlObj::Perl_magic_setmglob
-#define magic_setnkeys CPerlObj::Perl_magic_setnkeys
-#define magic_setpack CPerlObj::Perl_magic_setpack
-#define magic_setpos CPerlObj::Perl_magic_setpos
-#define magic_setsig CPerlObj::Perl_magic_setsig
-#define magic_setsubstr CPerlObj::Perl_magic_setsubstr
-#define magic_settaint CPerlObj::Perl_magic_settaint
-#define magic_setuvar CPerlObj::Perl_magic_setuvar
-#define magic_setvec CPerlObj::Perl_magic_setvec
-#define magic_sizepack CPerlObj::Perl_magic_sizepack
-#define magic_wipepack CPerlObj::Perl_magic_wipepack
-#define magicname CPerlObj::Perl_magicname
-#define malloced_size CPerlObj::Perl_malloced_size
-#define markstack_grow CPerlObj::Perl_markstack_grow
-#define mem_collxfrm CPerlObj::Perl_mem_collxfrm
-#define mess CPerlObj::Perl_mess
+#define main CPerlObj::Perl_main
#define mess_alloc CPerlObj::Perl_mess_alloc
-#define mg_clear CPerlObj::Perl_mg_clear
-#define mg_copy CPerlObj::Perl_mg_copy
-#define mg_find CPerlObj::Perl_mg_find
-#define mg_free CPerlObj::Perl_mg_free
-#define mg_get CPerlObj::Perl_mg_get
-#define mg_length CPerlObj::Perl_mg_length
-#define mg_magical CPerlObj::Perl_mg_magical
-#define mg_set CPerlObj::Perl_mg_set
-#define mg_size CPerlObj::Perl_mg_size
#define missingterm CPerlObj::Perl_missingterm
-#define mod CPerlObj::Perl_mod
#define modkids CPerlObj::Perl_modkids
#define more_he CPerlObj::Perl_more_he
#define more_sv CPerlObj::Perl_more_sv
@@ -1369,112 +2064,27 @@
#define more_xnv CPerlObj::Perl_more_xnv
#define more_xpv CPerlObj::Perl_more_xpv
#define more_xrv CPerlObj::Perl_more_xrv
-#define moreswitches CPerlObj::Perl_moreswitches
#define mul128 CPerlObj::Perl_mul128
-#define my CPerlObj::Perl_my
-#define my_bcopy CPerlObj::Perl_my_bcopy
-#define my_bzero CPerlObj::Perl_my_bzero
-#define my_chsize CPerlObj::Perl_my_chsize
-#define my_exit CPerlObj::Perl_my_exit
#define my_exit_jump CPerlObj::Perl_my_exit_jump
-#define my_failure_exit CPerlObj::Perl_my_failure_exit
-#define my_fflush_all CPerlObj::Perl_my_fflush_all
-#define my_htonl CPerlObj::Perl_my_htonl
-#define my_lstat CPerlObj::Perl_my_lstat
-#define my_memcmp CPerlObj::Perl_my_memcmp
-#define my_memset CPerlObj::Perl_my_memset
-#define my_ntohl CPerlObj::Perl_my_ntohl
-#define my_pclose CPerlObj::Perl_my_pclose
-#define my_popen CPerlObj::Perl_my_popen
#define my_safemalloc CPerlObj::Perl_my_safemalloc
-#define my_setenv CPerlObj::Perl_my_setenv
-#define my_stat CPerlObj::Perl_my_stat
-#define my_swap CPerlObj::Perl_my_swap
-#define my_unexec CPerlObj::Perl_my_unexec
-#define newANONHASH CPerlObj::Perl_newANONHASH
-#define newANONLIST CPerlObj::Perl_newANONLIST
-#define newANONSUB CPerlObj::Perl_newANONSUB
-#define newASSIGNOP CPerlObj::Perl_newASSIGNOP
-#define newAV CPerlObj::Perl_newAV
-#define newAVREF CPerlObj::Perl_newAVREF
-#define newBINOP CPerlObj::Perl_newBINOP
-#define newCONDOP CPerlObj::Perl_newCONDOP
-#define newCONSTSUB CPerlObj::Perl_newCONSTSUB
-#define newCVREF CPerlObj::Perl_newCVREF
#define newDEFSVOP CPerlObj::Perl_newDEFSVOP
-#define newFORM CPerlObj::Perl_newFORM
-#define newFOROP CPerlObj::Perl_newFOROP
-#define newGVOP CPerlObj::Perl_newGVOP
-#define newGVREF CPerlObj::Perl_newGVREF
-#define newGVgen CPerlObj::Perl_newGVgen
-#define newHV CPerlObj::Perl_newHV
-#define newHVREF CPerlObj::Perl_newHVREF
-#define newHVhv CPerlObj::Perl_newHVhv
-#define newIO CPerlObj::Perl_newIO
-#define newLISTOP CPerlObj::Perl_newLISTOP
-#define newLOGOP CPerlObj::Perl_newLOGOP
-#define newLOOPEX CPerlObj::Perl_newLOOPEX
-#define newLOOPOP CPerlObj::Perl_newLOOPOP
-#define newNULLLIST CPerlObj::Perl_newNULLLIST
-#define newOP CPerlObj::Perl_newOP
-#define newPMOP CPerlObj::Perl_newPMOP
-#define newPROG CPerlObj::Perl_newPROG
-#define newPVOP CPerlObj::Perl_newPVOP
-#define newRANGE CPerlObj::Perl_newRANGE
-#define newRV CPerlObj::Perl_newRV
-#define newRV_noinc CPerlObj::Perl_newRV_noinc
-#define newSLICEOP CPerlObj::Perl_newSLICEOP
-#define newSTATEOP CPerlObj::Perl_newSTATEOP
-#define newSUB CPerlObj::Perl_newSUB
-#define newSV CPerlObj::Perl_newSV
-#define newSVOP CPerlObj::Perl_newSVOP
-#define newSVREF CPerlObj::Perl_newSVREF
-#define newSViv CPerlObj::Perl_newSViv
-#define newSVnv CPerlObj::Perl_newSVnv
-#define newSVpv CPerlObj::Perl_newSVpv
-#define newSVpvf CPerlObj::Perl_newSVpvf
-#define newSVpvn CPerlObj::Perl_newSVpvn
-#define newSVrv CPerlObj::Perl_newSVrv
-#define newSVsv CPerlObj::Perl_newSVsv
-#define newUNOP CPerlObj::Perl_newUNOP
-#define newWHILEOP CPerlObj::Perl_newWHILEOP
-#define newXS CPerlObj::Perl_newXS
#define new_constant CPerlObj::Perl_new_constant
#define new_he CPerlObj::Perl_new_he
#define new_logop CPerlObj::Perl_new_logop
-#define new_stackinfo CPerlObj::Perl_new_stackinfo
-#define new_struct_thread CPerlObj::Perl_new_struct_thread
#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 nextargv CPerlObj::Perl_nextargv
#define nextchar CPerlObj::Perl_nextchar
-#define ninstr CPerlObj::Perl_ninstr
#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 oopsAV CPerlObj::Perl_oopsAV
-#define oopsCV CPerlObj::Perl_oopsCV
-#define oopsHV CPerlObj::Perl_oopsHV
-#define op_const_sv CPerlObj::Perl_op_const_sv
-#define op_dump CPerlObj::Perl_op_dump
-#define op_free CPerlObj::Perl_op_free
#define open_script CPerlObj::Perl_open_script
-#define package CPerlObj::Perl_package
-#define pad_alloc CPerlObj::Perl_pad_alloc
-#define pad_allocmy CPerlObj::Perl_pad_allocmy
#define pad_findlex CPerlObj::Perl_pad_findlex
-#define pad_findmy CPerlObj::Perl_pad_findmy
-#define pad_free CPerlObj::Perl_pad_free
-#define pad_leavemy CPerlObj::Perl_pad_leavemy
-#define pad_reset CPerlObj::Perl_pad_reset
-#define pad_sv CPerlObj::Perl_pad_sv
-#define pad_swipe CPerlObj::Perl_pad_swipe
-#define peep CPerlObj::Perl_peep
+#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
@@ -1483,10 +2093,13 @@
#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
@@ -1497,374 +2110,16 @@
#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 pidgone CPerlObj::Perl_pidgone
-#define pmflag CPerlObj::Perl_pmflag
-#define pmop_dump CPerlObj::Perl_pmop_dump
-#define pmruntime CPerlObj::Perl_pmruntime
-#define pmtrans CPerlObj::Perl_pmtrans
-#define pop_return CPerlObj::Perl_pop_return
-#define pop_scope CPerlObj::Perl_pop_scope
-#define pp_aassign CPerlObj::Perl_pp_aassign
-#define pp_abs CPerlObj::Perl_pp_abs
-#define pp_accept CPerlObj::Perl_pp_accept
-#define pp_add CPerlObj::Perl_pp_add
-#define pp_aelem CPerlObj::Perl_pp_aelem
-#define pp_aelemfast CPerlObj::Perl_pp_aelemfast
-#define pp_alarm CPerlObj::Perl_pp_alarm
-#define pp_and CPerlObj::Perl_pp_and
-#define pp_andassign CPerlObj::Perl_pp_andassign
-#define pp_anoncode CPerlObj::Perl_pp_anoncode
-#define pp_anonhash CPerlObj::Perl_pp_anonhash
-#define pp_anonlist CPerlObj::Perl_pp_anonlist
-#define pp_aslice CPerlObj::Perl_pp_aslice
-#define pp_atan2 CPerlObj::Perl_pp_atan2
-#define pp_av2arylen CPerlObj::Perl_pp_av2arylen
-#define pp_backtick CPerlObj::Perl_pp_backtick
-#define pp_bind CPerlObj::Perl_pp_bind
-#define pp_binmode CPerlObj::Perl_pp_binmode
-#define pp_bit_and CPerlObj::Perl_pp_bit_and
-#define pp_bit_or CPerlObj::Perl_pp_bit_or
-#define pp_bit_xor CPerlObj::Perl_pp_bit_xor
-#define pp_bless CPerlObj::Perl_pp_bless
-#define pp_caller CPerlObj::Perl_pp_caller
-#define pp_chdir CPerlObj::Perl_pp_chdir
-#define pp_chmod CPerlObj::Perl_pp_chmod
-#define pp_chomp CPerlObj::Perl_pp_chomp
-#define pp_chop CPerlObj::Perl_pp_chop
-#define pp_chown CPerlObj::Perl_pp_chown
-#define pp_chr CPerlObj::Perl_pp_chr
-#define pp_chroot CPerlObj::Perl_pp_chroot
-#define pp_close CPerlObj::Perl_pp_close
-#define pp_closedir CPerlObj::Perl_pp_closedir
-#define pp_complement CPerlObj::Perl_pp_complement
-#define pp_concat CPerlObj::Perl_pp_concat
-#define pp_cond_expr CPerlObj::Perl_pp_cond_expr
-#define pp_connect CPerlObj::Perl_pp_connect
-#define pp_const CPerlObj::Perl_pp_const
-#define pp_cos CPerlObj::Perl_pp_cos
-#define pp_crypt CPerlObj::Perl_pp_crypt
-#define pp_dbmclose CPerlObj::Perl_pp_dbmclose
-#define pp_dbmopen CPerlObj::Perl_pp_dbmopen
-#define pp_dbstate CPerlObj::Perl_pp_dbstate
-#define pp_defined CPerlObj::Perl_pp_defined
-#define pp_delete CPerlObj::Perl_pp_delete
-#define pp_die CPerlObj::Perl_pp_die
-#define pp_divide CPerlObj::Perl_pp_divide
-#define pp_dofile CPerlObj::Perl_pp_dofile
-#define pp_dump CPerlObj::Perl_pp_dump
-#define pp_each CPerlObj::Perl_pp_each
-#define pp_egrent CPerlObj::Perl_pp_egrent
-#define pp_ehostent CPerlObj::Perl_pp_ehostent
-#define pp_enetent CPerlObj::Perl_pp_enetent
-#define pp_enter CPerlObj::Perl_pp_enter
-#define pp_entereval CPerlObj::Perl_pp_entereval
-#define pp_enteriter CPerlObj::Perl_pp_enteriter
-#define pp_enterloop CPerlObj::Perl_pp_enterloop
-#define pp_entersub CPerlObj::Perl_pp_entersub
-#define pp_entertry CPerlObj::Perl_pp_entertry
-#define pp_enterwrite CPerlObj::Perl_pp_enterwrite
-#define pp_eof CPerlObj::Perl_pp_eof
-#define pp_eprotoent CPerlObj::Perl_pp_eprotoent
-#define pp_epwent CPerlObj::Perl_pp_epwent
-#define pp_eq CPerlObj::Perl_pp_eq
-#define pp_eservent CPerlObj::Perl_pp_eservent
-#define pp_exec CPerlObj::Perl_pp_exec
-#define pp_exists CPerlObj::Perl_pp_exists
-#define pp_exit CPerlObj::Perl_pp_exit
-#define pp_exp CPerlObj::Perl_pp_exp
-#define pp_fcntl CPerlObj::Perl_pp_fcntl
-#define pp_fileno CPerlObj::Perl_pp_fileno
-#define pp_flip CPerlObj::Perl_pp_flip
-#define pp_flock CPerlObj::Perl_pp_flock
-#define pp_flop CPerlObj::Perl_pp_flop
-#define pp_fork CPerlObj::Perl_pp_fork
-#define pp_formline CPerlObj::Perl_pp_formline
-#define pp_ftatime CPerlObj::Perl_pp_ftatime
-#define pp_ftbinary CPerlObj::Perl_pp_ftbinary
-#define pp_ftblk CPerlObj::Perl_pp_ftblk
-#define pp_ftchr CPerlObj::Perl_pp_ftchr
-#define pp_ftctime CPerlObj::Perl_pp_ftctime
-#define pp_ftdir CPerlObj::Perl_pp_ftdir
-#define pp_fteexec CPerlObj::Perl_pp_fteexec
-#define pp_fteowned CPerlObj::Perl_pp_fteowned
-#define pp_fteread CPerlObj::Perl_pp_fteread
-#define pp_ftewrite CPerlObj::Perl_pp_ftewrite
-#define pp_ftfile CPerlObj::Perl_pp_ftfile
-#define pp_ftis CPerlObj::Perl_pp_ftis
-#define pp_ftlink CPerlObj::Perl_pp_ftlink
-#define pp_ftmtime CPerlObj::Perl_pp_ftmtime
-#define pp_ftpipe CPerlObj::Perl_pp_ftpipe
-#define pp_ftrexec CPerlObj::Perl_pp_ftrexec
-#define pp_ftrowned CPerlObj::Perl_pp_ftrowned
-#define pp_ftrread CPerlObj::Perl_pp_ftrread
-#define pp_ftrwrite CPerlObj::Perl_pp_ftrwrite
-#define pp_ftsgid CPerlObj::Perl_pp_ftsgid
-#define pp_ftsize CPerlObj::Perl_pp_ftsize
-#define pp_ftsock CPerlObj::Perl_pp_ftsock
-#define pp_ftsuid CPerlObj::Perl_pp_ftsuid
-#define pp_ftsvtx CPerlObj::Perl_pp_ftsvtx
-#define pp_fttext CPerlObj::Perl_pp_fttext
-#define pp_fttty CPerlObj::Perl_pp_fttty
-#define pp_ftzero CPerlObj::Perl_pp_ftzero
-#define pp_ge CPerlObj::Perl_pp_ge
-#define pp_gelem CPerlObj::Perl_pp_gelem
-#define pp_getc CPerlObj::Perl_pp_getc
-#define pp_getlogin CPerlObj::Perl_pp_getlogin
-#define pp_getpeername CPerlObj::Perl_pp_getpeername
-#define pp_getpgrp CPerlObj::Perl_pp_getpgrp
-#define pp_getppid CPerlObj::Perl_pp_getppid
-#define pp_getpriority CPerlObj::Perl_pp_getpriority
-#define pp_getsockname CPerlObj::Perl_pp_getsockname
-#define pp_ggrent CPerlObj::Perl_pp_ggrent
-#define pp_ggrgid CPerlObj::Perl_pp_ggrgid
-#define pp_ggrnam CPerlObj::Perl_pp_ggrnam
-#define pp_ghbyaddr CPerlObj::Perl_pp_ghbyaddr
-#define pp_ghbyname CPerlObj::Perl_pp_ghbyname
-#define pp_ghostent CPerlObj::Perl_pp_ghostent
-#define pp_glob CPerlObj::Perl_pp_glob
-#define pp_gmtime CPerlObj::Perl_pp_gmtime
-#define pp_gnbyaddr CPerlObj::Perl_pp_gnbyaddr
-#define pp_gnbyname CPerlObj::Perl_pp_gnbyname
-#define pp_gnetent CPerlObj::Perl_pp_gnetent
-#define pp_goto CPerlObj::Perl_pp_goto
-#define pp_gpbyname CPerlObj::Perl_pp_gpbyname
-#define pp_gpbynumber CPerlObj::Perl_pp_gpbynumber
-#define pp_gprotoent CPerlObj::Perl_pp_gprotoent
-#define pp_gpwent CPerlObj::Perl_pp_gpwent
-#define pp_gpwnam CPerlObj::Perl_pp_gpwnam
-#define pp_gpwuid CPerlObj::Perl_pp_gpwuid
-#define pp_grepstart CPerlObj::Perl_pp_grepstart
-#define pp_grepwhile CPerlObj::Perl_pp_grepwhile
-#define pp_gsbyname CPerlObj::Perl_pp_gsbyname
-#define pp_gsbyport CPerlObj::Perl_pp_gsbyport
-#define pp_gservent CPerlObj::Perl_pp_gservent
-#define pp_gsockopt CPerlObj::Perl_pp_gsockopt
-#define pp_gt CPerlObj::Perl_pp_gt
-#define pp_gv CPerlObj::Perl_pp_gv
-#define pp_gvsv CPerlObj::Perl_pp_gvsv
-#define pp_helem CPerlObj::Perl_pp_helem
-#define pp_hex CPerlObj::Perl_pp_hex
-#define pp_hslice CPerlObj::Perl_pp_hslice
-#define pp_i_add CPerlObj::Perl_pp_i_add
-#define pp_i_divide CPerlObj::Perl_pp_i_divide
-#define pp_i_eq CPerlObj::Perl_pp_i_eq
-#define pp_i_ge CPerlObj::Perl_pp_i_ge
-#define pp_i_gt CPerlObj::Perl_pp_i_gt
-#define pp_i_le CPerlObj::Perl_pp_i_le
-#define pp_i_lt CPerlObj::Perl_pp_i_lt
-#define pp_i_modulo CPerlObj::Perl_pp_i_modulo
-#define pp_i_multiply CPerlObj::Perl_pp_i_multiply
-#define pp_i_ncmp CPerlObj::Perl_pp_i_ncmp
-#define pp_i_ne CPerlObj::Perl_pp_i_ne
-#define pp_i_negate CPerlObj::Perl_pp_i_negate
-#define pp_i_subtract CPerlObj::Perl_pp_i_subtract
-#define pp_index CPerlObj::Perl_pp_index
-#define pp_int CPerlObj::Perl_pp_int
-#define pp_ioctl CPerlObj::Perl_pp_ioctl
-#define pp_iter CPerlObj::Perl_pp_iter
-#define pp_join CPerlObj::Perl_pp_join
-#define pp_keys CPerlObj::Perl_pp_keys
-#define pp_kill CPerlObj::Perl_pp_kill
-#define pp_last CPerlObj::Perl_pp_last
-#define pp_lc CPerlObj::Perl_pp_lc
-#define pp_lcfirst CPerlObj::Perl_pp_lcfirst
-#define pp_le CPerlObj::Perl_pp_le
-#define pp_leave CPerlObj::Perl_pp_leave
-#define pp_leaveeval CPerlObj::Perl_pp_leaveeval
-#define pp_leaveloop CPerlObj::Perl_pp_leaveloop
-#define pp_leavesub CPerlObj::Perl_pp_leavesub
-#define pp_leavetry CPerlObj::Perl_pp_leavetry
-#define pp_leavewrite CPerlObj::Perl_pp_leavewrite
-#define pp_left_shift CPerlObj::Perl_pp_left_shift
-#define pp_length CPerlObj::Perl_pp_length
-#define pp_lineseq CPerlObj::Perl_pp_lineseq
-#define pp_link CPerlObj::Perl_pp_link
-#define pp_list CPerlObj::Perl_pp_list
-#define pp_listen CPerlObj::Perl_pp_listen
-#define pp_localtime CPerlObj::Perl_pp_localtime
-#define pp_lock CPerlObj::Perl_pp_lock
-#define pp_log CPerlObj::Perl_pp_log
-#define pp_lslice CPerlObj::Perl_pp_lslice
-#define pp_lstat CPerlObj::Perl_pp_lstat
-#define pp_lt CPerlObj::Perl_pp_lt
-#define pp_mapstart CPerlObj::Perl_pp_mapstart
-#define pp_mapwhile CPerlObj::Perl_pp_mapwhile
-#define pp_match CPerlObj::Perl_pp_match
-#define pp_method CPerlObj::Perl_pp_method
-#define pp_mkdir CPerlObj::Perl_pp_mkdir
-#define pp_modulo CPerlObj::Perl_pp_modulo
-#define pp_msgctl CPerlObj::Perl_pp_msgctl
-#define pp_msgget CPerlObj::Perl_pp_msgget
-#define pp_msgrcv CPerlObj::Perl_pp_msgrcv
-#define pp_msgsnd CPerlObj::Perl_pp_msgsnd
-#define pp_multiply CPerlObj::Perl_pp_multiply
-#define pp_ncmp CPerlObj::Perl_pp_ncmp
-#define pp_ne CPerlObj::Perl_pp_ne
-#define pp_negate CPerlObj::Perl_pp_negate
-#define pp_next CPerlObj::Perl_pp_next
-#define pp_nextstate CPerlObj::Perl_pp_nextstate
-#define pp_not CPerlObj::Perl_pp_not
-#define pp_null CPerlObj::Perl_pp_null
-#define pp_oct CPerlObj::Perl_pp_oct
-#define pp_open CPerlObj::Perl_pp_open
-#define pp_open_dir CPerlObj::Perl_pp_open_dir
-#define pp_or CPerlObj::Perl_pp_or
-#define pp_orassign CPerlObj::Perl_pp_orassign
-#define pp_ord CPerlObj::Perl_pp_ord
-#define pp_pack CPerlObj::Perl_pp_pack
-#define pp_padany CPerlObj::Perl_pp_padany
-#define pp_padav CPerlObj::Perl_pp_padav
-#define pp_padhv CPerlObj::Perl_pp_padhv
-#define pp_padsv CPerlObj::Perl_pp_padsv
-#define pp_pipe_op CPerlObj::Perl_pp_pipe_op
-#define pp_pop CPerlObj::Perl_pp_pop
-#define pp_pos CPerlObj::Perl_pp_pos
-#define pp_postdec CPerlObj::Perl_pp_postdec
-#define pp_postinc CPerlObj::Perl_pp_postinc
-#define pp_pow CPerlObj::Perl_pp_pow
-#define pp_predec CPerlObj::Perl_pp_predec
-#define pp_preinc CPerlObj::Perl_pp_preinc
-#define pp_print CPerlObj::Perl_pp_print
-#define pp_prototype CPerlObj::Perl_pp_prototype
-#define pp_prtf CPerlObj::Perl_pp_prtf
-#define pp_push CPerlObj::Perl_pp_push
-#define pp_pushmark CPerlObj::Perl_pp_pushmark
-#define pp_pushre CPerlObj::Perl_pp_pushre
-#define pp_qr CPerlObj::Perl_pp_qr
-#define pp_quotemeta CPerlObj::Perl_pp_quotemeta
-#define pp_rand CPerlObj::Perl_pp_rand
-#define pp_range CPerlObj::Perl_pp_range
-#define pp_rcatline CPerlObj::Perl_pp_rcatline
-#define pp_read CPerlObj::Perl_pp_read
-#define pp_readdir CPerlObj::Perl_pp_readdir
-#define pp_readline CPerlObj::Perl_pp_readline
-#define pp_readlink CPerlObj::Perl_pp_readlink
-#define pp_recv CPerlObj::Perl_pp_recv
-#define pp_redo CPerlObj::Perl_pp_redo
-#define pp_ref CPerlObj::Perl_pp_ref
-#define pp_refgen CPerlObj::Perl_pp_refgen
-#define pp_regcmaybe CPerlObj::Perl_pp_regcmaybe
-#define pp_regcomp CPerlObj::Perl_pp_regcomp
-#define pp_regcreset CPerlObj::Perl_pp_regcreset
-#define pp_rename CPerlObj::Perl_pp_rename
-#define pp_repeat CPerlObj::Perl_pp_repeat
-#define pp_require CPerlObj::Perl_pp_require
-#define pp_reset CPerlObj::Perl_pp_reset
-#define pp_return CPerlObj::Perl_pp_return
-#define pp_reverse CPerlObj::Perl_pp_reverse
-#define pp_rewinddir CPerlObj::Perl_pp_rewinddir
-#define pp_right_shift CPerlObj::Perl_pp_right_shift
-#define pp_rindex CPerlObj::Perl_pp_rindex
-#define pp_rmdir CPerlObj::Perl_pp_rmdir
-#define pp_rv2av CPerlObj::Perl_pp_rv2av
-#define pp_rv2cv CPerlObj::Perl_pp_rv2cv
-#define pp_rv2gv CPerlObj::Perl_pp_rv2gv
-#define pp_rv2hv CPerlObj::Perl_pp_rv2hv
-#define pp_rv2sv CPerlObj::Perl_pp_rv2sv
-#define pp_sassign CPerlObj::Perl_pp_sassign
-#define pp_scalar CPerlObj::Perl_pp_scalar
-#define pp_schomp CPerlObj::Perl_pp_schomp
-#define pp_schop CPerlObj::Perl_pp_schop
-#define pp_scmp CPerlObj::Perl_pp_scmp
-#define pp_scope CPerlObj::Perl_pp_scope
-#define pp_seek CPerlObj::Perl_pp_seek
-#define pp_seekdir CPerlObj::Perl_pp_seekdir
-#define pp_select CPerlObj::Perl_pp_select
-#define pp_semctl CPerlObj::Perl_pp_semctl
-#define pp_semget CPerlObj::Perl_pp_semget
-#define pp_semop CPerlObj::Perl_pp_semop
-#define pp_send CPerlObj::Perl_pp_send
-#define pp_seq CPerlObj::Perl_pp_seq
-#define pp_setpgrp CPerlObj::Perl_pp_setpgrp
-#define pp_setpriority CPerlObj::Perl_pp_setpriority
-#define pp_sge CPerlObj::Perl_pp_sge
-#define pp_sgrent CPerlObj::Perl_pp_sgrent
-#define pp_sgt CPerlObj::Perl_pp_sgt
-#define pp_shift CPerlObj::Perl_pp_shift
-#define pp_shmctl CPerlObj::Perl_pp_shmctl
-#define pp_shmget CPerlObj::Perl_pp_shmget
-#define pp_shmread CPerlObj::Perl_pp_shmread
-#define pp_shmwrite CPerlObj::Perl_pp_shmwrite
-#define pp_shostent CPerlObj::Perl_pp_shostent
-#define pp_shutdown CPerlObj::Perl_pp_shutdown
-#define pp_sin CPerlObj::Perl_pp_sin
-#define pp_sle CPerlObj::Perl_pp_sle
-#define pp_sleep CPerlObj::Perl_pp_sleep
-#define pp_slt CPerlObj::Perl_pp_slt
-#define pp_sne CPerlObj::Perl_pp_sne
-#define pp_snetent CPerlObj::Perl_pp_snetent
-#define pp_socket CPerlObj::Perl_pp_socket
-#define pp_sockpair CPerlObj::Perl_pp_sockpair
-#define pp_sort CPerlObj::Perl_pp_sort
-#define pp_splice CPerlObj::Perl_pp_splice
-#define pp_split CPerlObj::Perl_pp_split
-#define pp_sprintf CPerlObj::Perl_pp_sprintf
-#define pp_sprotoent CPerlObj::Perl_pp_sprotoent
-#define pp_spwent CPerlObj::Perl_pp_spwent
-#define pp_sqrt CPerlObj::Perl_pp_sqrt
-#define pp_srand CPerlObj::Perl_pp_srand
-#define pp_srefgen CPerlObj::Perl_pp_srefgen
-#define pp_sselect CPerlObj::Perl_pp_sselect
-#define pp_sservent CPerlObj::Perl_pp_sservent
-#define pp_ssockopt CPerlObj::Perl_pp_ssockopt
-#define pp_stat CPerlObj::Perl_pp_stat
-#define pp_stringify CPerlObj::Perl_pp_stringify
-#define pp_stub CPerlObj::Perl_pp_stub
-#define pp_study CPerlObj::Perl_pp_study
-#define pp_subst CPerlObj::Perl_pp_subst
-#define pp_substcont CPerlObj::Perl_pp_substcont
-#define pp_substr CPerlObj::Perl_pp_substr
-#define pp_subtract CPerlObj::Perl_pp_subtract
-#define pp_symlink CPerlObj::Perl_pp_symlink
-#define pp_syscall CPerlObj::Perl_pp_syscall
-#define pp_sysopen CPerlObj::Perl_pp_sysopen
-#define pp_sysread CPerlObj::Perl_pp_sysread
-#define pp_sysseek CPerlObj::Perl_pp_sysseek
-#define pp_system CPerlObj::Perl_pp_system
-#define pp_syswrite CPerlObj::Perl_pp_syswrite
-#define pp_tell CPerlObj::Perl_pp_tell
-#define pp_telldir CPerlObj::Perl_pp_telldir
-#define pp_threadsv CPerlObj::Perl_pp_threadsv
-#define pp_tie CPerlObj::Perl_pp_tie
-#define pp_tied CPerlObj::Perl_pp_tied
-#define pp_time CPerlObj::Perl_pp_time
-#define pp_tms CPerlObj::Perl_pp_tms
-#define pp_trans CPerlObj::Perl_pp_trans
-#define pp_truncate CPerlObj::Perl_pp_truncate
-#define pp_uc CPerlObj::Perl_pp_uc
-#define pp_ucfirst CPerlObj::Perl_pp_ucfirst
-#define pp_umask CPerlObj::Perl_pp_umask
-#define pp_undef CPerlObj::Perl_pp_undef
-#define pp_unlink CPerlObj::Perl_pp_unlink
-#define pp_unpack CPerlObj::Perl_pp_unpack
-#define pp_unshift CPerlObj::Perl_pp_unshift
-#define pp_unstack CPerlObj::Perl_pp_unstack
-#define pp_untie CPerlObj::Perl_pp_untie
-#define pp_utime CPerlObj::Perl_pp_utime
-#define pp_values CPerlObj::Perl_pp_values
-#define pp_vec CPerlObj::Perl_pp_vec
-#define pp_wait CPerlObj::Perl_pp_wait
-#define pp_waitpid CPerlObj::Perl_pp_waitpid
-#define pp_wantarray CPerlObj::Perl_pp_wantarray
-#define pp_warn CPerlObj::Perl_pp_warn
-#define pp_xor CPerlObj::Perl_pp_xor
-#define pregcomp CPerlObj::Perl_pregcomp
-#define pregexec CPerlObj::Perl_pregexec
-#define pregfree CPerlObj::Perl_pregfree
-#define prepend_elem CPerlObj::Perl_prepend_elem
-#define push_return CPerlObj::Perl_push_return
-#define push_scope CPerlObj::Perl_push_scope
-#define pv_display CPerlObj::Perl_pv_display
#define qsortsv CPerlObj::Perl_qsortsv
#define re_croak2 CPerlObj::Perl_re_croak2
-#define ref CPerlObj::Perl_ref
-#define refkids CPerlObj::Perl_refkids
#define refto CPerlObj::Perl_refto
#define reg CPerlObj::Perl_reg
#define reg_node CPerlObj::Perl_reg_node
@@ -1878,20 +2133,15 @@
#define regcppop CPerlObj::Perl_regcppop
#define regcppush CPerlObj::Perl_regcppush
#define regcurly CPerlObj::Perl_regcurly
-#define regdump CPerlObj::Perl_regdump
-#define regexec_flags CPerlObj::Perl_regexec_flags
#define reghop CPerlObj::Perl_reghop
#define reghopmaybe CPerlObj::Perl_reghopmaybe
#define reginclass CPerlObj::Perl_reginclass
#define reginclassutf8 CPerlObj::Perl_reginclassutf8
-#define reginitcolors CPerlObj::Perl_reginitcolors
#define reginsert CPerlObj::Perl_reginsert
#define regmatch CPerlObj::Perl_regmatch
-#define regnext CPerlObj::Perl_regnext
#define regoptail CPerlObj::Perl_regoptail
#define regpiece CPerlObj::Perl_regpiece
#define regpposixcc CPerlObj::Perl_regpposixcc
-#define regprop CPerlObj::Perl_regprop
#define regrepeat CPerlObj::Perl_regrepeat
#define regrepeat_hard CPerlObj::Perl_regrepeat_hard
#define regset CPerlObj::Perl_regset
@@ -1899,255 +2149,50 @@
#define regtry CPerlObj::Perl_regtry
#define reguni CPerlObj::Perl_reguni
#define regwhite CPerlObj::Perl_regwhite
-#define repeatcpy CPerlObj::Perl_repeatcpy
#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 rninstr CPerlObj::Perl_rninstr
-#define rsignal CPerlObj::Perl_rsignal
-#define rsignal_restore CPerlObj::Perl_rsignal_restore
-#define rsignal_save CPerlObj::Perl_rsignal_save
-#define rsignal_state CPerlObj::Perl_rsignal_state
-#define runops_debug CPerlObj::Perl_runops_debug
-#define runops_debug CPerlObj::Perl_runops_debug
-#define runops_standard CPerlObj::Perl_runops_standard
-#define runops_standard CPerlObj::Perl_runops_standard
-#define rxres_free CPerlObj::Perl_rxres_free
-#define rxres_restore CPerlObj::Perl_rxres_restore
-#define rxres_save CPerlObj::Perl_rxres_save
-#define safesyscalloc CPerlObj::Perl_safesyscalloc
-#define safesysfree CPerlObj::Perl_safesysfree
-#define safesysmalloc CPerlObj::Perl_safesysmalloc
-#define safesysrealloc CPerlObj::Perl_safesysrealloc
-#define safexcalloc CPerlObj::Perl_safexcalloc
-#define safexfree CPerlObj::Perl_safexfree
-#define safexmalloc CPerlObj::Perl_safexmalloc
-#define safexrealloc CPerlObj::Perl_safexrealloc
-#define same_dirent CPerlObj::Perl_same_dirent
-#define save_I16 CPerlObj::Perl_save_I16
-#define save_I32 CPerlObj::Perl_save_I32
-#define save_aelem CPerlObj::Perl_save_aelem
-#define save_alloc CPerlObj::Perl_save_alloc
-#define save_aptr CPerlObj::Perl_save_aptr
-#define save_ary CPerlObj::Perl_save_ary
-#define save_clearsv CPerlObj::Perl_save_clearsv
-#define save_delete CPerlObj::Perl_save_delete
-#define save_destructor CPerlObj::Perl_save_destructor
-#define save_freeop CPerlObj::Perl_save_freeop
-#define save_freepv CPerlObj::Perl_save_freepv
-#define save_freesv CPerlObj::Perl_save_freesv
-#define save_generic_svref CPerlObj::Perl_save_generic_svref
-#define save_gp CPerlObj::Perl_save_gp
-#define save_hash CPerlObj::Perl_save_hash
#define save_hek CPerlObj::Perl_save_hek
-#define save_helem CPerlObj::Perl_save_helem
-#define save_hints CPerlObj::Perl_save_hints
-#define save_hptr CPerlObj::Perl_save_hptr
-#define save_int CPerlObj::Perl_save_int
-#define save_item CPerlObj::Perl_save_item
-#define save_iv CPerlObj::Perl_save_iv
#define save_lines CPerlObj::Perl_save_lines
-#define save_list CPerlObj::Perl_save_list
-#define save_long CPerlObj::Perl_save_long
#define save_magic CPerlObj::Perl_save_magic
-#define save_nogv CPerlObj::Perl_save_nogv
-#define save_op CPerlObj::Perl_save_op
-#define save_pptr CPerlObj::Perl_save_pptr
-#define save_re_context CPerlObj::Perl_save_re_context
-#define save_scalar CPerlObj::Perl_save_scalar
#define save_scalar_at CPerlObj::Perl_save_scalar_at
-#define save_sptr CPerlObj::Perl_save_sptr
-#define save_svref CPerlObj::Perl_save_svref
-#define save_threadsv CPerlObj::Perl_save_threadsv
-#define savepv CPerlObj::Perl_savepv
-#define savepvn CPerlObj::Perl_savepvn
-#define savestack_grow CPerlObj::Perl_savestack_grow
-#define sawparens CPerlObj::Perl_sawparens
-#define scalar CPerlObj::Perl_scalar
#define scalarboolean CPerlObj::Perl_scalarboolean
-#define scalarkids CPerlObj::Perl_scalarkids
-#define scalarseq CPerlObj::Perl_scalarseq
-#define scalarvoid CPerlObj::Perl_scalarvoid
-#define scan_bin CPerlObj::Perl_scan_bin
#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_hex CPerlObj::Perl_scan_hex
#define scan_ident CPerlObj::Perl_scan_ident
#define scan_inputsymbol CPerlObj::Perl_scan_inputsymbol
-#define scan_num CPerlObj::Perl_scan_num
-#define scan_oct CPerlObj::Perl_scan_oct
#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 scope CPerlObj::Perl_scope
-#define screaminstr CPerlObj::Perl_screaminstr
#define seed CPerlObj::Perl_seed
#define set_csh CPerlObj::Perl_set_csh
-#define setdefout CPerlObj::Perl_setdefout
-#define setenv_getix CPerlObj::Perl_setenv_getix
-#define share_hek CPerlObj::Perl_share_hek
-#define sharepvn CPerlObj::Perl_sharepvn
-#define sighandler CPerlObj::Perl_sighandler
#define simplify_sort CPerlObj::Perl_simplify_sort
#define skipspace CPerlObj::Perl_skipspace
#define sortcv CPerlObj::Perl_sortcv
-#define stack_grow CPerlObj::Perl_stack_grow
-#define start_subparse CPerlObj::Perl_start_subparse
#define study_chunk CPerlObj::Perl_study_chunk
-#define sub_crush_depth CPerlObj::Perl_sub_crush_depth
#define sublex_done CPerlObj::Perl_sublex_done
#define sublex_push CPerlObj::Perl_sublex_push
#define sublex_start CPerlObj::Perl_sublex_start
-#define sv_2bool CPerlObj::Perl_sv_2bool
-#define sv_2cv CPerlObj::Perl_sv_2cv
-#define sv_2io CPerlObj::Perl_sv_2io
-#define sv_2iv CPerlObj::Perl_sv_2iv
-#define sv_2mortal CPerlObj::Perl_sv_2mortal
-#define sv_2nv CPerlObj::Perl_sv_2nv
-#define sv_2pv CPerlObj::Perl_sv_2pv
-#define sv_2pv_nolen CPerlObj::Perl_sv_2pv_nolen
-#define sv_2uv CPerlObj::Perl_sv_2uv
-#define sv_add_arena CPerlObj::Perl_sv_add_arena
#define sv_add_backref CPerlObj::Perl_sv_add_backref
-#define sv_backoff CPerlObj::Perl_sv_backoff
-#define sv_bless CPerlObj::Perl_sv_bless
-#define sv_catpv CPerlObj::Perl_sv_catpv
-#define sv_catpv_mg CPerlObj::Perl_sv_catpv_mg
-#define sv_catpvf CPerlObj::Perl_sv_catpvf
-#define sv_catpvf_mg CPerlObj::Perl_sv_catpvf_mg
-#define sv_catpvn CPerlObj::Perl_sv_catpvn
-#define sv_catpvn_mg CPerlObj::Perl_sv_catpvn_mg
-#define sv_catsv CPerlObj::Perl_sv_catsv
-#define sv_catsv_mg CPerlObj::Perl_sv_catsv_mg
-#define sv_chop CPerlObj::Perl_sv_chop
-#define sv_clean_all CPerlObj::Perl_sv_clean_all
-#define sv_clean_objs CPerlObj::Perl_sv_clean_objs
-#define sv_clear CPerlObj::Perl_sv_clear
-#define sv_cmp CPerlObj::Perl_sv_cmp
-#define sv_cmp_locale CPerlObj::Perl_sv_cmp_locale
-#define sv_collxfrm CPerlObj::Perl_sv_collxfrm
-#define sv_compile_2op CPerlObj::Perl_sv_compile_2op
-#define sv_dec CPerlObj::Perl_sv_dec
#define sv_del_backref CPerlObj::Perl_sv_del_backref
-#define sv_derived_from CPerlObj::Perl_sv_derived_from
-#define sv_dump CPerlObj::Perl_sv_dump
-#define sv_eq CPerlObj::Perl_sv_eq
-#define sv_force_normal CPerlObj::Perl_sv_force_normal
-#define sv_free CPerlObj::Perl_sv_free
-#define sv_free_arenas CPerlObj::Perl_sv_free_arenas
-#define sv_gets CPerlObj::Perl_sv_gets
-#define sv_grow CPerlObj::Perl_sv_grow
#define sv_i_ncmp CPerlObj::Perl_sv_i_ncmp
-#define sv_inc CPerlObj::Perl_sv_inc
-#define sv_insert CPerlObj::Perl_sv_insert
-#define sv_isa CPerlObj::Perl_sv_isa
-#define sv_isobject CPerlObj::Perl_sv_isobject
-#define sv_iv CPerlObj::Perl_sv_iv
-#define sv_len CPerlObj::Perl_sv_len
-#define sv_len_utf8 CPerlObj::Perl_sv_len_utf8
-#define sv_magic CPerlObj::Perl_sv_magic
-#define sv_mortalcopy CPerlObj::Perl_sv_mortalcopy
#define sv_ncmp CPerlObj::Perl_sv_ncmp
-#define sv_newmortal CPerlObj::Perl_sv_newmortal
-#define sv_newref CPerlObj::Perl_sv_newref
-#define sv_nv CPerlObj::Perl_sv_nv
-#define sv_peek CPerlObj::Perl_sv_peek
-#define sv_pos_b2u CPerlObj::Perl_sv_pos_b2u
-#define sv_pos_u2b CPerlObj::Perl_sv_pos_u2b
-#define sv_pv CPerlObj::Perl_sv_pv
-#define sv_pvn CPerlObj::Perl_sv_pvn
-#define sv_pvn_force CPerlObj::Perl_sv_pvn_force
-#define sv_reftype CPerlObj::Perl_sv_reftype
-#define sv_replace CPerlObj::Perl_sv_replace
-#define sv_report_used CPerlObj::Perl_sv_report_used
-#define sv_reset CPerlObj::Perl_sv_reset
-#define sv_rvweaken CPerlObj::Perl_sv_rvweaken
-#define sv_setiv CPerlObj::Perl_sv_setiv
-#define sv_setiv_mg CPerlObj::Perl_sv_setiv_mg
-#define sv_setnv CPerlObj::Perl_sv_setnv
-#define sv_setnv_mg CPerlObj::Perl_sv_setnv_mg
-#define sv_setpv CPerlObj::Perl_sv_setpv
-#define sv_setpv_mg CPerlObj::Perl_sv_setpv_mg
-#define sv_setpvf CPerlObj::Perl_sv_setpvf
-#define sv_setpvf_mg CPerlObj::Perl_sv_setpvf_mg
-#define sv_setpviv CPerlObj::Perl_sv_setpviv
-#define sv_setpviv_mg CPerlObj::Perl_sv_setpviv_mg
-#define sv_setpvn CPerlObj::Perl_sv_setpvn
-#define sv_setpvn_mg CPerlObj::Perl_sv_setpvn_mg
-#define sv_setref_iv CPerlObj::Perl_sv_setref_iv
-#define sv_setref_nv CPerlObj::Perl_sv_setref_nv
-#define sv_setref_pv CPerlObj::Perl_sv_setref_pv
-#define sv_setref_pvn CPerlObj::Perl_sv_setref_pvn
-#define sv_setsv CPerlObj::Perl_sv_setsv
-#define sv_setsv_mg CPerlObj::Perl_sv_setsv_mg
-#define sv_setuv CPerlObj::Perl_sv_setuv
-#define sv_setuv_mg CPerlObj::Perl_sv_setuv_mg
-#define sv_taint CPerlObj::Perl_sv_taint
-#define sv_tainted CPerlObj::Perl_sv_tainted
-#define sv_true CPerlObj::Perl_sv_true
#define sv_unglob CPerlObj::Perl_sv_unglob
-#define sv_unmagic CPerlObj::Perl_sv_unmagic
-#define sv_unref CPerlObj::Perl_sv_unref
-#define sv_untaint CPerlObj::Perl_sv_untaint
-#define sv_upgrade CPerlObj::Perl_sv_upgrade
-#define sv_usepvn CPerlObj::Perl_sv_usepvn
-#define sv_usepvn_mg CPerlObj::Perl_sv_usepvn_mg
-#define sv_uv CPerlObj::Perl_sv_uv
-#define sv_vcatpvfn CPerlObj::Perl_sv_vcatpvfn
-#define sv_vsetpvfn CPerlObj::Perl_sv_vsetpvfn
-#define swash_fetch CPerlObj::Perl_swash_fetch
-#define swash_init CPerlObj::Perl_swash_init
-#define taint_env CPerlObj::Perl_taint_env
-#define taint_proper CPerlObj::Perl_taint_proper
-#define tmps_grow CPerlObj::Perl_tmps_grow
-#define to_uni_lower CPerlObj::Perl_to_uni_lower
-#define to_uni_lower_lc CPerlObj::Perl_to_uni_lower_lc
-#define to_uni_title CPerlObj::Perl_to_uni_title
-#define to_uni_title_lc CPerlObj::Perl_to_uni_title_lc
-#define to_uni_upper CPerlObj::Perl_to_uni_upper
-#define to_uni_upper_lc CPerlObj::Perl_to_uni_upper_lc
-#define to_utf8_lower CPerlObj::Perl_to_utf8_lower
-#define to_utf8_title CPerlObj::Perl_to_utf8_title
-#define to_utf8_upper CPerlObj::Perl_to_utf8_upper
#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 unlnk CPerlObj::Perl_unlnk
-#define unlock_condpair CPerlObj::Perl_unlock_condpair
-#define unshare_hek CPerlObj::Perl_unshare_hek
-#define unsharepvn CPerlObj::Perl_unsharepvn
#define unwind_handler_stack CPerlObj::Perl_unwind_handler_stack
#define usage CPerlObj::Perl_usage
-#define utf16_to_utf8 CPerlObj::Perl_utf16_to_utf8
-#define utf16_to_utf8_reversed CPerlObj::Perl_utf16_to_utf8_reversed
-#define utf8_distance CPerlObj::Perl_utf8_distance
-#define utf8_hop CPerlObj::Perl_utf8_hop
-#define utf8_to_uv CPerlObj::Perl_utf8_to_uv
-#define utilize CPerlObj::Perl_utilize
-#define uv_to_utf8 CPerlObj::Perl_uv_to_utf8
#define validate_suid CPerlObj::Perl_validate_suid
#define visit CPerlObj::Perl_visit
-#define vivify_defelem CPerlObj::Perl_vivify_defelem
-#define vivify_ref CPerlObj::Perl_vivify_ref
-#define wait4pid CPerlObj::Perl_wait4pid
-#define warn CPerlObj::Perl_warn
-#define warner CPerlObj::Perl_warner
-#define watch CPerlObj::Perl_watch
-#define whichsig CPerlObj::Perl_whichsig
#define win32_textfilter CPerlObj::Perl_win32_textfilter
-#define yydestruct CPerlObj::Perl_yydestruct
-#define yydestruct CPerlObj::Perl_yydestruct
-#define yyerror CPerlObj::Perl_yyerror
-#define yylex CPerlObj::Perl_yylex
-#define yyparse CPerlObj::Perl_yyparse
-#define yywarn CPerlObj::Perl_yywarn
#endif /* PERL_OBJECT */
@@ -2155,4 +2200,21 @@
#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
diff --git a/embed.pl b/embed.pl
index 37a0070363..c877f0dce9 100755
--- a/embed.pl
+++ b/embed.pl
@@ -109,7 +109,8 @@ sub hide ($$) {
sub embed ($) {
my ($sym) = @_;
- hide($sym, "Perl_$sym");
+ my $def = $sym;
+ hide($def, $sym) if $def =~ s/^Perl_//;
}
sub embedobj ($) {
@@ -165,6 +166,7 @@ print EM <<'END';
END
for $sym (sort keys %global) {
+ next if $sym =~ /^Perl_(malloc|calloc|realloc|mfree)$/;
print EM embed($sym);
}
@@ -402,6 +404,7 @@ my @staticfuncs = qw(
);
for $sym (sort(keys(%global),@staticfuncs)) {
+ next if $sym =~ /^Perl_(malloc|calloc|realloc|mfree)$/;
print EM embedobj($sym);
}
@@ -413,6 +416,23 @@ print EM <<'END';
#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
END
diff --git a/ext/POSIX/POSIX.xs b/ext/POSIX/POSIX.xs
index b529dbf8fa..b196963eaf 100644
--- a/ext/POSIX/POSIX.xs
+++ b/ext/POSIX/POSIX.xs
@@ -3051,7 +3051,7 @@ setlocale(category, locale = 0)
else
#endif
newctype = RETVAL;
- perl_new_ctype(newctype);
+ new_ctype(newctype);
}
#endif /* USE_LOCALE_CTYPE */
#ifdef USE_LOCALE_COLLATE
@@ -3068,7 +3068,7 @@ setlocale(category, locale = 0)
else
#endif
newcoll = RETVAL;
- perl_new_collate(newcoll);
+ new_collate(newcoll);
}
#endif /* USE_LOCALE_COLLATE */
#ifdef USE_LOCALE_NUMERIC
@@ -3085,7 +3085,7 @@ setlocale(category, locale = 0)
else
#endif
newnum = RETVAL;
- perl_new_numeric(newnum);
+ new_numeric(newnum);
}
#endif /* USE_LOCALE_NUMERIC */
}
diff --git a/global.sym b/global.sym
index 35acec51d5..4c7f6c2da9 100644
--- a/global.sym
+++ b/global.sym
@@ -1,582 +1,613 @@
-# Global function symbols that need to be hidden in embedded applications.
-
-# *** Do NOT add global variables here, add them in *var*.h ***
-
-Gv_AMupdate
-amagic_call
-append_elem
-append_list
-apply
-assertref
-av_clear
-av_extend
-av_fake
-av_fetch
-av_fill
-av_len
-av_make
-av_pop
-av_push
-av_reify
-av_shift
-av_store
-av_undef
-av_unshift
-avhv_exists_ent
-avhv_fetch_ent
-avhv_iternext
-avhv_iterval
-avhv_keys
-bind_match
-block_end
-block_gimme
-block_start
-boot_core_UNIVERSAL
-bset_obj_store
-call_list
-cando
-cast_i32
-cast_iv
-cast_ulong
-cast_uv
-condpair_magic
-convert
-croak
-cv_ckproto
-cv_clone
-cv_const_sv
-cv_undef
-cx_dump
-cxinc
-deb
-deb_growlevel
-debop
-debprofdump
-debstack
-debstackptrs
-default_protect
-delimcpy
-deprecate
-die
-die_where
-do_aexec
-do_binmode
-do_chomp
-do_chop
-do_close
-do_eof
-do_exec
-do_exec3
-do_execfree
-do_gv_dump
-do_gvgv_dump
-do_hv_dump
-do_ipcctl
-do_ipcget
-do_join
-do_kv
-do_magic_dump
-do_msgrcv
-do_msgsnd
-do_op_dump
-do_open
-do_pipe
-do_pmop_dump
-do_print
-do_readline
-do_seek
-do_semop
-do_shmio
-do_sprintf
-do_sv_dump
-do_sysseek
-do_tell
-do_trans
-do_vecset
-do_vop
-dofile
-dounwind
-dowantarray
-dump_all
-dump_eval
-dump_fds
-dump_form
-dump_indent
-dump_mstats
-dump_packsubs
-dump_sub
-fbm_compile
-fbm_instr
-filter_add
-filter_del
-filter_read
-find_script
-find_threadsv
-fold_constants
-force_list
-form
-free_tmps
-gen_constant_list
-get_no_modify
-get_op_descs
-get_op_names
-get_opargs
-get_vtbl
-getenv_len
-gp_free
-gp_ref
-gv_AVadd
-gv_HVadd
-gv_IOadd
-gv_autoload4
-gv_check
-gv_dump
-gv_efullname
-gv_efullname3
-gv_fetchfile
-gv_fetchmeth
-gv_fetchmethod
-gv_fetchmethod_autoload
-gv_fetchpv
-gv_fullname
-gv_fullname3
-gv_init
-gv_stashpv
-gv_stashpvn
-gv_stashsv
-hv_clear
-hv_delayfree_ent
-hv_delete
-hv_delete_ent
-hv_exists
-hv_exists_ent
-hv_fetch
-hv_fetch_ent
-hv_free_ent
-hv_iterinit
-hv_iterkey
-hv_iterkeysv
-hv_iternext
-hv_iternextsv
-hv_iterval
-hv_ksplit
-hv_magic
-hv_store
-hv_store_ent
-hv_undef
-ibcmp
-ibcmp_locale
-ingroup
-init_stacks
-init_thread_intern
-instr
-intro_my
-invert
-io_close
-is_uni_alnum
-is_uni_alnum_lc
-is_uni_alpha
-is_uni_alpha_lc
-is_uni_digit
-is_uni_digit_lc
-is_uni_idfirst
-is_uni_idfirst_lc
-is_uni_lower
-is_uni_lower_lc
-is_uni_print
-is_uni_print_lc
-is_uni_space
-is_uni_space_lc
-is_uni_upper
-is_uni_upper_lc
-is_utf8_alnum
-is_utf8_alpha
-is_utf8_digit
-is_utf8_idfirst
-is_utf8_lower
-is_utf8_mark
-is_utf8_print
-is_utf8_space
-is_utf8_upper
-jmaybe
-keyword
-leave_scope
-lex_end
-lex_start
-linklist
-list
-listkids
-localize
-looks_like_number
-magic_clear_all_env
-magic_clearenv
-magic_clearpack
-magic_clearsig
-magic_dump
-magic_existspack
-magic_freeregexp
-magic_get
-magic_getarylen
-magic_getdefelem
-magic_getglob
-magic_getnkeys
-magic_getpack
-magic_getpos
-magic_getsig
-magic_getsubstr
-magic_gettaint
-magic_getuvar
-magic_getvec
-magic_killbackrefs
-magic_len
-magic_mutexfree
-magic_nextpack
-magic_regdata_cnt
-magic_regdatum_get
-magic_set
-magic_set_all_env
-magic_setamagic
-magic_setarylen
-magic_setbm
-magic_setcollxfrm
-magic_setdbline
-magic_setdefelem
-magic_setenv
-magic_setfm
-magic_setglob
-magic_setisa
-magic_setmglob
-magic_setnkeys
-magic_setpack
-magic_setpos
-magic_setsig
-magic_setsubstr
-magic_settaint
-magic_setuvar
-magic_setvec
-magic_sizepack
-magic_wipepack
-magicname
-malloced_size
-markstack_grow
-mem_collxfrm
-mess
-mg_clear
-mg_copy
-mg_find
-mg_free
-mg_get
-mg_length
-mg_magical
-mg_set
-mg_size
-mod
-moreswitches
-my
-my_bcopy
-my_bzero
-my_chsize
-my_exit
-my_failure_exit
-my_fflush_all
-my_htonl
-my_lstat
-my_memcmp
-my_memset
-my_ntohl
-my_pclose
-my_popen
-my_setenv
-my_stat
-my_swap
-my_unexec
-newANONHASH
-newANONLIST
-newANONSUB
-newASSIGNOP
-newAV
-newAVREF
-newBINOP
-newCONDOP
-newCONSTSUB
-newCVREF
-newFORM
-newFOROP
-newGVOP
-newGVREF
-newGVgen
-newHV
-newHVREF
-newHVhv
-newIO
-newLISTOP
-newLOGOP
-newLOOPEX
-newLOOPOP
-newNULLLIST
-newOP
-newPMOP
-newPROG
-newPVOP
-newRANGE
-newRV
-newRV_noinc
-newSLICEOP
-newSTATEOP
-newSUB
-newSV
-newSVOP
-newSVREF
-newSViv
-newSVnv
-newSVpv
-newSVpvf
-newSVpvn
-newSVrv
-newSVsv
-newUNOP
-newWHILEOP
-newXS
-new_stackinfo
-new_struct_thread
-nextargv
-ninstr
-oopsAV
-oopsCV
-oopsHV
-op_const_sv
-op_dump
-op_free
-package
-pad_alloc
-pad_allocmy
-pad_findmy
-pad_free
-pad_leavemy
-pad_reset
-pad_sv
-pad_swipe
-peep
-pidgone
-pmflag
-pmop_dump
-pmruntime
-pmtrans
-pop_return
-pop_scope
-pregcomp
-pregexec
-pregfree
-prepend_elem
-push_return
-push_scope
-pv_display
-ref
-refkids
-regdump
-regexec_flags
-reginitcolors
-regnext
-regprop
-repeatcpy
-rninstr
-rsignal
-rsignal_restore
-rsignal_save
-rsignal_state
-runops_debug
-runops_standard
-rxres_free
-rxres_restore
-rxres_save
-safesyscalloc
-safesysfree
-safesysmalloc
-safesysrealloc
-safexcalloc
-safexfree
-safexmalloc
-safexrealloc
-same_dirent
-save_I16
-save_I32
-save_aelem
-save_alloc
-save_aptr
-save_ary
-save_clearsv
-save_delete
-save_destructor
-save_freeop
-save_freepv
-save_freesv
-save_generic_svref
-save_gp
-save_hash
-save_helem
-save_hints
-save_hptr
-save_int
-save_item
-save_iv
-save_list
-save_long
-save_nogv
-save_op
-save_pptr
-save_re_context
-save_scalar
-save_sptr
-save_svref
-save_threadsv
-savepv
-savepvn
-savestack_grow
-sawparens
-scalar
-scalarkids
-scalarseq
-scalarvoid
-scan_bin
-scan_hex
-scan_num
-scan_oct
-scope
-screaminstr
-setdefout
-setenv_getix
-share_hek
-sharepvn
-sighandler
-stack_grow
-start_subparse
-sub_crush_depth
-sv_2bool
-sv_2cv
-sv_2io
-sv_2iv
-sv_2mortal
-sv_2nv
-sv_2pv
-sv_2pv_nolen
-sv_2uv
-sv_add_arena
-sv_backoff
-sv_bless
-sv_catpv
-sv_catpv_mg
-sv_catpvf
-sv_catpvf_mg
-sv_catpvn
-sv_catpvn_mg
-sv_catsv
-sv_catsv_mg
-sv_chop
-sv_clean_all
-sv_clean_objs
-sv_clear
-sv_cmp
-sv_cmp_locale
-sv_collxfrm
-sv_compile_2op
-sv_dec
-sv_derived_from
-sv_dump
-sv_eq
-sv_force_normal
-sv_free
-sv_free_arenas
-sv_gets
-sv_grow
-sv_inc
-sv_insert
-sv_isa
-sv_isobject
-sv_iv
-sv_len
-sv_len_utf8
-sv_magic
-sv_mortalcopy
-sv_newmortal
-sv_newref
-sv_nv
-sv_peek
-sv_pos_b2u
-sv_pos_u2b
-sv_pv
-sv_pvn
-sv_pvn_force
-sv_reftype
-sv_replace
-sv_report_used
-sv_reset
-sv_rvweaken
-sv_setiv
-sv_setiv_mg
-sv_setnv
-sv_setnv_mg
-sv_setpv
-sv_setpv_mg
-sv_setpvf
-sv_setpvf_mg
-sv_setpviv
-sv_setpviv_mg
-sv_setpvn
-sv_setpvn_mg
-sv_setref_iv
-sv_setref_nv
-sv_setref_pv
-sv_setref_pvn
-sv_setsv
-sv_setsv_mg
-sv_setuv
-sv_setuv_mg
-sv_taint
-sv_tainted
-sv_true
-sv_unmagic
-sv_unref
-sv_untaint
-sv_upgrade
-sv_usepvn
-sv_usepvn_mg
-sv_uv
-sv_vcatpvfn
-sv_vsetpvfn
-swash_fetch
-swash_init
-taint_env
-taint_proper
-tmps_grow
-to_uni_lower
-to_uni_lower_lc
-to_uni_title
-to_uni_title_lc
-to_uni_upper
-to_uni_upper_lc
-to_utf8_lower
-to_utf8_title
-to_utf8_upper
-unlnk
-unlock_condpair
-unshare_hek
-unsharepvn
-utf16_to_utf8
-utf16_to_utf8_reversed
-utf8_distance
-utf8_hop
-utf8_to_uv
-utilize
-uv_to_utf8
-vivify_defelem
-vivify_ref
-wait4pid
-warn
-warner
-watch
-whichsig
-yydestruct
-yyerror
-yylex
-yyparse
-yywarn
+# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
+# This file is autogenerated from data in proto.pl. Edit that file
+# and run 'make regen_headers' to effect changes.
+#
+Perl_ErrorNo
+Perl_GetVars
+Perl_Gv_AMupdate
+Perl_amagic_call
+Perl_append_elem
+Perl_append_list
+Perl_apply
+Perl_assertref
+Perl_av_clear
+Perl_av_extend
+Perl_av_fake
+Perl_av_fetch
+Perl_av_fill
+Perl_av_len
+Perl_av_make
+Perl_av_pop
+Perl_av_push
+Perl_av_reify
+Perl_av_shift
+Perl_av_store
+Perl_av_undef
+Perl_av_unshift
+Perl_avhv_exists_ent
+Perl_avhv_fetch_ent
+Perl_avhv_iternext
+Perl_avhv_iterval
+Perl_avhv_keys
+Perl_bind_match
+Perl_block_end
+Perl_block_gimme
+Perl_block_start
+Perl_boot_core_UNIVERSAL
+Perl_bset_obj_store
+Perl_call_argv
+Perl_call_atexit
+Perl_call_list
+Perl_call_method
+Perl_call_pv
+Perl_call_sv
+Perl_calloc
+Perl_cando
+Perl_cast_i32
+Perl_cast_iv
+Perl_cast_ulong
+Perl_cast_uv
+Perl_condpair_magic
+Perl_convert
+Perl_croak
+Perl_cv_ckproto
+Perl_cv_clone
+Perl_cv_const_sv
+Perl_cv_undef
+Perl_cx_dump
+Perl_cxinc
+Perl_deb
+Perl_deb_growlevel
+Perl_debop
+Perl_debprofdump
+Perl_debstack
+Perl_debstackptrs
+Perl_default_protect
+Perl_delimcpy
+Perl_deprecate
+Perl_die
+Perl_die_where
+Perl_do_aexec
+Perl_do_binmode
+Perl_do_chomp
+Perl_do_chop
+Perl_do_close
+Perl_do_eof
+Perl_do_exec
+Perl_do_exec3
+Perl_do_execfree
+Perl_do_gv_dump
+Perl_do_gvgv_dump
+Perl_do_hv_dump
+Perl_do_ipcctl
+Perl_do_ipcget
+Perl_do_join
+Perl_do_kv
+Perl_do_magic_dump
+Perl_do_msgrcv
+Perl_do_msgsnd
+Perl_do_op_dump
+Perl_do_open
+Perl_do_pipe
+Perl_do_pmop_dump
+Perl_do_print
+Perl_do_readline
+Perl_do_seek
+Perl_do_semop
+Perl_do_shmio
+Perl_do_sprintf
+Perl_do_sv_dump
+Perl_do_sysseek
+Perl_do_tell
+Perl_do_trans
+Perl_do_vecset
+Perl_do_vop
+Perl_dofile
+Perl_dounwind
+Perl_dowantarray
+Perl_dump_all
+Perl_dump_eval
+Perl_dump_fds
+Perl_dump_form
+Perl_dump_indent
+Perl_dump_mstats
+Perl_dump_packsubs
+Perl_dump_sub
+Perl_eval_pv
+Perl_eval_sv
+Perl_fbm_compile
+Perl_fbm_instr
+Perl_filter_add
+Perl_filter_del
+Perl_filter_read
+Perl_find_script
+Perl_find_threadsv
+Perl_fold_constants
+Perl_force_list
+Perl_form
+Perl_free_tmps
+Perl_gen_constant_list
+Perl_get_av
+Perl_get_cv
+Perl_get_hv
+Perl_get_no_modify
+Perl_get_op_descs
+Perl_get_op_names
+Perl_get_opargs
+Perl_get_sv
+Perl_get_vtbl
+Perl_getenv_len
+Perl_gp_free
+Perl_gp_ref
+Perl_gv_AVadd
+Perl_gv_HVadd
+Perl_gv_IOadd
+Perl_gv_autoload4
+Perl_gv_check
+Perl_gv_dump
+Perl_gv_efullname
+Perl_gv_efullname3
+Perl_gv_fetchfile
+Perl_gv_fetchmeth
+Perl_gv_fetchmethod
+Perl_gv_fetchmethod_autoload
+Perl_gv_fetchpv
+Perl_gv_fullname
+Perl_gv_fullname3
+Perl_gv_init
+Perl_gv_stashpv
+Perl_gv_stashpvn
+Perl_gv_stashsv
+Perl_hv_clear
+Perl_hv_delayfree_ent
+Perl_hv_delete
+Perl_hv_delete_ent
+Perl_hv_exists
+Perl_hv_exists_ent
+Perl_hv_fetch
+Perl_hv_fetch_ent
+Perl_hv_free_ent
+Perl_hv_iterinit
+Perl_hv_iterkey
+Perl_hv_iterkeysv
+Perl_hv_iternext
+Perl_hv_iternextsv
+Perl_hv_iterval
+Perl_hv_ksplit
+Perl_hv_magic
+Perl_hv_store
+Perl_hv_store_ent
+Perl_hv_undef
+Perl_ibcmp
+Perl_ibcmp_locale
+Perl_ingroup
+Perl_init_i18nl10n
+Perl_init_i18nl14n
+Perl_init_stacks
+Perl_instr
+Perl_intro_my
+Perl_invert
+Perl_io_close
+Perl_is_uni_alnum
+Perl_is_uni_alnum_lc
+Perl_is_uni_alpha
+Perl_is_uni_alpha_lc
+Perl_is_uni_digit
+Perl_is_uni_digit_lc
+Perl_is_uni_idfirst
+Perl_is_uni_idfirst_lc
+Perl_is_uni_lower
+Perl_is_uni_lower_lc
+Perl_is_uni_print
+Perl_is_uni_print_lc
+Perl_is_uni_space
+Perl_is_uni_space_lc
+Perl_is_uni_upper
+Perl_is_uni_upper_lc
+Perl_is_utf8_alnum
+Perl_is_utf8_alpha
+Perl_is_utf8_digit
+Perl_is_utf8_idfirst
+Perl_is_utf8_lower
+Perl_is_utf8_mark
+Perl_is_utf8_print
+Perl_is_utf8_space
+Perl_is_utf8_upper
+Perl_jmaybe
+Perl_keyword
+Perl_leave_scope
+Perl_lex_end
+Perl_lex_start
+Perl_linklist
+Perl_list
+Perl_listkids
+Perl_localize
+Perl_looks_like_number
+Perl_magic_clear_all_env
+Perl_magic_clearenv
+Perl_magic_clearpack
+Perl_magic_clearsig
+Perl_magic_dump
+Perl_magic_existspack
+Perl_magic_freeregexp
+Perl_magic_get
+Perl_magic_getarylen
+Perl_magic_getdefelem
+Perl_magic_getglob
+Perl_magic_getnkeys
+Perl_magic_getpack
+Perl_magic_getpos
+Perl_magic_getsig
+Perl_magic_getsubstr
+Perl_magic_gettaint
+Perl_magic_getuvar
+Perl_magic_getvec
+Perl_magic_killbackrefs
+Perl_magic_len
+Perl_magic_mutexfree
+Perl_magic_nextpack
+Perl_magic_regdata_cnt
+Perl_magic_regdatum_get
+Perl_magic_set
+Perl_magic_set_all_env
+Perl_magic_setamagic
+Perl_magic_setarylen
+Perl_magic_setbm
+Perl_magic_setcollxfrm
+Perl_magic_setdbline
+Perl_magic_setdefelem
+Perl_magic_setenv
+Perl_magic_setfm
+Perl_magic_setglob
+Perl_magic_setisa
+Perl_magic_setmglob
+Perl_magic_setnkeys
+Perl_magic_setpack
+Perl_magic_setpos
+Perl_magic_setsig
+Perl_magic_setsubstr
+Perl_magic_settaint
+Perl_magic_setuvar
+Perl_magic_setvec
+Perl_magic_sizepack
+Perl_magic_wipepack
+Perl_magicname
+main
+Perl_malloc
+Perl_malloced_size
+Perl_markstack_grow
+Perl_mem_collxfrm
+Perl_mess
+Perl_mfree
+Perl_mg_clear
+Perl_mg_copy
+Perl_mg_find
+Perl_mg_free
+Perl_mg_get
+Perl_mg_length
+Perl_mg_magical
+Perl_mg_set
+Perl_mg_size
+Perl_mod
+Perl_moreswitches
+Perl_my
+Perl_my_bcopy
+Perl_my_bzero
+Perl_my_chsize
+Perl_my_exit
+Perl_my_failure_exit
+Perl_my_fflush_all
+Perl_my_htonl
+Perl_my_lstat
+Perl_my_memcmp
+Perl_my_memset
+Perl_my_ntohl
+Perl_my_pclose
+Perl_my_popen
+Perl_my_setenv
+Perl_my_stat
+Perl_my_swap
+Perl_my_unexec
+Perl_newANONHASH
+Perl_newANONLIST
+Perl_newANONSUB
+Perl_newASSIGNOP
+Perl_newAV
+Perl_newAVREF
+Perl_newBINOP
+Perl_newCONDOP
+Perl_newCONSTSUB
+Perl_newCVREF
+Perl_newFORM
+Perl_newFOROP
+Perl_newGVOP
+Perl_newGVREF
+Perl_newGVgen
+Perl_newHV
+Perl_newHVREF
+Perl_newHVhv
+Perl_newIO
+Perl_newLISTOP
+Perl_newLOGOP
+Perl_newLOOPEX
+Perl_newLOOPOP
+Perl_newNULLLIST
+Perl_newOP
+Perl_newPMOP
+Perl_newPROG
+Perl_newPVOP
+Perl_newRANGE
+Perl_newRV
+Perl_newRV_noinc
+Perl_newSLICEOP
+Perl_newSTATEOP
+Perl_newSUB
+Perl_newSV
+Perl_newSVOP
+Perl_newSVREF
+Perl_newSViv
+Perl_newSVnv
+Perl_newSVpv
+Perl_newSVpvf
+Perl_newSVpvn
+Perl_newSVrv
+Perl_newSVsv
+Perl_newUNOP
+Perl_newWHILEOP
+Perl_newXS
+Perl_new_collate
+Perl_new_ctype
+Perl_new_numeric
+Perl_new_stackinfo
+Perl_new_struct_thread
+Perl_nextargv
+Perl_ninstr
+Perl_oopsAV
+Perl_oopsCV
+Perl_oopsHV
+Perl_op_const_sv
+Perl_op_dump
+Perl_op_free
+Perl_package
+Perl_pad_alloc
+Perl_pad_allocmy
+Perl_pad_findmy
+Perl_pad_free
+Perl_pad_leavemy
+Perl_pad_reset
+Perl_pad_sv
+Perl_pad_swipe
+Perl_peep
+perl_alloc
+perl_construct
+perl_destruct
+perl_free
+perl_parse
+perl_run
+Perl_pidgone
+Perl_pmflag
+Perl_pmop_dump
+Perl_pmruntime
+Perl_pmtrans
+Perl_pop_return
+Perl_pop_scope
+Perl_pregcomp
+Perl_pregexec
+Perl_pregfree
+Perl_prepend_elem
+Perl_push_return
+Perl_push_scope
+Perl_pv_display
+Perl_realloc
+Perl_ref
+Perl_refkids
+Perl_regdump
+Perl_regexec_flags
+Perl_reginitcolors
+Perl_regnext
+Perl_regprop
+Perl_repeatcpy
+Perl_require_pv
+Perl_rninstr
+Perl_rsignal
+Perl_rsignal_restore
+Perl_rsignal_save
+Perl_rsignal_state
+Perl_runops_debug
+Perl_runops_standard
+Perl_rxres_free
+Perl_rxres_restore
+Perl_rxres_save
+Perl_safesyscalloc
+Perl_safesysfree
+Perl_safesysmalloc
+Perl_safesysrealloc
+Perl_safexcalloc
+Perl_safexfree
+Perl_safexmalloc
+Perl_safexrealloc
+Perl_same_dirent
+Perl_save_I16
+Perl_save_I32
+Perl_save_aelem
+Perl_save_alloc
+Perl_save_aptr
+Perl_save_ary
+Perl_save_clearsv
+Perl_save_delete
+Perl_save_destructor
+Perl_save_freeop
+Perl_save_freepv
+Perl_save_freesv
+Perl_save_generic_svref
+Perl_save_gp
+Perl_save_hash
+Perl_save_helem
+Perl_save_hints
+Perl_save_hptr
+Perl_save_int
+Perl_save_item
+Perl_save_iv
+Perl_save_list
+Perl_save_long
+Perl_save_nogv
+Perl_save_op
+Perl_save_pptr
+Perl_save_re_context
+Perl_save_scalar
+Perl_save_sptr
+Perl_save_svref
+Perl_save_threadsv
+Perl_savepv
+Perl_savepvn
+Perl_savestack_grow
+Perl_sawparens
+Perl_scalar
+Perl_scalarkids
+Perl_scalarseq
+Perl_scalarvoid
+Perl_scan_bin
+Perl_scan_hex
+Perl_scan_num
+Perl_scan_oct
+Perl_scope
+Perl_screaminstr
+Perl_set_numeric_local
+Perl_set_numeric_standard
+Perl_setdefout
+Perl_setenv_getix
+Perl_share_hek
+Perl_sharepvn
+Perl_sighandler
+Perl_stack_grow
+Perl_start_subparse
+Perl_sub_crush_depth
+Perl_sv_2bool
+Perl_sv_2cv
+Perl_sv_2io
+Perl_sv_2iv
+Perl_sv_2mortal
+Perl_sv_2nv
+Perl_sv_2pv
+Perl_sv_2pv_nolen
+Perl_sv_2uv
+Perl_sv_add_arena
+Perl_sv_backoff
+Perl_sv_bless
+Perl_sv_catpv
+Perl_sv_catpv_mg
+Perl_sv_catpvf
+Perl_sv_catpvf_mg
+Perl_sv_catpvn
+Perl_sv_catpvn_mg
+Perl_sv_catsv
+Perl_sv_catsv_mg
+Perl_sv_chop
+Perl_sv_clean_all
+Perl_sv_clean_objs
+Perl_sv_clear
+Perl_sv_cmp
+Perl_sv_cmp_locale
+Perl_sv_collxfrm
+Perl_sv_compile_2op
+Perl_sv_dec
+Perl_sv_derived_from
+Perl_sv_dump
+Perl_sv_eq
+Perl_sv_force_normal
+Perl_sv_free
+Perl_sv_free_arenas
+Perl_sv_gets
+Perl_sv_grow
+Perl_sv_inc
+Perl_sv_insert
+Perl_sv_isa
+Perl_sv_isobject
+Perl_sv_iv
+Perl_sv_len
+Perl_sv_len_utf8
+Perl_sv_magic
+Perl_sv_mortalcopy
+Perl_sv_newmortal
+Perl_sv_newref
+Perl_sv_nv
+Perl_sv_peek
+Perl_sv_pos_b2u
+Perl_sv_pos_u2b
+Perl_sv_pv
+Perl_sv_pvn
+Perl_sv_pvn_force
+Perl_sv_reftype
+Perl_sv_replace
+Perl_sv_report_used
+Perl_sv_reset
+Perl_sv_rvweaken
+Perl_sv_setiv
+Perl_sv_setiv_mg
+Perl_sv_setnv
+Perl_sv_setnv_mg
+Perl_sv_setpv
+Perl_sv_setpv_mg
+Perl_sv_setpvf
+Perl_sv_setpvf_mg
+Perl_sv_setpviv
+Perl_sv_setpviv_mg
+Perl_sv_setpvn
+Perl_sv_setpvn_mg
+Perl_sv_setref_iv
+Perl_sv_setref_nv
+Perl_sv_setref_pv
+Perl_sv_setref_pvn
+Perl_sv_setsv
+Perl_sv_setsv_mg
+Perl_sv_setuv
+Perl_sv_setuv_mg
+Perl_sv_taint
+Perl_sv_tainted
+Perl_sv_true
+Perl_sv_unmagic
+Perl_sv_unref
+Perl_sv_untaint
+Perl_sv_upgrade
+Perl_sv_usepvn
+Perl_sv_usepvn_mg
+Perl_sv_uv
+Perl_sv_vcatpvfn
+Perl_sv_vsetpvfn
+Perl_swash_fetch
+Perl_swash_init
+Perl_taint_env
+Perl_taint_proper
+Perl_tmps_grow
+Perl_to_uni_lower
+Perl_to_uni_lower_lc
+Perl_to_uni_title
+Perl_to_uni_title_lc
+Perl_to_uni_upper
+Perl_to_uni_upper_lc
+Perl_to_utf8_lower
+Perl_to_utf8_title
+Perl_to_utf8_upper
+Perl_unlnk
+Perl_unlock_condpair
+Perl_unshare_hek
+Perl_unsharepvn
+Perl_utf16_to_utf8
+Perl_utf16_to_utf8_reversed
+Perl_utf8_distance
+Perl_utf8_hop
+Perl_utf8_to_uv
+Perl_utilize
+Perl_uv_to_utf8
+Perl_vivify_defelem
+Perl_vivify_ref
+Perl_wait4pid
+Perl_warn
+Perl_warner
+Perl_watch
+Perl_whichsig
+Perl_yydestruct
+Perl_yyerror
+Perl_yylex
+Perl_yyparse
+Perl_yywarn
diff --git a/globals.c b/globals.c
index b8d7c38c99..b31b9b160d 100644
--- a/globals.c
+++ b/globals.c
@@ -1,4 +1,5 @@
#include "INTERN.h"
+#define PERL_IN_GLOBALS_C
#include "perl.h"
#ifdef PERL_OBJECT
@@ -11,7 +12,8 @@
#define PERLVARIC(x, y, z) PL_##x = z;
CPerlObj::CPerlObj(IPerlMem* ipM, IPerlEnv* ipE, IPerlStdIO* ipStd,
- IPerlLIO* ipLIO, IPerlDir* ipD, IPerlSock* ipS, IPerlProc* ipP)
+ IPerlLIO* ipLIO, IPerlDir* ipD, IPerlSock* ipS,
+ IPerlProc* ipP)
{
memset(((char*)this)+sizeof(void*), 0, sizeof(CPerlObj)-sizeof(void*));
@@ -48,23 +50,15 @@ CPerlObj::Init(void)
{
}
-int
-fprintf(PerlIO *stream, const char *format, ...)
-{
- va_list(arglist);
- va_start(arglist, format);
- return PerlIO_vprintf(stream, format, arglist);
-}
-
#ifdef WIN32 /* XXX why are these needed? */
bool
-do_exec(char *cmd)
+Perl_do_exec(pTHX_ char *cmd)
{
return PerlProc_Cmd(cmd);
}
int
-do_aspawn(void *vreally, void **vmark, void **vsp)
+do_aspawn(pTHX_ void *vreally, void **vmark, void **vsp)
{
return PerlProc_aspawn(vreally, vmark, vsp);
}
diff --git a/gv.c b/gv.c
index 7ab74966c4..5ae3cd3436 100644
--- a/gv.c
+++ b/gv.c
@@ -17,10 +17,11 @@
*/
#include "EXTERN.h"
+#define PERL_IN_GV_C
#include "perl.h"
GV *
-gv_AVadd(register GV *gv)
+Perl_gv_AVadd(pTHX_ register GV *gv)
{
if (!gv || SvTYPE((SV*)gv) != SVt_PVGV)
croak("Bad symbol for array");
@@ -30,7 +31,7 @@ gv_AVadd(register GV *gv)
}
GV *
-gv_HVadd(register GV *gv)
+Perl_gv_HVadd(pTHX_ register GV *gv)
{
if (!gv || SvTYPE((SV*)gv) != SVt_PVGV)
croak("Bad symbol for hash");
@@ -40,7 +41,7 @@ gv_HVadd(register GV *gv)
}
GV *
-gv_IOadd(register GV *gv)
+Perl_gv_IOadd(pTHX_ register GV *gv)
{
if (!gv || SvTYPE((SV*)gv) != SVt_PVGV)
croak("Bad symbol for filehandle");
@@ -50,7 +51,7 @@ gv_IOadd(register GV *gv)
}
GV *
-gv_fetchfile(const char *name)
+Perl_gv_fetchfile(pTHX_ const char *name)
{
dTHR;
char smallbuf[256];
@@ -80,7 +81,7 @@ gv_fetchfile(const char *name)
}
void
-gv_init(GV *gv, HV *stash, const char *name, STRLEN len, int multi)
+Perl_gv_init(pTHX_ GV *gv, HV *stash, const char *name, STRLEN len, int multi)
{
dTHR;
register GP *gp;
@@ -136,7 +137,7 @@ gv_init(GV *gv, HV *stash, const char *name, STRLEN len, int multi)
}
STATIC void
-gv_init_sv(GV *gv, I32 sv_type)
+gv_init_sv(pTHX_ GV *gv, I32 sv_type)
{
switch (sv_type) {
case SVt_PVIO:
@@ -152,7 +153,7 @@ gv_init_sv(GV *gv, I32 sv_type)
}
GV *
-gv_fetchmeth(HV *stash, const char *name, STRLEN len, I32 level)
+Perl_gv_fetchmeth(pTHX_ HV *stash, const char *name, STRLEN len, I32 level)
{
AV* av;
GV* topgv;
@@ -273,13 +274,13 @@ gv_fetchmeth(HV *stash, const char *name, STRLEN len, I32 level)
}
GV *
-gv_fetchmethod(HV *stash, const char *name)
+Perl_gv_fetchmethod(pTHX_ HV *stash, const char *name)
{
return gv_fetchmethod_autoload(stash, name, TRUE);
}
GV *
-gv_fetchmethod_autoload(HV *stash, const char *name, I32 autoload)
+Perl_gv_fetchmethod_autoload(pTHX_ HV *stash, const char *name, I32 autoload)
{
dTHR;
register const char *nend;
@@ -340,7 +341,7 @@ gv_fetchmethod_autoload(HV *stash, const char *name, I32 autoload)
}
GV*
-gv_autoload4(HV *stash, const char *name, STRLEN len, I32 method)
+Perl_gv_autoload4(pTHX_ HV *stash, const char *name, STRLEN len, I32 method)
{
dTHR;
static char autoload[] = "AUTOLOAD";
@@ -385,13 +386,13 @@ gv_autoload4(HV *stash, const char *name, STRLEN len, I32 method)
}
HV*
-gv_stashpv(const char *name, I32 create)
+Perl_gv_stashpv(pTHX_ const char *name, I32 create)
{
return gv_stashpvn(name, strlen(name), create);
}
HV*
-gv_stashpvn(const char *name, U32 namelen, I32 create)
+Perl_gv_stashpvn(pTHX_ const char *name, U32 namelen, I32 create)
{
char smallbuf[256];
char *tmpbuf;
@@ -420,7 +421,7 @@ gv_stashpvn(const char *name, U32 namelen, I32 create)
}
HV*
-gv_stashsv(SV *sv, I32 create)
+Perl_gv_stashsv(pTHX_ SV *sv, I32 create)
{
register char *ptr;
STRLEN len;
@@ -430,7 +431,7 @@ gv_stashsv(SV *sv, I32 create)
GV *
-gv_fetchpv(const char *nambeg, I32 add, I32 sv_type)
+Perl_gv_fetchpv(pTHX_ const char *nambeg, I32 add, I32 sv_type)
{
dTHR;
register const char *name = nambeg;
@@ -820,7 +821,7 @@ gv_fetchpv(const char *nambeg, I32 add, I32 sv_type)
}
void
-gv_fullname3(SV *sv, GV *gv, const char *prefix)
+Perl_gv_fullname3(pTHX_ SV *sv, GV *gv, const char *prefix)
{
HV *hv = GvSTASH(gv);
if (!hv) {
@@ -834,7 +835,7 @@ gv_fullname3(SV *sv, GV *gv, const char *prefix)
}
void
-gv_efullname3(SV *sv, GV *gv, const char *prefix)
+Perl_gv_efullname3(pTHX_ SV *sv, GV *gv, const char *prefix)
{
GV *egv = GvEGV(gv);
if (!egv)
@@ -844,20 +845,20 @@ gv_efullname3(SV *sv, GV *gv, const char *prefix)
/* XXX compatibility with versions <= 5.003. */
void
-gv_fullname(SV *sv, GV *gv)
+Perl_gv_fullname(pTHX_ SV *sv, GV *gv)
{
gv_fullname3(sv, gv, sv == (SV*)gv ? "*" : "");
}
/* XXX compatibility with versions <= 5.003. */
void
-gv_efullname(SV *sv, GV *gv)
+Perl_gv_efullname(pTHX_ SV *sv, GV *gv)
{
gv_efullname3(sv, gv, sv == (SV*)gv ? "*" : "");
}
IO *
-newIO(void)
+Perl_newIO(pTHX)
{
dTHR;
IO *io;
@@ -876,7 +877,7 @@ newIO(void)
}
void
-gv_check(HV *stash)
+Perl_gv_check(pTHX_ HV *stash)
{
dTHR;
register HE *entry;
@@ -913,7 +914,7 @@ gv_check(HV *stash)
}
GV *
-newGVgen(char *pack)
+Perl_newGVgen(pTHX_ char *pack)
{
return gv_fetchpv(form("%s::_GEN_%ld", pack, (long)PL_gensym++),
TRUE, SVt_PVGV);
@@ -922,7 +923,7 @@ newGVgen(char *pack)
/* hopefully this is only called on local symbol table entries */
GP*
-gp_ref(GP *gp)
+Perl_gp_ref(pTHX_ GP *gp)
{
gp->gp_refcnt++;
if (gp->gp_cv) {
@@ -941,7 +942,7 @@ gp_ref(GP *gp)
}
void
-gp_free(GV *gv)
+Perl_gp_free(pTHX_ GV *gv)
{
GP* gp;
CV* cv;
@@ -1000,7 +1001,7 @@ register GV *gv;
/* Updates and caches the CV's */
bool
-Gv_AMupdate(HV *stash)
+Perl_Gv_AMupdate(pTHX_ HV *stash)
{
dTHR;
GV** gvp;
@@ -1158,7 +1159,7 @@ Gv_AMupdate(HV *stash)
}
SV*
-amagic_call(SV *left, SV *right, int method, int flags)
+Perl_amagic_call(pTHX_ SV *left, SV *right, int method, int flags)
{
dTHR;
MAGIC *mg;
diff --git a/gv.h b/gv.h
index 0226513b5e..a2b07bfcd5 100644
--- a/gv.h
+++ b/gv.h
@@ -128,7 +128,7 @@ HV *GvHVn();
#define DM_DELAY 0x100
/*
- * symbol creation flags, for use in gv_fetchpv() and perl_get_*v()
+ * symbol creation flags, for use in gv_fetchpv() and get_*v()
*/
#define GV_ADD 0x01 /* add, if symbol not already there */
#define GV_ADDMULTI 0x02 /* add, pretending it has been added already */
diff --git a/hv.c b/hv.c
index 0f71f0191e..9a7b31f031 100644
--- a/hv.c
+++ b/hv.c
@@ -12,16 +12,9 @@
*/
#include "EXTERN.h"
+#define PERL_IN_HV_C
#include "perl.h"
-static void hv_magic_check (HV *hv, bool *needs_copy, bool *needs_store);
-#ifndef PERL_OBJECT
-static void hsplit (HV *hv);
-static void hfreeentries (HV *hv);
-static void more_he (void);
-static HEK *save_hek (const char *str, I32 len, U32 hash);
-#endif
-
#if defined(STRANGE_MALLOC) || defined(MYMALLOC)
# define ARRAY_ALLOC_BYTES(size) ( (size)*sizeof(HE*) )
#else
@@ -32,7 +25,7 @@ static HEK *save_hek (const char *str, I32 len, U32 hash);
#endif
STATIC HE*
-new_he(void)
+new_he(pTHX)
{
HE* he;
LOCK_SV_MUTEX;
@@ -45,7 +38,7 @@ new_he(void)
}
STATIC void
-del_he(HE *p)
+del_he(pTHX_ HE *p)
{
LOCK_SV_MUTEX;
HeNEXT(p) = (HE*)PL_he_root;
@@ -54,7 +47,7 @@ del_he(HE *p)
}
STATIC void
-more_he(void)
+more_he(pTHX)
{
register HE* he;
register HE* heend;
@@ -69,7 +62,7 @@ more_he(void)
}
STATIC HEK *
-save_hek(const char *str, I32 len, U32 hash)
+save_hek(pTHX_ const char *str, I32 len, U32 hash)
{
char *k;
register HEK *hek;
@@ -84,7 +77,7 @@ save_hek(const char *str, I32 len, U32 hash)
}
void
-unshare_hek(HEK *hek)
+Perl_unshare_hek(pTHX_ HEK *hek)
{
unsharepvn(HEK_KEY(hek),HEK_LEN(hek),HEK_HASH(hek));
}
@@ -93,7 +86,7 @@ unshare_hek(HEK *hek)
* contains an SV* */
SV**
-hv_fetch(HV *hv, const char *key, U32 klen, I32 lval)
+Perl_hv_fetch(pTHX_ HV *hv, const char *key, U32 klen, I32 lval)
{
register XPVHV* xhv;
register U32 hash;
@@ -171,7 +164,7 @@ hv_fetch(HV *hv, const char *key, U32 klen, I32 lval)
/* returns a HE * structure with the all fields set */
/* note that hent_val will be a mortal sv for MAGICAL hashes */
HE *
-hv_fetch_ent(HV *hv, SV *keysv, I32 lval, register U32 hash)
+Perl_hv_fetch_ent(pTHX_ HV *hv, SV *keysv, I32 lval, register U32 hash)
{
register XPVHV* xhv;
register char *key;
@@ -259,8 +252,8 @@ hv_fetch_ent(HV *hv, SV *keysv, I32 lval, register U32 hash)
return 0;
}
-static void
-hv_magic_check (HV *hv, bool *needs_copy, bool *needs_store)
+STATIC void
+hv_magic_check(pTHX_ HV *hv, bool *needs_copy, bool *needs_store)
{
MAGIC *mg = SvMAGIC(hv);
*needs_copy = FALSE;
@@ -279,7 +272,7 @@ hv_magic_check (HV *hv, bool *needs_copy, bool *needs_store)
}
SV**
-hv_store(HV *hv, const char *key, U32 klen, SV *val, register U32 hash)
+Perl_hv_store(pTHX_ HV *hv, const char *key, U32 klen, SV *val, register U32 hash)
{
register XPVHV* xhv;
register I32 i;
@@ -348,7 +341,7 @@ hv_store(HV *hv, const char *key, U32 klen, SV *val, register U32 hash)
}
HE *
-hv_store_ent(HV *hv, SV *keysv, SV *val, register U32 hash)
+Perl_hv_store_ent(pTHX_ HV *hv, SV *keysv, SV *val, register U32 hash)
{
register XPVHV* xhv;
register char *key;
@@ -429,7 +422,7 @@ hv_store_ent(HV *hv, SV *keysv, SV *val, register U32 hash)
}
SV *
-hv_delete(HV *hv, const char *key, U32 klen, I32 flags)
+Perl_hv_delete(pTHX_ HV *hv, const char *key, U32 klen, I32 flags)
{
register XPVHV* xhv;
register I32 i;
@@ -498,7 +491,7 @@ hv_delete(HV *hv, const char *key, U32 klen, I32 flags)
}
SV *
-hv_delete_ent(HV *hv, SV *keysv, I32 flags, U32 hash)
+Perl_hv_delete_ent(pTHX_ HV *hv, SV *keysv, I32 flags, U32 hash)
{
register XPVHV* xhv;
register I32 i;
@@ -572,7 +565,7 @@ hv_delete_ent(HV *hv, SV *keysv, I32 flags, U32 hash)
}
bool
-hv_exists(HV *hv, const char *key, U32 klen)
+Perl_hv_exists(pTHX_ HV *hv, const char *key, U32 klen)
{
register XPVHV* xhv;
register U32 hash;
@@ -637,7 +630,7 @@ hv_exists(HV *hv, const char *key, U32 klen)
bool
-hv_exists_ent(HV *hv, SV *keysv, U32 hash)
+Perl_hv_exists_ent(pTHX_ HV *hv, SV *keysv, U32 hash)
{
register XPVHV* xhv;
register char *key;
@@ -707,7 +700,7 @@ hv_exists_ent(HV *hv, SV *keysv, U32 hash)
}
STATIC void
-hsplit(HV *hv)
+hsplit(pTHX_ HV *hv)
{
register XPVHV* xhv = (XPVHV*)SvANY(hv);
I32 oldsize = (I32) xhv->xhv_max + 1; /* sic(k) */
@@ -769,7 +762,7 @@ hsplit(HV *hv)
}
void
-hv_ksplit(HV *hv, IV newmax)
+Perl_hv_ksplit(pTHX_ HV *hv, IV newmax)
{
register XPVHV* xhv = (XPVHV*)SvANY(hv);
I32 oldsize = (I32) xhv->xhv_max + 1; /* sic(k) */
@@ -847,7 +840,7 @@ hv_ksplit(HV *hv, IV newmax)
}
HV *
-newHV(void)
+Perl_newHV(pTHX)
{
register HV *hv;
register XPVHV* xhv;
@@ -868,7 +861,7 @@ newHV(void)
}
HV *
-newHVhv(HV *ohv)
+Perl_newHVhv(pTHX_ HV *ohv)
{
register HV *hv;
STRLEN hv_max = ohv ? HvMAX(ohv) : 0;
@@ -906,7 +899,7 @@ newHVhv(HV *ohv)
}
void
-hv_free_ent(HV *hv, register HE *entry)
+Perl_hv_free_ent(pTHX_ HV *hv, register HE *entry)
{
SV *val;
@@ -928,7 +921,7 @@ hv_free_ent(HV *hv, register HE *entry)
}
void
-hv_delayfree_ent(HV *hv, register HE *entry)
+Perl_hv_delayfree_ent(pTHX_ HV *hv, register HE *entry)
{
if (!entry)
return;
@@ -947,7 +940,7 @@ hv_delayfree_ent(HV *hv, register HE *entry)
}
void
-hv_clear(HV *hv)
+Perl_hv_clear(pTHX_ HV *hv)
{
register XPVHV* xhv;
if (!hv)
@@ -964,7 +957,7 @@ hv_clear(HV *hv)
}
STATIC void
-hfreeentries(HV *hv)
+hfreeentries(pTHX_ HV *hv)
{
register HE **array;
register HE *entry;
@@ -997,7 +990,7 @@ hfreeentries(HV *hv)
}
void
-hv_undef(HV *hv)
+Perl_hv_undef(pTHX_ HV *hv)
{
register XPVHV* xhv;
if (!hv)
@@ -1019,7 +1012,7 @@ hv_undef(HV *hv)
}
I32
-hv_iterinit(HV *hv)
+Perl_hv_iterinit(pTHX_ HV *hv)
{
register XPVHV* xhv;
HE *entry;
@@ -1038,7 +1031,7 @@ hv_iterinit(HV *hv)
}
HE *
-hv_iternext(HV *hv)
+Perl_hv_iternext(pTHX_ HV *hv)
{
register XPVHV* xhv;
register HE *entry;
@@ -1108,7 +1101,7 @@ hv_iternext(HV *hv)
}
char *
-hv_iterkey(register HE *entry, I32 *retlen)
+Perl_hv_iterkey(pTHX_ register HE *entry, I32 *retlen)
{
if (HeKLEN(entry) == HEf_SVKEY) {
STRLEN len;
@@ -1124,7 +1117,7 @@ hv_iterkey(register HE *entry, I32 *retlen)
/* unlike hv_iterval(), this always returns a mortal copy of the key */
SV *
-hv_iterkeysv(register HE *entry)
+Perl_hv_iterkeysv(pTHX_ register HE *entry)
{
if (HeKLEN(entry) == HEf_SVKEY)
return sv_mortalcopy(HeKEY_sv(entry));
@@ -1134,7 +1127,7 @@ hv_iterkeysv(register HE *entry)
}
SV *
-hv_iterval(HV *hv, register HE *entry)
+Perl_hv_iterval(pTHX_ HV *hv, register HE *entry)
{
if (SvRMAGICAL(hv)) {
if (mg_find((SV*)hv,'P')) {
@@ -1149,7 +1142,7 @@ hv_iterval(HV *hv, register HE *entry)
}
SV *
-hv_iternextsv(HV *hv, char **key, I32 *retlen)
+Perl_hv_iternextsv(pTHX_ HV *hv, char **key, I32 *retlen)
{
HE *he;
if ( (he = hv_iternext(hv)) == NULL)
@@ -1159,13 +1152,13 @@ hv_iternextsv(HV *hv, char **key, I32 *retlen)
}
void
-hv_magic(HV *hv, GV *gv, int how)
+Perl_hv_magic(pTHX_ HV *hv, GV *gv, int how)
{
sv_magic((SV*)hv, (SV*)gv, how, Nullch, 0);
}
char*
-sharepvn(const char *sv, I32 len, U32 hash)
+Perl_sharepvn(pTHX_ const char *sv, I32 len, U32 hash)
{
return HEK_KEY(share_hek(sv, len, hash));
}
@@ -1174,7 +1167,7 @@ sharepvn(const char *sv, I32 len, U32 hash)
* len and hash must both be valid for str.
*/
void
-unsharepvn(const char *str, I32 len, U32 hash)
+Perl_unsharepvn(pTHX_ const char *str, I32 len, U32 hash)
{
register XPVHV* xhv;
register HE *entry;
@@ -1220,7 +1213,7 @@ unsharepvn(const char *str, I32 len, U32 hash)
* len and hash must both be valid for str.
*/
HEK *
-share_hek(const char *str, I32 len, register U32 hash)
+Perl_share_hek(pTHX_ const char *str, I32 len, register U32 hash)
{
register XPVHV* xhv;
register HE *entry;
diff --git a/malloc.c b/malloc.c
index 5a51413b7d..32c669bbe0 100644
--- a/malloc.c
+++ b/malloc.c
@@ -227,6 +227,7 @@
#ifdef PERL_CORE
# include "EXTERN.h"
+#define PERL_IN_MALLOC_C
# include "perl.h"
#else
# ifdef PERL_FOR_X2P
@@ -411,13 +412,6 @@ union overhead {
#define ov_rmagic ovu.ovu_rmagic
};
-#ifdef DEBUGGING
-static void botch (char *diag, char *s);
-#endif
-static void morecore (int bucket);
-static int findbucket (union overhead *freep, int srchlen);
-static void add_to_chain(void *p, MEM_SIZE size, MEM_SIZE chip);
-
#define MAGIC 0xff /* magic # on accounting info */
#define RMAGIC 0x55555555 /* magic # on range info */
#define RMAGIC_C 0x55 /* magic # on range info */
@@ -715,10 +709,9 @@ static char bucket_of[] =
static char *emergency_buffer;
static MEM_SIZE emergency_buffer_size;
-static Malloc_t emergency_sbrk(MEM_SIZE size);
-static Malloc_t
-emergency_sbrk(MEM_SIZE size)
+STATIC Malloc_t
+emergency_sbrk(pTHX_ MEM_SIZE size)
{
MEM_SIZE rsize = (((size - 1)>>LOG_OF_MIN_ARENA) + 1)<<LOG_OF_MIN_ARENA;
@@ -816,8 +809,8 @@ static u_int goodsbrk;
#ifdef DEBUGGING
#undef ASSERT
#define ASSERT(p,diag) if (!(p)) botch(diag,STRINGIFY(p)); else
-static void
-botch(char *diag, char *s)
+STATIC void
+botch(pTHX_ char *diag, char *s)
{
PerlIO_printf(PerlIO_stderr(), "assertion botched (%s?): %s\n", diag, s);
PerlProc_abort();
@@ -954,8 +947,8 @@ static int n_chunks;
static char max_bucket;
/* Cutoff a piece of one of the chunks in the chain. Prefer smaller chunk. */
-static void *
-get_from_chain(MEM_SIZE size)
+STATIC void *
+get_from_chain(pTHX_ MEM_SIZE size)
{
struct chunk_chain_s *elt = chunk_chain, **oldp = &chunk_chain;
struct chunk_chain_s **oldgoodp = NULL;
@@ -992,8 +985,8 @@ get_from_chain(MEM_SIZE size)
}
}
-static void
-add_to_chain(void *p, MEM_SIZE size, MEM_SIZE chip)
+STATIC void
+add_to_chain(pTHX_ void *p, MEM_SIZE size, MEM_SIZE chip)
{
struct chunk_chain_s *next = chunk_chain;
char *cp = (char*)p;
@@ -1005,8 +998,8 @@ add_to_chain(void *p, MEM_SIZE size, MEM_SIZE chip)
n_chunks++;
}
-static void *
-get_from_bigger_buckets(int bucket, MEM_SIZE size)
+STATIC void *
+get_from_bigger_buckets(pTHX_ int bucket, MEM_SIZE size)
{
int price = 1;
static int bucketprice[NBUCKETS];
@@ -1035,8 +1028,8 @@ get_from_bigger_buckets(int bucket, MEM_SIZE size)
return NULL;
}
-static union overhead *
-getpages(int needed, int *nblksp, int bucket)
+STATIC union overhead *
+getpages(pTHX_ int needed, int *nblksp, int bucket)
{
/* Need to do (possibly expensive) system call. Try to
optimize it for rare calling. */
@@ -1188,8 +1181,8 @@ getpages(int needed, int *nblksp, int bucket)
return ovp;
}
-static int
-getpages_adjacent(int require)
+STATIC int
+getpages_adjacent(pTHX_ int require)
{
if (require <= sbrked_remains) {
sbrked_remains -= require;
@@ -1232,8 +1225,8 @@ getpages_adjacent(int require)
/*
* Allocate more memory to the indicated bucket.
*/
-static void
-morecore(register int bucket)
+STATIC void
+morecore(pTHX_ register int bucket)
{
register union overhead *ovp;
register int rnu; /* 2^rnu bytes will be requested */
@@ -1613,7 +1606,7 @@ Perl_calloc(register size_t elements, register size_t size)
}
MEM_SIZE
-malloced_size(void *p)
+Perl_malloced_size(pTHX_ void *p)
{
union overhead *ovp = (union overhead *)
((caddr_t)p - sizeof (union overhead) * CHUNK_SHIFT);
@@ -1643,7 +1636,7 @@ malloced_size(void *p)
* frees for each size category.
*/
void
-dump_mstats(char *s)
+Perl_dump_mstats(pTHX_ char *s)
{
#ifdef DEBUGGING_MSTATS
register int i, j;
diff --git a/mg.c b/mg.c
index bfd60357ed..fb8d4bacbc 100644
--- a/mg.c
+++ b/mg.c
@@ -13,6 +13,7 @@
*/
#include "EXTERN.h"
+#define PERL_IN_MG_C
#include "perl.h"
/* XXX If this causes problems, set i_unistd=undef in the hint file. */
@@ -30,8 +31,6 @@
# define VTBL this->*vtbl
#else
# define VTBL *vtbl
-static void restore_magic (void *p);
-static int magic_methcall(SV *sv, MAGIC *mg, char *meth, I32 f, int n, SV *val);
#endif
/*
@@ -46,7 +45,7 @@ struct magic_state {
/* MGS is typedef'ed to struct magic_state in perl.h */
STATIC void
-save_magic(I32 mgs_ix, SV *sv)
+save_magic(pTHX_ I32 mgs_ix, SV *sv)
{
dTHR;
MGS* mgs;
@@ -65,7 +64,7 @@ save_magic(I32 mgs_ix, SV *sv)
}
STATIC void
-restore_magic(void *p)
+restore_magic(pTHX_ void *p)
{
dTHR;
MGS* mgs = SSPTR((I32)p, MGS*);
@@ -107,7 +106,7 @@ restore_magic(void *p)
}
void
-mg_magical(SV *sv)
+Perl_mg_magical(pTHX_ SV *sv)
{
MAGIC* mg;
for (mg = SvMAGIC(sv); mg; mg = mg->mg_moremagic) {
@@ -124,7 +123,7 @@ mg_magical(SV *sv)
}
int
-mg_get(SV *sv)
+Perl_mg_get(pTHX_ SV *sv)
{
dTHR;
I32 mgs_ix;
@@ -159,7 +158,7 @@ mg_get(SV *sv)
}
int
-mg_set(SV *sv)
+Perl_mg_set(pTHX_ SV *sv)
{
dTHR;
I32 mgs_ix;
@@ -185,7 +184,7 @@ mg_set(SV *sv)
}
U32
-mg_length(SV *sv)
+Perl_mg_length(pTHX_ SV *sv)
{
MAGIC* mg;
char *junk;
@@ -210,7 +209,7 @@ mg_length(SV *sv)
}
I32
-mg_size(SV *sv)
+Perl_mg_size(pTHX_ SV *sv)
{
MAGIC* mg;
I32 len;
@@ -243,7 +242,7 @@ mg_size(SV *sv)
}
int
-mg_clear(SV *sv)
+Perl_mg_clear(pTHX_ SV *sv)
{
I32 mgs_ix;
MAGIC* mg;
@@ -264,7 +263,7 @@ mg_clear(SV *sv)
}
MAGIC*
-mg_find(SV *sv, int type)
+Perl_mg_find(pTHX_ SV *sv, int type)
{
MAGIC* mg;
for (mg = SvMAGIC(sv); mg; mg = mg->mg_moremagic) {
@@ -275,7 +274,7 @@ mg_find(SV *sv, int type)
}
int
-mg_copy(SV *sv, SV *nsv, const char *key, I32 klen)
+Perl_mg_copy(pTHX_ SV *sv, SV *nsv, const char *key, I32 klen)
{
int count = 0;
MAGIC* mg;
@@ -291,7 +290,7 @@ mg_copy(SV *sv, SV *nsv, const char *key, I32 klen)
}
int
-mg_free(SV *sv)
+Perl_mg_free(pTHX_ SV *sv)
{
MAGIC* mg;
MAGIC* moremagic;
@@ -318,7 +317,7 @@ mg_free(SV *sv)
#endif
U32
-magic_regdata_cnt(SV *sv, MAGIC *mg)
+Perl_magic_regdata_cnt(pTHX_ SV *sv, MAGIC *mg)
{
dTHR;
register char *s;
@@ -337,7 +336,7 @@ magic_regdata_cnt(SV *sv, MAGIC *mg)
}
int
-magic_regdatum_get(SV *sv, MAGIC *mg)
+Perl_magic_regdatum_get(pTHX_ SV *sv, MAGIC *mg)
{
dTHR;
register I32 paren;
@@ -365,7 +364,7 @@ magic_regdatum_get(SV *sv, MAGIC *mg)
}
U32
-magic_len(SV *sv, MAGIC *mg)
+Perl_magic_len(pTHX_ SV *sv, MAGIC *mg)
{
dTHR;
register I32 paren;
@@ -460,7 +459,7 @@ printW(SV *sv)
#endif
int
-magic_get(SV *sv, MAGIC *mg)
+Perl_magic_get(pTHX_ SV *sv, MAGIC *mg)
{
dTHR;
register I32 paren;
@@ -764,7 +763,7 @@ magic_get(SV *sv, MAGIC *mg)
}
int
-magic_getuvar(SV *sv, MAGIC *mg)
+Perl_magic_getuvar(pTHX_ SV *sv, MAGIC *mg)
{
struct ufuncs *uf = (struct ufuncs *)mg->mg_ptr;
@@ -774,7 +773,7 @@ magic_getuvar(SV *sv, MAGIC *mg)
}
int
-magic_setenv(SV *sv, MAGIC *mg)
+Perl_magic_setenv(pTHX_ SV *sv, MAGIC *mg)
{
register char *s;
char *ptr;
@@ -850,7 +849,7 @@ magic_setenv(SV *sv, MAGIC *mg)
}
int
-magic_clearenv(SV *sv, MAGIC *mg)
+Perl_magic_clearenv(pTHX_ SV *sv, MAGIC *mg)
{
STRLEN n_a;
my_setenv(MgPV(mg,n_a),Nullch);
@@ -858,7 +857,7 @@ magic_clearenv(SV *sv, MAGIC *mg)
}
int
-magic_set_all_env(SV *sv, MAGIC *mg)
+Perl_magic_set_all_env(pTHX_ SV *sv, MAGIC *mg)
{
#if defined(VMS)
die("Can't make list assignment to %%ENV on this system");
@@ -880,7 +879,7 @@ magic_set_all_env(SV *sv, MAGIC *mg)
}
int
-magic_clear_all_env(SV *sv, MAGIC *mg)
+Perl_magic_clear_all_env(pTHX_ SV *sv, MAGIC *mg)
{
#if defined(VMS)
die("Can't make list assignment to %%ENV on this system");
@@ -920,7 +919,7 @@ magic_clear_all_env(SV *sv, MAGIC *mg)
}
int
-magic_getsig(SV *sv, MAGIC *mg)
+Perl_magic_getsig(pTHX_ SV *sv, MAGIC *mg)
{
I32 i;
STRLEN n_a;
@@ -944,7 +943,7 @@ magic_getsig(SV *sv, MAGIC *mg)
return 0;
}
int
-magic_clearsig(SV *sv, MAGIC *mg)
+Perl_magic_clearsig(pTHX_ SV *sv, MAGIC *mg)
{
I32 i;
STRLEN n_a;
@@ -964,7 +963,7 @@ magic_clearsig(SV *sv, MAGIC *mg)
}
int
-magic_setsig(SV *sv, MAGIC *mg)
+Perl_magic_setsig(pTHX_ SV *sv, MAGIC *mg)
{
dTHR;
register char *s;
@@ -1039,14 +1038,14 @@ magic_setsig(SV *sv, MAGIC *mg)
}
int
-magic_setisa(SV *sv, MAGIC *mg)
+Perl_magic_setisa(pTHX_ SV *sv, MAGIC *mg)
{
PL_sub_generation++;
return 0;
}
int
-magic_setamagic(SV *sv, MAGIC *mg)
+Perl_magic_setamagic(pTHX_ SV *sv, MAGIC *mg)
{
/* HV_badAMAGIC_on(Sv_STASH(sv)); */
PL_amagic_generation++;
@@ -1055,7 +1054,7 @@ magic_setamagic(SV *sv, MAGIC *mg)
}
int
-magic_getnkeys(SV *sv, MAGIC *mg)
+Perl_magic_getnkeys(pTHX_ SV *sv, MAGIC *mg)
{
HV *hv = (HV*)LvTARG(sv);
HE *entry;
@@ -1078,7 +1077,7 @@ magic_getnkeys(SV *sv, MAGIC *mg)
}
int
-magic_setnkeys(SV *sv, MAGIC *mg)
+Perl_magic_setnkeys(pTHX_ SV *sv, MAGIC *mg)
{
if (LvTARG(sv)) {
hv_ksplit((HV*)LvTARG(sv), SvIV(sv));
@@ -1088,7 +1087,7 @@ magic_setnkeys(SV *sv, MAGIC *mg)
/* caller is responsible for stack switching/cleanup */
STATIC int
-magic_methcall(SV *sv, MAGIC *mg, char *meth, I32 flags, int n, SV *val)
+magic_methcall(pTHX_ SV *sv, MAGIC *mg, char *meth, I32 flags, int n, SV *val)
{
dSP;
@@ -1111,11 +1110,11 @@ magic_methcall(SV *sv, MAGIC *mg, char *meth, I32 flags, int n, SV *val)
}
PUTBACK;
- return perl_call_method(meth, flags);
+ return call_method(meth, flags);
}
STATIC int
-magic_methpack(SV *sv, MAGIC *mg, char *meth)
+magic_methpack(pTHX_ SV *sv, MAGIC *mg, char *meth)
{
dSP;
@@ -1134,7 +1133,7 @@ magic_methpack(SV *sv, MAGIC *mg, char *meth)
}
int
-magic_getpack(SV *sv, MAGIC *mg)
+Perl_magic_getpack(pTHX_ SV *sv, MAGIC *mg)
{
magic_methpack(sv,mg,"FETCH");
if (mg->mg_ptr)
@@ -1143,7 +1142,7 @@ magic_getpack(SV *sv, MAGIC *mg)
}
int
-magic_setpack(SV *sv, MAGIC *mg)
+Perl_magic_setpack(pTHX_ SV *sv, MAGIC *mg)
{
dSP;
ENTER;
@@ -1155,14 +1154,14 @@ magic_setpack(SV *sv, MAGIC *mg)
}
int
-magic_clearpack(SV *sv, MAGIC *mg)
+Perl_magic_clearpack(pTHX_ SV *sv, MAGIC *mg)
{
return magic_methpack(sv,mg,"DELETE");
}
U32
-magic_sizepack(SV *sv, MAGIC *mg)
+Perl_magic_sizepack(pTHX_ SV *sv, MAGIC *mg)
{
dSP;
U32 retval = 0;
@@ -1189,14 +1188,14 @@ int magic_wipepack(SV *sv, MAGIC *mg)
PUSHMARK(SP);
XPUSHs(SvTIED_obj(sv, mg));
PUTBACK;
- perl_call_method("CLEAR", G_SCALAR|G_DISCARD);
+ call_method("CLEAR", G_SCALAR|G_DISCARD);
POPSTACK;
LEAVE;
return 0;
}
int
-magic_nextpack(SV *sv, MAGIC *mg, SV *key)
+Perl_magic_nextpack(pTHX_ SV *sv, MAGIC *mg, SV *key)
{
dSP;
char *meth = SvOK(key) ? "NEXTKEY" : "FIRSTKEY";
@@ -1211,7 +1210,7 @@ magic_nextpack(SV *sv, MAGIC *mg, SV *key)
PUSHs(key);
PUTBACK;
- if (perl_call_method(meth, G_SCALAR))
+ if (call_method(meth, G_SCALAR))
sv_setsv(key, *PL_stack_sp--);
POPSTACK;
@@ -1221,13 +1220,13 @@ magic_nextpack(SV *sv, MAGIC *mg, SV *key)
}
int
-magic_existspack(SV *sv, MAGIC *mg)
+Perl_magic_existspack(pTHX_ SV *sv, MAGIC *mg)
{
return magic_methpack(sv,mg,"EXISTS");
}
int
-magic_setdbline(SV *sv, MAGIC *mg)
+Perl_magic_setdbline(pTHX_ SV *sv, MAGIC *mg)
{
dTHR;
OP *o;
@@ -1248,7 +1247,7 @@ magic_setdbline(SV *sv, MAGIC *mg)
}
int
-magic_getarylen(SV *sv, MAGIC *mg)
+Perl_magic_getarylen(pTHX_ SV *sv, MAGIC *mg)
{
dTHR;
sv_setiv(sv, AvFILL((AV*)mg->mg_obj) + PL_curcop->cop_arybase);
@@ -1256,7 +1255,7 @@ magic_getarylen(SV *sv, MAGIC *mg)
}
int
-magic_setarylen(SV *sv, MAGIC *mg)
+Perl_magic_setarylen(pTHX_ SV *sv, MAGIC *mg)
{
dTHR;
av_fill((AV*)mg->mg_obj, SvIV(sv) - PL_curcop->cop_arybase);
@@ -1264,7 +1263,7 @@ magic_setarylen(SV *sv, MAGIC *mg)
}
int
-magic_getpos(SV *sv, MAGIC *mg)
+Perl_magic_getpos(pTHX_ SV *sv, MAGIC *mg)
{
SV* lsv = LvTARG(sv);
@@ -1284,7 +1283,7 @@ magic_getpos(SV *sv, MAGIC *mg)
}
int
-magic_setpos(SV *sv, MAGIC *mg)
+Perl_magic_setpos(pTHX_ SV *sv, MAGIC *mg)
{
SV* lsv = LvTARG(sv);
SSize_t pos;
@@ -1339,7 +1338,7 @@ magic_setpos(SV *sv, MAGIC *mg)
}
int
-magic_getglob(SV *sv, MAGIC *mg)
+Perl_magic_getglob(pTHX_ SV *sv, MAGIC *mg)
{
if (SvFAKE(sv)) { /* FAKE globs can get coerced */
SvFAKE_off(sv);
@@ -1352,7 +1351,7 @@ magic_getglob(SV *sv, MAGIC *mg)
}
int
-magic_setglob(SV *sv, MAGIC *mg)
+Perl_magic_setglob(pTHX_ SV *sv, MAGIC *mg)
{
register char *s;
GV* gv;
@@ -1373,7 +1372,7 @@ magic_setglob(SV *sv, MAGIC *mg)
}
int
-magic_getsubstr(SV *sv, MAGIC *mg)
+Perl_magic_getsubstr(pTHX_ SV *sv, MAGIC *mg)
{
STRLEN len;
SV *lsv = LvTARG(sv);
@@ -1390,7 +1389,7 @@ magic_getsubstr(SV *sv, MAGIC *mg)
}
int
-magic_setsubstr(SV *sv, MAGIC *mg)
+Perl_magic_setsubstr(pTHX_ SV *sv, MAGIC *mg)
{
STRLEN len;
char *tmps = SvPV(sv,len);
@@ -1399,7 +1398,7 @@ magic_setsubstr(SV *sv, MAGIC *mg)
}
int
-magic_gettaint(SV *sv, MAGIC *mg)
+Perl_magic_gettaint(pTHX_ SV *sv, MAGIC *mg)
{
dTHR;
TAINT_IF((mg->mg_len & 1) ||
@@ -1408,7 +1407,7 @@ magic_gettaint(SV *sv, MAGIC *mg)
}
int
-magic_settaint(SV *sv, MAGIC *mg)
+Perl_magic_settaint(pTHX_ SV *sv, MAGIC *mg)
{
dTHR;
if (PL_localizing) {
@@ -1425,7 +1424,7 @@ magic_settaint(SV *sv, MAGIC *mg)
}
int
-magic_getvec(SV *sv, MAGIC *mg)
+Perl_magic_getvec(pTHX_ SV *sv, MAGIC *mg)
{
SV *lsv = LvTARG(sv);
unsigned char *s;
@@ -1491,14 +1490,14 @@ magic_getvec(SV *sv, MAGIC *mg)
}
int
-magic_setvec(SV *sv, MAGIC *mg)
+Perl_magic_setvec(pTHX_ SV *sv, MAGIC *mg)
{
do_vecset(sv); /* XXX slurp this routine */
return 0;
}
int
-magic_getdefelem(SV *sv, MAGIC *mg)
+Perl_magic_getdefelem(pTHX_ SV *sv, MAGIC *mg)
{
SV *targ = Nullsv;
if (LvTARGLEN(sv)) {
@@ -1538,7 +1537,7 @@ magic_getdefelem(SV *sv, MAGIC *mg)
}
int
-magic_setdefelem(SV *sv, MAGIC *mg)
+Perl_magic_setdefelem(pTHX_ SV *sv, MAGIC *mg)
{
if (LvTARGLEN(sv))
vivify_defelem(sv);
@@ -1550,7 +1549,7 @@ magic_setdefelem(SV *sv, MAGIC *mg)
}
void
-vivify_defelem(SV *sv)
+Perl_vivify_defelem(pTHX_ SV *sv)
{
dTHR; /* just for SvREFCNT_inc and SvREFCNT_dec*/
MAGIC *mg;
@@ -1594,7 +1593,7 @@ vivify_defelem(SV *sv)
}
int
-magic_killbackrefs(SV *sv, MAGIC *mg)
+Perl_magic_killbackrefs(pTHX_ SV *sv, MAGIC *mg)
{
AV *av = (AV*)mg->mg_obj;
SV **svp = AvARRAY(av);
@@ -1615,7 +1614,7 @@ magic_killbackrefs(SV *sv, MAGIC *mg)
}
int
-magic_setmglob(SV *sv, MAGIC *mg)
+Perl_magic_setmglob(pTHX_ SV *sv, MAGIC *mg)
{
mg->mg_len = -1;
SvSCREAM_off(sv);
@@ -1623,7 +1622,7 @@ magic_setmglob(SV *sv, MAGIC *mg)
}
int
-magic_setbm(SV *sv, MAGIC *mg)
+Perl_magic_setbm(pTHX_ SV *sv, MAGIC *mg)
{
sv_unmagic(sv, 'B');
SvVALID_off(sv);
@@ -1631,7 +1630,7 @@ magic_setbm(SV *sv, MAGIC *mg)
}
int
-magic_setfm(SV *sv, MAGIC *mg)
+Perl_magic_setfm(pTHX_ SV *sv, MAGIC *mg)
{
sv_unmagic(sv, 'f');
SvCOMPILED_off(sv);
@@ -1639,7 +1638,7 @@ magic_setfm(SV *sv, MAGIC *mg)
}
int
-magic_setuvar(SV *sv, MAGIC *mg)
+Perl_magic_setuvar(pTHX_ SV *sv, MAGIC *mg)
{
struct ufuncs *uf = (struct ufuncs *)mg->mg_ptr;
@@ -1649,7 +1648,7 @@ magic_setuvar(SV *sv, MAGIC *mg)
}
int
-magic_freeregexp(SV *sv, MAGIC *mg)
+Perl_magic_freeregexp(pTHX_ SV *sv, MAGIC *mg)
{
regexp *re = (regexp *)mg->mg_obj;
ReREFCNT_dec(re);
@@ -1658,7 +1657,7 @@ magic_freeregexp(SV *sv, MAGIC *mg)
#ifdef USE_LOCALE_COLLATE
int
-magic_setcollxfrm(SV *sv, MAGIC *mg)
+Perl_magic_setcollxfrm(pTHX_ SV *sv, MAGIC *mg)
{
/*
* RenE<eacute> Descartes said "I think not."
@@ -1674,7 +1673,7 @@ magic_setcollxfrm(SV *sv, MAGIC *mg)
#endif /* USE_LOCALE_COLLATE */
int
-magic_set(SV *sv, MAGIC *mg)
+Perl_magic_set(pTHX_ SV *sv, MAGIC *mg)
{
dTHR;
register char *s;
@@ -2056,7 +2055,7 @@ magic_set(SV *sv, MAGIC *mg)
#ifdef USE_THREADS
int
-magic_mutexfree(SV *sv, MAGIC *mg)
+Perl_magic_mutexfree(pTHX_ SV *sv, MAGIC *mg)
{
dTHR;
DEBUG_S(PerlIO_printf(PerlIO_stderr(), "0x%lx: magic_mutexfree 0x%lx\n",
@@ -2070,7 +2069,7 @@ magic_mutexfree(SV *sv, MAGIC *mg)
#endif /* USE_THREADS */
I32
-whichsig(char *sig)
+Perl_whichsig(pTHX_ char *sig)
{
register char **sigv;
@@ -2091,7 +2090,7 @@ whichsig(char *sig)
static SV* sig_sv;
STATIC void
-unwind_handler_stack(void *p)
+unwind_handler_stack(pTHX_ void *p)
{
dTHR;
U32 flags = *(U32*)p;
@@ -2104,7 +2103,7 @@ unwind_handler_stack(void *p)
}
Signal_t
-sighandler(int sig)
+Perl_sighandler(pTHX_ int sig)
{
dSP;
GV *gv = Nullgv;
@@ -2173,7 +2172,7 @@ sighandler(int sig)
PUSHs(sv);
PUTBACK;
- perl_call_sv((SV*)cv, G_DISCARD);
+ call_sv((SV*)cv, G_DISCARD);
POPSTACK;
cleanup:
diff --git a/miniperlmain.c b/miniperlmain.c
index 4a0fe67e3f..3265bc76da 100644
--- a/miniperlmain.c
+++ b/miniperlmain.c
@@ -8,9 +8,10 @@
#include "EXTERN.h"
+#define PERL_IN_MINIPERLMAIN_C
#include "perl.h"
-static void xs_init (void);
+static void xs_init (pTHX);
static PerlInterpreter *my_perl;
#if defined (__MINT__) || defined (atarist)
@@ -36,7 +37,7 @@ main(int argc, char **argv, char **env)
PERL_SYS_INIT(&argc,&argv);
- perl_init_i18nl10n(1);
+ init_i18nl10n(1);
if (!PL_do_undump) {
my_perl = perl_alloc();
@@ -65,7 +66,7 @@ main(int argc, char **argv, char **env)
/* Do not delete this line--writemain depends on it */
static void
-xs_init(void)
+xs_init(pTHX)
{
dXSUB_SYS;
}
diff --git a/objXSUB.h b/objXSUB.h
index 1fbb21402b..161a5300a9 100644
--- a/objXSUB.h
+++ b/objXSUB.h
@@ -789,12 +789,1966 @@
/* Functions */
-#undef Gv_AMupdate
-#define Gv_AMupdate pPerl->Perl_Gv_AMupdate
+#undef Perl_ErrorNo
+#define Perl_ErrorNo pPerl->Perl_ErrorNo
+#undef Perl_GetVars
+#define Perl_GetVars pPerl->Perl_GetVars
+#undef Perl_Gv_AMupdate
+#define Perl_Gv_AMupdate pPerl->Perl_Gv_AMupdate
+#undef Perl_amagic_call
+#define Perl_amagic_call pPerl->Perl_amagic_call
+#undef Perl_append_elem
+#define Perl_append_elem pPerl->Perl_append_elem
+#undef Perl_append_list
+#define Perl_append_list pPerl->Perl_append_list
+#undef Perl_apply
+#define Perl_apply pPerl->Perl_apply
+#undef Perl_assertref
+#define Perl_assertref pPerl->Perl_assertref
+#undef Perl_av_clear
+#define Perl_av_clear pPerl->Perl_av_clear
+#undef Perl_av_extend
+#define Perl_av_extend pPerl->Perl_av_extend
+#undef Perl_av_fake
+#define Perl_av_fake pPerl->Perl_av_fake
+#undef Perl_av_fetch
+#define Perl_av_fetch pPerl->Perl_av_fetch
+#undef Perl_av_fill
+#define Perl_av_fill pPerl->Perl_av_fill
+#undef Perl_av_len
+#define Perl_av_len pPerl->Perl_av_len
+#undef Perl_av_make
+#define Perl_av_make pPerl->Perl_av_make
+#undef Perl_av_pop
+#define Perl_av_pop pPerl->Perl_av_pop
+#undef Perl_av_push
+#define Perl_av_push pPerl->Perl_av_push
+#undef Perl_av_reify
+#define Perl_av_reify pPerl->Perl_av_reify
+#undef Perl_av_shift
+#define Perl_av_shift pPerl->Perl_av_shift
+#undef Perl_av_store
+#define Perl_av_store pPerl->Perl_av_store
+#undef Perl_av_undef
+#define Perl_av_undef pPerl->Perl_av_undef
+#undef Perl_av_unshift
+#define Perl_av_unshift pPerl->Perl_av_unshift
+#undef Perl_avhv_exists_ent
+#define Perl_avhv_exists_ent pPerl->Perl_avhv_exists_ent
+#undef Perl_avhv_fetch_ent
+#define Perl_avhv_fetch_ent pPerl->Perl_avhv_fetch_ent
+#undef Perl_avhv_iternext
+#define Perl_avhv_iternext pPerl->Perl_avhv_iternext
+#undef Perl_avhv_iterval
+#define Perl_avhv_iterval pPerl->Perl_avhv_iterval
+#undef Perl_avhv_keys
+#define Perl_avhv_keys pPerl->Perl_avhv_keys
+#undef Perl_bind_match
+#define Perl_bind_match pPerl->Perl_bind_match
+#undef Perl_block_end
+#define Perl_block_end pPerl->Perl_block_end
+#undef Perl_block_gimme
+#define Perl_block_gimme pPerl->Perl_block_gimme
+#undef Perl_block_start
+#define Perl_block_start pPerl->Perl_block_start
+#undef Perl_boot_core_UNIVERSAL
+#define Perl_boot_core_UNIVERSAL pPerl->Perl_boot_core_UNIVERSAL
+#undef Perl_bset_obj_store
+#define Perl_bset_obj_store pPerl->Perl_bset_obj_store
+#undef Perl_call_argv
+#define Perl_call_argv pPerl->Perl_call_argv
+#undef Perl_call_atexit
+#define Perl_call_atexit pPerl->Perl_call_atexit
+#undef Perl_call_list
+#define Perl_call_list pPerl->Perl_call_list
+#undef Perl_call_method
+#define Perl_call_method pPerl->Perl_call_method
+#undef Perl_call_pv
+#define Perl_call_pv pPerl->Perl_call_pv
+#undef Perl_call_sv
+#define Perl_call_sv pPerl->Perl_call_sv
+#undef Perl_calloc
+#define Perl_calloc pPerl->Perl_calloc
+#undef Perl_cando
+#define Perl_cando pPerl->Perl_cando
+#undef Perl_cast_i32
+#define Perl_cast_i32 pPerl->Perl_cast_i32
+#undef Perl_cast_iv
+#define Perl_cast_iv pPerl->Perl_cast_iv
+#undef Perl_cast_ulong
+#define Perl_cast_ulong pPerl->Perl_cast_ulong
+#undef Perl_cast_uv
+#define Perl_cast_uv pPerl->Perl_cast_uv
+#undef Perl_ck_anoncode
+#define Perl_ck_anoncode pPerl->Perl_ck_anoncode
+#undef Perl_ck_bitop
+#define Perl_ck_bitop pPerl->Perl_ck_bitop
+#undef Perl_ck_concat
+#define Perl_ck_concat pPerl->Perl_ck_concat
+#undef Perl_ck_defined
+#define Perl_ck_defined pPerl->Perl_ck_defined
+#undef Perl_ck_delete
+#define Perl_ck_delete pPerl->Perl_ck_delete
+#undef Perl_ck_eof
+#define Perl_ck_eof pPerl->Perl_ck_eof
+#undef Perl_ck_eval
+#define Perl_ck_eval pPerl->Perl_ck_eval
+#undef Perl_ck_exec
+#define Perl_ck_exec pPerl->Perl_ck_exec
+#undef Perl_ck_exists
+#define Perl_ck_exists pPerl->Perl_ck_exists
+#undef Perl_ck_ftst
+#define Perl_ck_ftst pPerl->Perl_ck_ftst
+#undef Perl_ck_fun
+#define Perl_ck_fun pPerl->Perl_ck_fun
+#undef Perl_ck_fun_locale
+#define Perl_ck_fun_locale pPerl->Perl_ck_fun_locale
+#undef Perl_ck_glob
+#define Perl_ck_glob pPerl->Perl_ck_glob
+#undef Perl_ck_grep
+#define Perl_ck_grep pPerl->Perl_ck_grep
+#undef Perl_ck_index
+#define Perl_ck_index pPerl->Perl_ck_index
+#undef Perl_ck_lengthconst
+#define Perl_ck_lengthconst pPerl->Perl_ck_lengthconst
+#undef Perl_ck_lfun
+#define Perl_ck_lfun pPerl->Perl_ck_lfun
+#undef Perl_ck_listiob
+#define Perl_ck_listiob pPerl->Perl_ck_listiob
+#undef Perl_ck_match
+#define Perl_ck_match pPerl->Perl_ck_match
+#undef Perl_ck_null
+#define Perl_ck_null pPerl->Perl_ck_null
+#undef Perl_ck_repeat
+#define Perl_ck_repeat pPerl->Perl_ck_repeat
+#undef Perl_ck_require
+#define Perl_ck_require pPerl->Perl_ck_require
+#undef Perl_ck_rfun
+#define Perl_ck_rfun pPerl->Perl_ck_rfun
+#undef Perl_ck_rvconst
+#define Perl_ck_rvconst pPerl->Perl_ck_rvconst
+#undef Perl_ck_scmp
+#define Perl_ck_scmp pPerl->Perl_ck_scmp
+#undef Perl_ck_select
+#define Perl_ck_select pPerl->Perl_ck_select
+#undef Perl_ck_shift
+#define Perl_ck_shift pPerl->Perl_ck_shift
+#undef Perl_ck_sort
+#define Perl_ck_sort pPerl->Perl_ck_sort
+#undef Perl_ck_spair
+#define Perl_ck_spair pPerl->Perl_ck_spair
+#undef Perl_ck_split
+#define Perl_ck_split pPerl->Perl_ck_split
+#undef Perl_ck_subr
+#define Perl_ck_subr pPerl->Perl_ck_subr
+#undef Perl_ck_svconst
+#define Perl_ck_svconst pPerl->Perl_ck_svconst
+#undef Perl_ck_trunc
+#define Perl_ck_trunc pPerl->Perl_ck_trunc
+#undef Perl_condpair_magic
+#define Perl_condpair_magic pPerl->Perl_condpair_magic
+#undef Perl_convert
+#define Perl_convert pPerl->Perl_convert
+#undef Perl_croak
+#define Perl_croak pPerl->Perl_croak
+#undef Perl_cv_ckproto
+#define Perl_cv_ckproto pPerl->Perl_cv_ckproto
+#undef Perl_cv_clone
+#define Perl_cv_clone pPerl->Perl_cv_clone
+#undef Perl_cv_const_sv
+#define Perl_cv_const_sv pPerl->Perl_cv_const_sv
+#undef Perl_cv_undef
+#define Perl_cv_undef pPerl->Perl_cv_undef
+#undef Perl_cx_dump
+#define Perl_cx_dump pPerl->Perl_cx_dump
+#undef Perl_cxinc
+#define Perl_cxinc pPerl->Perl_cxinc
+#undef Perl_deb
+#define Perl_deb pPerl->Perl_deb
+#undef Perl_deb_growlevel
+#define Perl_deb_growlevel pPerl->Perl_deb_growlevel
+#undef Perl_debop
+#define Perl_debop pPerl->Perl_debop
+#undef Perl_debprofdump
+#define Perl_debprofdump pPerl->Perl_debprofdump
+#undef Perl_debstack
+#define Perl_debstack pPerl->Perl_debstack
+#undef Perl_debstackptrs
+#define Perl_debstackptrs pPerl->Perl_debstackptrs
+#undef Perl_default_protect
+#define Perl_default_protect pPerl->Perl_default_protect
+#undef Perl_delimcpy
+#define Perl_delimcpy pPerl->Perl_delimcpy
+#undef Perl_deprecate
+#define Perl_deprecate pPerl->Perl_deprecate
+#undef Perl_die
+#define Perl_die pPerl->Perl_die
+#undef Perl_die_where
+#define Perl_die_where pPerl->Perl_die_where
+#undef Perl_do_aexec
+#define Perl_do_aexec pPerl->Perl_do_aexec
+#undef Perl_do_binmode
+#define Perl_do_binmode pPerl->Perl_do_binmode
+#undef Perl_do_chomp
+#define Perl_do_chomp pPerl->Perl_do_chomp
+#undef Perl_do_chop
+#define Perl_do_chop pPerl->Perl_do_chop
+#undef Perl_do_close
+#define Perl_do_close pPerl->Perl_do_close
+#undef Perl_do_eof
+#define Perl_do_eof pPerl->Perl_do_eof
+#undef Perl_do_exec
+#define Perl_do_exec pPerl->Perl_do_exec
+#undef Perl_do_exec3
+#define Perl_do_exec3 pPerl->Perl_do_exec3
+#undef Perl_do_execfree
+#define Perl_do_execfree pPerl->Perl_do_execfree
+#undef Perl_do_gv_dump
+#define Perl_do_gv_dump pPerl->Perl_do_gv_dump
+#undef Perl_do_gvgv_dump
+#define Perl_do_gvgv_dump pPerl->Perl_do_gvgv_dump
+#undef Perl_do_hv_dump
+#define Perl_do_hv_dump pPerl->Perl_do_hv_dump
+#undef Perl_do_ipcctl
+#define Perl_do_ipcctl pPerl->Perl_do_ipcctl
+#undef Perl_do_ipcget
+#define Perl_do_ipcget pPerl->Perl_do_ipcget
+#undef Perl_do_join
+#define Perl_do_join pPerl->Perl_do_join
+#undef Perl_do_kv
+#define Perl_do_kv pPerl->Perl_do_kv
+#undef Perl_do_magic_dump
+#define Perl_do_magic_dump pPerl->Perl_do_magic_dump
+#undef Perl_do_msgrcv
+#define Perl_do_msgrcv pPerl->Perl_do_msgrcv
+#undef Perl_do_msgsnd
+#define Perl_do_msgsnd pPerl->Perl_do_msgsnd
+#undef Perl_do_op_dump
+#define Perl_do_op_dump pPerl->Perl_do_op_dump
+#undef Perl_do_open
+#define Perl_do_open pPerl->Perl_do_open
+#undef Perl_do_pipe
+#define Perl_do_pipe pPerl->Perl_do_pipe
+#undef Perl_do_pmop_dump
+#define Perl_do_pmop_dump pPerl->Perl_do_pmop_dump
+#undef Perl_do_print
+#define Perl_do_print pPerl->Perl_do_print
+#undef Perl_do_readline
+#define Perl_do_readline pPerl->Perl_do_readline
+#undef Perl_do_seek
+#define Perl_do_seek pPerl->Perl_do_seek
+#undef Perl_do_semop
+#define Perl_do_semop pPerl->Perl_do_semop
+#undef Perl_do_shmio
+#define Perl_do_shmio pPerl->Perl_do_shmio
+#undef Perl_do_sprintf
+#define Perl_do_sprintf pPerl->Perl_do_sprintf
+#undef Perl_do_sv_dump
+#define Perl_do_sv_dump pPerl->Perl_do_sv_dump
+#undef Perl_do_sysseek
+#define Perl_do_sysseek pPerl->Perl_do_sysseek
+#undef Perl_do_tell
+#define Perl_do_tell pPerl->Perl_do_tell
+#undef Perl_do_trans
+#define Perl_do_trans pPerl->Perl_do_trans
+#undef Perl_do_vecset
+#define Perl_do_vecset pPerl->Perl_do_vecset
+#undef Perl_do_vop
+#define Perl_do_vop pPerl->Perl_do_vop
+#undef Perl_dofile
+#define Perl_dofile pPerl->Perl_dofile
+#undef Perl_dounwind
+#define Perl_dounwind pPerl->Perl_dounwind
+#undef Perl_dowantarray
+#define Perl_dowantarray pPerl->Perl_dowantarray
+#undef Perl_dump_all
+#define Perl_dump_all pPerl->Perl_dump_all
+#undef Perl_dump_eval
+#define Perl_dump_eval pPerl->Perl_dump_eval
+#undef Perl_dump_fds
+#define Perl_dump_fds pPerl->Perl_dump_fds
+#undef Perl_dump_form
+#define Perl_dump_form pPerl->Perl_dump_form
+#undef Perl_dump_indent
+#define Perl_dump_indent pPerl->Perl_dump_indent
+#undef Perl_dump_mstats
+#define Perl_dump_mstats pPerl->Perl_dump_mstats
+#undef Perl_dump_packsubs
+#define Perl_dump_packsubs pPerl->Perl_dump_packsubs
+#undef Perl_dump_sub
+#define Perl_dump_sub pPerl->Perl_dump_sub
+#undef Perl_eval_pv
+#define Perl_eval_pv pPerl->Perl_eval_pv
+#undef Perl_eval_sv
+#define Perl_eval_sv pPerl->Perl_eval_sv
+#undef Perl_fbm_compile
+#define Perl_fbm_compile pPerl->Perl_fbm_compile
+#undef Perl_fbm_instr
+#define Perl_fbm_instr pPerl->Perl_fbm_instr
+#undef Perl_filter_add
+#define Perl_filter_add pPerl->Perl_filter_add
+#undef Perl_filter_del
+#define Perl_filter_del pPerl->Perl_filter_del
+#undef Perl_filter_read
+#define Perl_filter_read pPerl->Perl_filter_read
+#undef Perl_find_script
+#define Perl_find_script pPerl->Perl_find_script
+#undef Perl_find_threadsv
+#define Perl_find_threadsv pPerl->Perl_find_threadsv
+#undef Perl_fold_constants
+#define Perl_fold_constants pPerl->Perl_fold_constants
+#undef Perl_force_list
+#define Perl_force_list pPerl->Perl_force_list
+#undef Perl_form
+#define Perl_form pPerl->Perl_form
+#undef Perl_free_tmps
+#define Perl_free_tmps pPerl->Perl_free_tmps
+#undef Perl_gen_constant_list
+#define Perl_gen_constant_list pPerl->Perl_gen_constant_list
+#undef Perl_get_av
+#define Perl_get_av pPerl->Perl_get_av
+#undef Perl_get_cv
+#define Perl_get_cv pPerl->Perl_get_cv
+#undef Perl_get_hv
+#define Perl_get_hv pPerl->Perl_get_hv
+#undef Perl_get_no_modify
+#define Perl_get_no_modify pPerl->Perl_get_no_modify
+#undef Perl_get_op_descs
+#define Perl_get_op_descs pPerl->Perl_get_op_descs
+#undef Perl_get_op_names
+#define Perl_get_op_names pPerl->Perl_get_op_names
+#undef Perl_get_opargs
+#define Perl_get_opargs pPerl->Perl_get_opargs
+#undef Perl_get_sv
+#define Perl_get_sv pPerl->Perl_get_sv
+#undef Perl_get_vtbl
+#define Perl_get_vtbl pPerl->Perl_get_vtbl
+#undef Perl_getenv_len
+#define Perl_getenv_len pPerl->Perl_getenv_len
+#undef Perl_gp_free
+#define Perl_gp_free pPerl->Perl_gp_free
+#undef Perl_gp_ref
+#define Perl_gp_ref pPerl->Perl_gp_ref
+#undef Perl_gv_AVadd
+#define Perl_gv_AVadd pPerl->Perl_gv_AVadd
+#undef Perl_gv_HVadd
+#define Perl_gv_HVadd pPerl->Perl_gv_HVadd
+#undef Perl_gv_IOadd
+#define Perl_gv_IOadd pPerl->Perl_gv_IOadd
+#undef Perl_gv_autoload4
+#define Perl_gv_autoload4 pPerl->Perl_gv_autoload4
+#undef Perl_gv_check
+#define Perl_gv_check pPerl->Perl_gv_check
+#undef Perl_gv_dump
+#define Perl_gv_dump pPerl->Perl_gv_dump
+#undef Perl_gv_efullname
+#define Perl_gv_efullname pPerl->Perl_gv_efullname
+#undef Perl_gv_efullname3
+#define Perl_gv_efullname3 pPerl->Perl_gv_efullname3
+#undef Perl_gv_fetchfile
+#define Perl_gv_fetchfile pPerl->Perl_gv_fetchfile
+#undef Perl_gv_fetchmeth
+#define Perl_gv_fetchmeth pPerl->Perl_gv_fetchmeth
+#undef Perl_gv_fetchmethod
+#define Perl_gv_fetchmethod pPerl->Perl_gv_fetchmethod
+#undef Perl_gv_fetchmethod_autoload
+#define Perl_gv_fetchmethod_autoload pPerl->Perl_gv_fetchmethod_autoload
+#undef Perl_gv_fetchpv
+#define Perl_gv_fetchpv pPerl->Perl_gv_fetchpv
+#undef Perl_gv_fullname
+#define Perl_gv_fullname pPerl->Perl_gv_fullname
+#undef Perl_gv_fullname3
+#define Perl_gv_fullname3 pPerl->Perl_gv_fullname3
+#undef Perl_gv_init
+#define Perl_gv_init pPerl->Perl_gv_init
+#undef Perl_gv_stashpv
+#define Perl_gv_stashpv pPerl->Perl_gv_stashpv
+#undef Perl_gv_stashpvn
+#define Perl_gv_stashpvn pPerl->Perl_gv_stashpvn
+#undef Perl_gv_stashsv
+#define Perl_gv_stashsv pPerl->Perl_gv_stashsv
+#undef Perl_hv_clear
+#define Perl_hv_clear pPerl->Perl_hv_clear
+#undef Perl_hv_delayfree_ent
+#define Perl_hv_delayfree_ent pPerl->Perl_hv_delayfree_ent
+#undef Perl_hv_delete
+#define Perl_hv_delete pPerl->Perl_hv_delete
+#undef Perl_hv_delete_ent
+#define Perl_hv_delete_ent pPerl->Perl_hv_delete_ent
+#undef Perl_hv_exists
+#define Perl_hv_exists pPerl->Perl_hv_exists
+#undef Perl_hv_exists_ent
+#define Perl_hv_exists_ent pPerl->Perl_hv_exists_ent
+#undef Perl_hv_fetch
+#define Perl_hv_fetch pPerl->Perl_hv_fetch
+#undef Perl_hv_fetch_ent
+#define Perl_hv_fetch_ent pPerl->Perl_hv_fetch_ent
+#undef Perl_hv_free_ent
+#define Perl_hv_free_ent pPerl->Perl_hv_free_ent
+#undef Perl_hv_iterinit
+#define Perl_hv_iterinit pPerl->Perl_hv_iterinit
+#undef Perl_hv_iterkey
+#define Perl_hv_iterkey pPerl->Perl_hv_iterkey
+#undef Perl_hv_iterkeysv
+#define Perl_hv_iterkeysv pPerl->Perl_hv_iterkeysv
+#undef Perl_hv_iternext
+#define Perl_hv_iternext pPerl->Perl_hv_iternext
+#undef Perl_hv_iternextsv
+#define Perl_hv_iternextsv pPerl->Perl_hv_iternextsv
+#undef Perl_hv_iterval
+#define Perl_hv_iterval pPerl->Perl_hv_iterval
+#undef Perl_hv_ksplit
+#define Perl_hv_ksplit pPerl->Perl_hv_ksplit
+#undef Perl_hv_magic
+#define Perl_hv_magic pPerl->Perl_hv_magic
+#undef Perl_hv_store
+#define Perl_hv_store pPerl->Perl_hv_store
+#undef Perl_hv_store_ent
+#define Perl_hv_store_ent pPerl->Perl_hv_store_ent
+#undef Perl_hv_undef
+#define Perl_hv_undef pPerl->Perl_hv_undef
+#undef Perl_ibcmp
+#define Perl_ibcmp pPerl->Perl_ibcmp
+#undef Perl_ibcmp_locale
+#define Perl_ibcmp_locale pPerl->Perl_ibcmp_locale
+#undef Perl_ingroup
+#define Perl_ingroup pPerl->Perl_ingroup
+#undef Perl_init_i18nl10n
+#define Perl_init_i18nl10n pPerl->Perl_init_i18nl10n
+#undef Perl_init_i18nl14n
+#define Perl_init_i18nl14n pPerl->Perl_init_i18nl14n
+#undef Perl_init_stacks
+#define Perl_init_stacks pPerl->Perl_init_stacks
+#undef Perl_instr
+#define Perl_instr pPerl->Perl_instr
+#undef Perl_intro_my
+#define Perl_intro_my pPerl->Perl_intro_my
+#undef Perl_invert
+#define Perl_invert pPerl->Perl_invert
+#undef Perl_io_close
+#define Perl_io_close pPerl->Perl_io_close
+#undef Perl_is_uni_alnum
+#define Perl_is_uni_alnum pPerl->Perl_is_uni_alnum
+#undef Perl_is_uni_alnum_lc
+#define Perl_is_uni_alnum_lc pPerl->Perl_is_uni_alnum_lc
+#undef Perl_is_uni_alpha
+#define Perl_is_uni_alpha pPerl->Perl_is_uni_alpha
+#undef Perl_is_uni_alpha_lc
+#define Perl_is_uni_alpha_lc pPerl->Perl_is_uni_alpha_lc
+#undef Perl_is_uni_digit
+#define Perl_is_uni_digit pPerl->Perl_is_uni_digit
+#undef Perl_is_uni_digit_lc
+#define Perl_is_uni_digit_lc pPerl->Perl_is_uni_digit_lc
+#undef Perl_is_uni_idfirst
+#define Perl_is_uni_idfirst pPerl->Perl_is_uni_idfirst
+#undef Perl_is_uni_idfirst_lc
+#define Perl_is_uni_idfirst_lc pPerl->Perl_is_uni_idfirst_lc
+#undef Perl_is_uni_lower
+#define Perl_is_uni_lower pPerl->Perl_is_uni_lower
+#undef Perl_is_uni_lower_lc
+#define Perl_is_uni_lower_lc pPerl->Perl_is_uni_lower_lc
+#undef Perl_is_uni_print
+#define Perl_is_uni_print pPerl->Perl_is_uni_print
+#undef Perl_is_uni_print_lc
+#define Perl_is_uni_print_lc pPerl->Perl_is_uni_print_lc
+#undef Perl_is_uni_space
+#define Perl_is_uni_space pPerl->Perl_is_uni_space
+#undef Perl_is_uni_space_lc
+#define Perl_is_uni_space_lc pPerl->Perl_is_uni_space_lc
+#undef Perl_is_uni_upper
+#define Perl_is_uni_upper pPerl->Perl_is_uni_upper
+#undef Perl_is_uni_upper_lc
+#define Perl_is_uni_upper_lc pPerl->Perl_is_uni_upper_lc
+#undef Perl_is_utf8_alnum
+#define Perl_is_utf8_alnum pPerl->Perl_is_utf8_alnum
+#undef Perl_is_utf8_alpha
+#define Perl_is_utf8_alpha pPerl->Perl_is_utf8_alpha
+#undef Perl_is_utf8_digit
+#define Perl_is_utf8_digit pPerl->Perl_is_utf8_digit
+#undef Perl_is_utf8_idfirst
+#define Perl_is_utf8_idfirst pPerl->Perl_is_utf8_idfirst
+#undef Perl_is_utf8_lower
+#define Perl_is_utf8_lower pPerl->Perl_is_utf8_lower
+#undef Perl_is_utf8_mark
+#define Perl_is_utf8_mark pPerl->Perl_is_utf8_mark
+#undef Perl_is_utf8_print
+#define Perl_is_utf8_print pPerl->Perl_is_utf8_print
+#undef Perl_is_utf8_space
+#define Perl_is_utf8_space pPerl->Perl_is_utf8_space
+#undef Perl_is_utf8_upper
+#define Perl_is_utf8_upper pPerl->Perl_is_utf8_upper
+#undef Perl_jmaybe
+#define Perl_jmaybe pPerl->Perl_jmaybe
+#undef Perl_keyword
+#define Perl_keyword pPerl->Perl_keyword
+#undef Perl_leave_scope
+#define Perl_leave_scope pPerl->Perl_leave_scope
+#undef Perl_lex_end
+#define Perl_lex_end pPerl->Perl_lex_end
+#undef Perl_lex_start
+#define Perl_lex_start pPerl->Perl_lex_start
+#undef Perl_linklist
+#define Perl_linklist pPerl->Perl_linklist
+#undef Perl_list
+#define Perl_list pPerl->Perl_list
+#undef Perl_listkids
+#define Perl_listkids pPerl->Perl_listkids
+#undef Perl_localize
+#define Perl_localize pPerl->Perl_localize
+#undef Perl_looks_like_number
+#define Perl_looks_like_number pPerl->Perl_looks_like_number
+#undef Perl_magic_clear_all_env
+#define Perl_magic_clear_all_env pPerl->Perl_magic_clear_all_env
+#undef Perl_magic_clearenv
+#define Perl_magic_clearenv pPerl->Perl_magic_clearenv
+#undef Perl_magic_clearpack
+#define Perl_magic_clearpack pPerl->Perl_magic_clearpack
+#undef Perl_magic_clearsig
+#define Perl_magic_clearsig pPerl->Perl_magic_clearsig
+#undef Perl_magic_dump
+#define Perl_magic_dump pPerl->Perl_magic_dump
+#undef Perl_magic_existspack
+#define Perl_magic_existspack pPerl->Perl_magic_existspack
+#undef Perl_magic_freeregexp
+#define Perl_magic_freeregexp pPerl->Perl_magic_freeregexp
+#undef Perl_magic_get
+#define Perl_magic_get pPerl->Perl_magic_get
+#undef Perl_magic_getarylen
+#define Perl_magic_getarylen pPerl->Perl_magic_getarylen
+#undef Perl_magic_getdefelem
+#define Perl_magic_getdefelem pPerl->Perl_magic_getdefelem
+#undef Perl_magic_getglob
+#define Perl_magic_getglob pPerl->Perl_magic_getglob
+#undef Perl_magic_getnkeys
+#define Perl_magic_getnkeys pPerl->Perl_magic_getnkeys
+#undef Perl_magic_getpack
+#define Perl_magic_getpack pPerl->Perl_magic_getpack
+#undef Perl_magic_getpos
+#define Perl_magic_getpos pPerl->Perl_magic_getpos
+#undef Perl_magic_getsig
+#define Perl_magic_getsig pPerl->Perl_magic_getsig
+#undef Perl_magic_getsubstr
+#define Perl_magic_getsubstr pPerl->Perl_magic_getsubstr
+#undef Perl_magic_gettaint
+#define Perl_magic_gettaint pPerl->Perl_magic_gettaint
+#undef Perl_magic_getuvar
+#define Perl_magic_getuvar pPerl->Perl_magic_getuvar
+#undef Perl_magic_getvec
+#define Perl_magic_getvec pPerl->Perl_magic_getvec
+#undef Perl_magic_killbackrefs
+#define Perl_magic_killbackrefs pPerl->Perl_magic_killbackrefs
+#undef Perl_magic_len
+#define Perl_magic_len pPerl->Perl_magic_len
+#undef Perl_magic_mutexfree
+#define Perl_magic_mutexfree pPerl->Perl_magic_mutexfree
+#undef Perl_magic_nextpack
+#define Perl_magic_nextpack pPerl->Perl_magic_nextpack
+#undef Perl_magic_regdata_cnt
+#define Perl_magic_regdata_cnt pPerl->Perl_magic_regdata_cnt
+#undef Perl_magic_regdatum_get
+#define Perl_magic_regdatum_get pPerl->Perl_magic_regdatum_get
+#undef Perl_magic_set
+#define Perl_magic_set pPerl->Perl_magic_set
+#undef Perl_magic_set_all_env
+#define Perl_magic_set_all_env pPerl->Perl_magic_set_all_env
+#undef Perl_magic_setamagic
+#define Perl_magic_setamagic pPerl->Perl_magic_setamagic
+#undef Perl_magic_setarylen
+#define Perl_magic_setarylen pPerl->Perl_magic_setarylen
+#undef Perl_magic_setbm
+#define Perl_magic_setbm pPerl->Perl_magic_setbm
+#undef Perl_magic_setcollxfrm
+#define Perl_magic_setcollxfrm pPerl->Perl_magic_setcollxfrm
+#undef Perl_magic_setdbline
+#define Perl_magic_setdbline pPerl->Perl_magic_setdbline
+#undef Perl_magic_setdefelem
+#define Perl_magic_setdefelem pPerl->Perl_magic_setdefelem
+#undef Perl_magic_setenv
+#define Perl_magic_setenv pPerl->Perl_magic_setenv
+#undef Perl_magic_setfm
+#define Perl_magic_setfm pPerl->Perl_magic_setfm
+#undef Perl_magic_setglob
+#define Perl_magic_setglob pPerl->Perl_magic_setglob
+#undef Perl_magic_setisa
+#define Perl_magic_setisa pPerl->Perl_magic_setisa
+#undef Perl_magic_setmglob
+#define Perl_magic_setmglob pPerl->Perl_magic_setmglob
+#undef Perl_magic_setnkeys
+#define Perl_magic_setnkeys pPerl->Perl_magic_setnkeys
+#undef Perl_magic_setpack
+#define Perl_magic_setpack pPerl->Perl_magic_setpack
+#undef Perl_magic_setpos
+#define Perl_magic_setpos pPerl->Perl_magic_setpos
+#undef Perl_magic_setsig
+#define Perl_magic_setsig pPerl->Perl_magic_setsig
+#undef Perl_magic_setsubstr
+#define Perl_magic_setsubstr pPerl->Perl_magic_setsubstr
+#undef Perl_magic_settaint
+#define Perl_magic_settaint pPerl->Perl_magic_settaint
+#undef Perl_magic_setuvar
+#define Perl_magic_setuvar pPerl->Perl_magic_setuvar
+#undef Perl_magic_setvec
+#define Perl_magic_setvec pPerl->Perl_magic_setvec
+#undef Perl_magic_sizepack
+#define Perl_magic_sizepack pPerl->Perl_magic_sizepack
+#undef Perl_magic_wipepack
+#define Perl_magic_wipepack pPerl->Perl_magic_wipepack
+#undef Perl_magicname
+#define Perl_magicname pPerl->Perl_magicname
+#undef Perl_malloc
+#define Perl_malloc pPerl->Perl_malloc
+#undef Perl_malloced_size
+#define Perl_malloced_size pPerl->Perl_malloced_size
+#undef Perl_markstack_grow
+#define Perl_markstack_grow pPerl->Perl_markstack_grow
+#undef Perl_mem_collxfrm
+#define Perl_mem_collxfrm pPerl->Perl_mem_collxfrm
+#undef Perl_mess
+#define Perl_mess pPerl->Perl_mess
+#undef Perl_mfree
+#define Perl_mfree pPerl->Perl_mfree
+#undef Perl_mg_clear
+#define Perl_mg_clear pPerl->Perl_mg_clear
+#undef Perl_mg_copy
+#define Perl_mg_copy pPerl->Perl_mg_copy
+#undef Perl_mg_find
+#define Perl_mg_find pPerl->Perl_mg_find
+#undef Perl_mg_free
+#define Perl_mg_free pPerl->Perl_mg_free
+#undef Perl_mg_get
+#define Perl_mg_get pPerl->Perl_mg_get
+#undef Perl_mg_length
+#define Perl_mg_length pPerl->Perl_mg_length
+#undef Perl_mg_magical
+#define Perl_mg_magical pPerl->Perl_mg_magical
+#undef Perl_mg_set
+#define Perl_mg_set pPerl->Perl_mg_set
+#undef Perl_mg_size
+#define Perl_mg_size pPerl->Perl_mg_size
+#undef Perl_mod
+#define Perl_mod pPerl->Perl_mod
+#undef Perl_moreswitches
+#define Perl_moreswitches pPerl->Perl_moreswitches
+#undef Perl_my
+#define Perl_my pPerl->Perl_my
+#undef Perl_my_bcopy
+#define Perl_my_bcopy pPerl->Perl_my_bcopy
+#undef Perl_my_bzero
+#define Perl_my_bzero pPerl->Perl_my_bzero
+#undef Perl_my_chsize
+#define Perl_my_chsize pPerl->Perl_my_chsize
+#undef Perl_my_exit
+#define Perl_my_exit pPerl->Perl_my_exit
+#undef Perl_my_failure_exit
+#define Perl_my_failure_exit pPerl->Perl_my_failure_exit
+#undef Perl_my_fflush_all
+#define Perl_my_fflush_all pPerl->Perl_my_fflush_all
+#undef Perl_my_htonl
+#define Perl_my_htonl pPerl->Perl_my_htonl
+#undef Perl_my_lstat
+#define Perl_my_lstat pPerl->Perl_my_lstat
+#undef Perl_my_memcmp
+#define Perl_my_memcmp pPerl->Perl_my_memcmp
+#undef Perl_my_memset
+#define Perl_my_memset pPerl->Perl_my_memset
+#undef Perl_my_ntohl
+#define Perl_my_ntohl pPerl->Perl_my_ntohl
+#undef Perl_my_pclose
+#define Perl_my_pclose pPerl->Perl_my_pclose
+#undef Perl_my_popen
+#define Perl_my_popen pPerl->Perl_my_popen
+#undef Perl_my_setenv
+#define Perl_my_setenv pPerl->Perl_my_setenv
+#undef Perl_my_stat
+#define Perl_my_stat pPerl->Perl_my_stat
+#undef Perl_my_swap
+#define Perl_my_swap pPerl->Perl_my_swap
+#undef Perl_my_unexec
+#define Perl_my_unexec pPerl->Perl_my_unexec
+#undef Perl_newANONHASH
+#define Perl_newANONHASH pPerl->Perl_newANONHASH
+#undef Perl_newANONLIST
+#define Perl_newANONLIST pPerl->Perl_newANONLIST
+#undef Perl_newANONSUB
+#define Perl_newANONSUB pPerl->Perl_newANONSUB
+#undef Perl_newASSIGNOP
+#define Perl_newASSIGNOP pPerl->Perl_newASSIGNOP
+#undef Perl_newAV
+#define Perl_newAV pPerl->Perl_newAV
+#undef Perl_newAVREF
+#define Perl_newAVREF pPerl->Perl_newAVREF
+#undef Perl_newBINOP
+#define Perl_newBINOP pPerl->Perl_newBINOP
+#undef Perl_newCONDOP
+#define Perl_newCONDOP pPerl->Perl_newCONDOP
+#undef Perl_newCONSTSUB
+#define Perl_newCONSTSUB pPerl->Perl_newCONSTSUB
+#undef Perl_newCVREF
+#define Perl_newCVREF pPerl->Perl_newCVREF
+#undef Perl_newFORM
+#define Perl_newFORM pPerl->Perl_newFORM
+#undef Perl_newFOROP
+#define Perl_newFOROP pPerl->Perl_newFOROP
+#undef Perl_newGVOP
+#define Perl_newGVOP pPerl->Perl_newGVOP
+#undef Perl_newGVREF
+#define Perl_newGVREF pPerl->Perl_newGVREF
+#undef Perl_newGVgen
+#define Perl_newGVgen pPerl->Perl_newGVgen
+#undef Perl_newHV
+#define Perl_newHV pPerl->Perl_newHV
+#undef Perl_newHVREF
+#define Perl_newHVREF pPerl->Perl_newHVREF
+#undef Perl_newHVhv
+#define Perl_newHVhv pPerl->Perl_newHVhv
+#undef Perl_newIO
+#define Perl_newIO pPerl->Perl_newIO
+#undef Perl_newLISTOP
+#define Perl_newLISTOP pPerl->Perl_newLISTOP
+#undef Perl_newLOGOP
+#define Perl_newLOGOP pPerl->Perl_newLOGOP
+#undef Perl_newLOOPEX
+#define Perl_newLOOPEX pPerl->Perl_newLOOPEX
+#undef Perl_newLOOPOP
+#define Perl_newLOOPOP pPerl->Perl_newLOOPOP
+#undef Perl_newNULLLIST
+#define Perl_newNULLLIST pPerl->Perl_newNULLLIST
+#undef Perl_newOP
+#define Perl_newOP pPerl->Perl_newOP
+#undef Perl_newPMOP
+#define Perl_newPMOP pPerl->Perl_newPMOP
+#undef Perl_newPROG
+#define Perl_newPROG pPerl->Perl_newPROG
+#undef Perl_newPVOP
+#define Perl_newPVOP pPerl->Perl_newPVOP
+#undef Perl_newRANGE
+#define Perl_newRANGE pPerl->Perl_newRANGE
+#undef Perl_newRV
+#define Perl_newRV pPerl->Perl_newRV
+#undef Perl_newRV_noinc
+#define Perl_newRV_noinc pPerl->Perl_newRV_noinc
+#undef Perl_newSLICEOP
+#define Perl_newSLICEOP pPerl->Perl_newSLICEOP
+#undef Perl_newSTATEOP
+#define Perl_newSTATEOP pPerl->Perl_newSTATEOP
+#undef Perl_newSUB
+#define Perl_newSUB pPerl->Perl_newSUB
+#undef Perl_newSV
+#define Perl_newSV pPerl->Perl_newSV
+#undef Perl_newSVOP
+#define Perl_newSVOP pPerl->Perl_newSVOP
+#undef Perl_newSVREF
+#define Perl_newSVREF pPerl->Perl_newSVREF
+#undef Perl_newSViv
+#define Perl_newSViv pPerl->Perl_newSViv
+#undef Perl_newSVnv
+#define Perl_newSVnv pPerl->Perl_newSVnv
+#undef Perl_newSVpv
+#define Perl_newSVpv pPerl->Perl_newSVpv
+#undef Perl_newSVpvf
+#define Perl_newSVpvf pPerl->Perl_newSVpvf
+#undef Perl_newSVpvn
+#define Perl_newSVpvn pPerl->Perl_newSVpvn
+#undef Perl_newSVrv
+#define Perl_newSVrv pPerl->Perl_newSVrv
+#undef Perl_newSVsv
+#define Perl_newSVsv pPerl->Perl_newSVsv
+#undef Perl_newUNOP
+#define Perl_newUNOP pPerl->Perl_newUNOP
+#undef Perl_newWHILEOP
+#define Perl_newWHILEOP pPerl->Perl_newWHILEOP
+#undef Perl_newXS
+#define Perl_newXS pPerl->Perl_newXS
+#undef Perl_new_collate
+#define Perl_new_collate pPerl->Perl_new_collate
+#undef Perl_new_ctype
+#define Perl_new_ctype pPerl->Perl_new_ctype
+#undef Perl_new_numeric
+#define Perl_new_numeric pPerl->Perl_new_numeric
+#undef Perl_new_stackinfo
+#define Perl_new_stackinfo pPerl->Perl_new_stackinfo
+#undef Perl_new_struct_thread
+#define Perl_new_struct_thread pPerl->Perl_new_struct_thread
+#undef Perl_nextargv
+#define Perl_nextargv pPerl->Perl_nextargv
+#undef Perl_ninstr
+#define Perl_ninstr pPerl->Perl_ninstr
+#undef Perl_oopsAV
+#define Perl_oopsAV pPerl->Perl_oopsAV
+#undef Perl_oopsCV
+#define Perl_oopsCV pPerl->Perl_oopsCV
+#undef Perl_oopsHV
+#define Perl_oopsHV pPerl->Perl_oopsHV
+#undef Perl_op_const_sv
+#define Perl_op_const_sv pPerl->Perl_op_const_sv
+#undef Perl_op_dump
+#define Perl_op_dump pPerl->Perl_op_dump
+#undef Perl_op_free
+#define Perl_op_free pPerl->Perl_op_free
+#undef Perl_package
+#define Perl_package pPerl->Perl_package
+#undef Perl_pad_alloc
+#define Perl_pad_alloc pPerl->Perl_pad_alloc
+#undef Perl_pad_allocmy
+#define Perl_pad_allocmy pPerl->Perl_pad_allocmy
+#undef Perl_pad_findmy
+#define Perl_pad_findmy pPerl->Perl_pad_findmy
+#undef Perl_pad_free
+#define Perl_pad_free pPerl->Perl_pad_free
+#undef Perl_pad_leavemy
+#define Perl_pad_leavemy pPerl->Perl_pad_leavemy
+#undef Perl_pad_reset
+#define Perl_pad_reset pPerl->Perl_pad_reset
+#undef Perl_pad_sv
+#define Perl_pad_sv pPerl->Perl_pad_sv
+#undef Perl_pad_swipe
+#define Perl_pad_swipe pPerl->Perl_pad_swipe
+#undef Perl_peep
+#define Perl_peep pPerl->Perl_peep
+#undef Perl_pidgone
+#define Perl_pidgone pPerl->Perl_pidgone
+#undef Perl_pmflag
+#define Perl_pmflag pPerl->Perl_pmflag
+#undef Perl_pmop_dump
+#define Perl_pmop_dump pPerl->Perl_pmop_dump
+#undef Perl_pmruntime
+#define Perl_pmruntime pPerl->Perl_pmruntime
+#undef Perl_pmtrans
+#define Perl_pmtrans pPerl->Perl_pmtrans
+#undef Perl_pop_return
+#define Perl_pop_return pPerl->Perl_pop_return
+#undef Perl_pop_scope
+#define Perl_pop_scope pPerl->Perl_pop_scope
+#undef Perl_pp_aassign
+#define Perl_pp_aassign pPerl->Perl_pp_aassign
+#undef Perl_pp_abs
+#define Perl_pp_abs pPerl->Perl_pp_abs
+#undef Perl_pp_accept
+#define Perl_pp_accept pPerl->Perl_pp_accept
+#undef Perl_pp_add
+#define Perl_pp_add pPerl->Perl_pp_add
+#undef Perl_pp_aelem
+#define Perl_pp_aelem pPerl->Perl_pp_aelem
+#undef Perl_pp_aelemfast
+#define Perl_pp_aelemfast pPerl->Perl_pp_aelemfast
+#undef Perl_pp_alarm
+#define Perl_pp_alarm pPerl->Perl_pp_alarm
+#undef Perl_pp_and
+#define Perl_pp_and pPerl->Perl_pp_and
+#undef Perl_pp_andassign
+#define Perl_pp_andassign pPerl->Perl_pp_andassign
+#undef Perl_pp_anoncode
+#define Perl_pp_anoncode pPerl->Perl_pp_anoncode
+#undef Perl_pp_anonhash
+#define Perl_pp_anonhash pPerl->Perl_pp_anonhash
+#undef Perl_pp_anonlist
+#define Perl_pp_anonlist pPerl->Perl_pp_anonlist
+#undef Perl_pp_aslice
+#define Perl_pp_aslice pPerl->Perl_pp_aslice
+#undef Perl_pp_atan2
+#define Perl_pp_atan2 pPerl->Perl_pp_atan2
+#undef Perl_pp_av2arylen
+#define Perl_pp_av2arylen pPerl->Perl_pp_av2arylen
+#undef Perl_pp_backtick
+#define Perl_pp_backtick pPerl->Perl_pp_backtick
+#undef Perl_pp_bind
+#define Perl_pp_bind pPerl->Perl_pp_bind
+#undef Perl_pp_binmode
+#define Perl_pp_binmode pPerl->Perl_pp_binmode
+#undef Perl_pp_bit_and
+#define Perl_pp_bit_and pPerl->Perl_pp_bit_and
+#undef Perl_pp_bit_or
+#define Perl_pp_bit_or pPerl->Perl_pp_bit_or
+#undef Perl_pp_bit_xor
+#define Perl_pp_bit_xor pPerl->Perl_pp_bit_xor
+#undef Perl_pp_bless
+#define Perl_pp_bless pPerl->Perl_pp_bless
+#undef Perl_pp_caller
+#define Perl_pp_caller pPerl->Perl_pp_caller
+#undef Perl_pp_chdir
+#define Perl_pp_chdir pPerl->Perl_pp_chdir
+#undef Perl_pp_chmod
+#define Perl_pp_chmod pPerl->Perl_pp_chmod
+#undef Perl_pp_chomp
+#define Perl_pp_chomp pPerl->Perl_pp_chomp
+#undef Perl_pp_chop
+#define Perl_pp_chop pPerl->Perl_pp_chop
+#undef Perl_pp_chown
+#define Perl_pp_chown pPerl->Perl_pp_chown
+#undef Perl_pp_chr
+#define Perl_pp_chr pPerl->Perl_pp_chr
+#undef Perl_pp_chroot
+#define Perl_pp_chroot pPerl->Perl_pp_chroot
+#undef Perl_pp_close
+#define Perl_pp_close pPerl->Perl_pp_close
+#undef Perl_pp_closedir
+#define Perl_pp_closedir pPerl->Perl_pp_closedir
+#undef Perl_pp_complement
+#define Perl_pp_complement pPerl->Perl_pp_complement
+#undef Perl_pp_concat
+#define Perl_pp_concat pPerl->Perl_pp_concat
+#undef Perl_pp_cond_expr
+#define Perl_pp_cond_expr pPerl->Perl_pp_cond_expr
+#undef Perl_pp_connect
+#define Perl_pp_connect pPerl->Perl_pp_connect
+#undef Perl_pp_const
+#define Perl_pp_const pPerl->Perl_pp_const
+#undef Perl_pp_cos
+#define Perl_pp_cos pPerl->Perl_pp_cos
+#undef Perl_pp_crypt
+#define Perl_pp_crypt pPerl->Perl_pp_crypt
+#undef Perl_pp_dbmclose
+#define Perl_pp_dbmclose pPerl->Perl_pp_dbmclose
+#undef Perl_pp_dbmopen
+#define Perl_pp_dbmopen pPerl->Perl_pp_dbmopen
+#undef Perl_pp_dbstate
+#define Perl_pp_dbstate pPerl->Perl_pp_dbstate
+#undef Perl_pp_defined
+#define Perl_pp_defined pPerl->Perl_pp_defined
+#undef Perl_pp_delete
+#define Perl_pp_delete pPerl->Perl_pp_delete
+#undef Perl_pp_die
+#define Perl_pp_die pPerl->Perl_pp_die
+#undef Perl_pp_divide
+#define Perl_pp_divide pPerl->Perl_pp_divide
+#undef Perl_pp_dofile
+#define Perl_pp_dofile pPerl->Perl_pp_dofile
+#undef Perl_pp_dump
+#define Perl_pp_dump pPerl->Perl_pp_dump
+#undef Perl_pp_each
+#define Perl_pp_each pPerl->Perl_pp_each
+#undef Perl_pp_egrent
+#define Perl_pp_egrent pPerl->Perl_pp_egrent
+#undef Perl_pp_ehostent
+#define Perl_pp_ehostent pPerl->Perl_pp_ehostent
+#undef Perl_pp_enetent
+#define Perl_pp_enetent pPerl->Perl_pp_enetent
+#undef Perl_pp_enter
+#define Perl_pp_enter pPerl->Perl_pp_enter
+#undef Perl_pp_entereval
+#define Perl_pp_entereval pPerl->Perl_pp_entereval
+#undef Perl_pp_enteriter
+#define Perl_pp_enteriter pPerl->Perl_pp_enteriter
+#undef Perl_pp_enterloop
+#define Perl_pp_enterloop pPerl->Perl_pp_enterloop
+#undef Perl_pp_entersub
+#define Perl_pp_entersub pPerl->Perl_pp_entersub
+#undef Perl_pp_entertry
+#define Perl_pp_entertry pPerl->Perl_pp_entertry
+#undef Perl_pp_enterwrite
+#define Perl_pp_enterwrite pPerl->Perl_pp_enterwrite
+#undef Perl_pp_eof
+#define Perl_pp_eof pPerl->Perl_pp_eof
+#undef Perl_pp_eprotoent
+#define Perl_pp_eprotoent pPerl->Perl_pp_eprotoent
+#undef Perl_pp_epwent
+#define Perl_pp_epwent pPerl->Perl_pp_epwent
+#undef Perl_pp_eq
+#define Perl_pp_eq pPerl->Perl_pp_eq
+#undef Perl_pp_eservent
+#define Perl_pp_eservent pPerl->Perl_pp_eservent
+#undef Perl_pp_exec
+#define Perl_pp_exec pPerl->Perl_pp_exec
+#undef Perl_pp_exists
+#define Perl_pp_exists pPerl->Perl_pp_exists
+#undef Perl_pp_exit
+#define Perl_pp_exit pPerl->Perl_pp_exit
+#undef Perl_pp_exp
+#define Perl_pp_exp pPerl->Perl_pp_exp
+#undef Perl_pp_fcntl
+#define Perl_pp_fcntl pPerl->Perl_pp_fcntl
+#undef Perl_pp_fileno
+#define Perl_pp_fileno pPerl->Perl_pp_fileno
+#undef Perl_pp_flip
+#define Perl_pp_flip pPerl->Perl_pp_flip
+#undef Perl_pp_flock
+#define Perl_pp_flock pPerl->Perl_pp_flock
+#undef Perl_pp_flop
+#define Perl_pp_flop pPerl->Perl_pp_flop
+#undef Perl_pp_fork
+#define Perl_pp_fork pPerl->Perl_pp_fork
+#undef Perl_pp_formline
+#define Perl_pp_formline pPerl->Perl_pp_formline
+#undef Perl_pp_ftatime
+#define Perl_pp_ftatime pPerl->Perl_pp_ftatime
+#undef Perl_pp_ftbinary
+#define Perl_pp_ftbinary pPerl->Perl_pp_ftbinary
+#undef Perl_pp_ftblk
+#define Perl_pp_ftblk pPerl->Perl_pp_ftblk
+#undef Perl_pp_ftchr
+#define Perl_pp_ftchr pPerl->Perl_pp_ftchr
+#undef Perl_pp_ftctime
+#define Perl_pp_ftctime pPerl->Perl_pp_ftctime
+#undef Perl_pp_ftdir
+#define Perl_pp_ftdir pPerl->Perl_pp_ftdir
+#undef Perl_pp_fteexec
+#define Perl_pp_fteexec pPerl->Perl_pp_fteexec
+#undef Perl_pp_fteowned
+#define Perl_pp_fteowned pPerl->Perl_pp_fteowned
+#undef Perl_pp_fteread
+#define Perl_pp_fteread pPerl->Perl_pp_fteread
+#undef Perl_pp_ftewrite
+#define Perl_pp_ftewrite pPerl->Perl_pp_ftewrite
+#undef Perl_pp_ftfile
+#define Perl_pp_ftfile pPerl->Perl_pp_ftfile
+#undef Perl_pp_ftis
+#define Perl_pp_ftis pPerl->Perl_pp_ftis
+#undef Perl_pp_ftlink
+#define Perl_pp_ftlink pPerl->Perl_pp_ftlink
+#undef Perl_pp_ftmtime
+#define Perl_pp_ftmtime pPerl->Perl_pp_ftmtime
+#undef Perl_pp_ftpipe
+#define Perl_pp_ftpipe pPerl->Perl_pp_ftpipe
+#undef Perl_pp_ftrexec
+#define Perl_pp_ftrexec pPerl->Perl_pp_ftrexec
+#undef Perl_pp_ftrowned
+#define Perl_pp_ftrowned pPerl->Perl_pp_ftrowned
+#undef Perl_pp_ftrread
+#define Perl_pp_ftrread pPerl->Perl_pp_ftrread
+#undef Perl_pp_ftrwrite
+#define Perl_pp_ftrwrite pPerl->Perl_pp_ftrwrite
+#undef Perl_pp_ftsgid
+#define Perl_pp_ftsgid pPerl->Perl_pp_ftsgid
+#undef Perl_pp_ftsize
+#define Perl_pp_ftsize pPerl->Perl_pp_ftsize
+#undef Perl_pp_ftsock
+#define Perl_pp_ftsock pPerl->Perl_pp_ftsock
+#undef Perl_pp_ftsuid
+#define Perl_pp_ftsuid pPerl->Perl_pp_ftsuid
+#undef Perl_pp_ftsvtx
+#define Perl_pp_ftsvtx pPerl->Perl_pp_ftsvtx
+#undef Perl_pp_fttext
+#define Perl_pp_fttext pPerl->Perl_pp_fttext
+#undef Perl_pp_fttty
+#define Perl_pp_fttty pPerl->Perl_pp_fttty
+#undef Perl_pp_ftzero
+#define Perl_pp_ftzero pPerl->Perl_pp_ftzero
+#undef Perl_pp_ge
+#define Perl_pp_ge pPerl->Perl_pp_ge
+#undef Perl_pp_gelem
+#define Perl_pp_gelem pPerl->Perl_pp_gelem
+#undef Perl_pp_getc
+#define Perl_pp_getc pPerl->Perl_pp_getc
+#undef Perl_pp_getlogin
+#define Perl_pp_getlogin pPerl->Perl_pp_getlogin
+#undef Perl_pp_getpeername
+#define Perl_pp_getpeername pPerl->Perl_pp_getpeername
+#undef Perl_pp_getpgrp
+#define Perl_pp_getpgrp pPerl->Perl_pp_getpgrp
+#undef Perl_pp_getppid
+#define Perl_pp_getppid pPerl->Perl_pp_getppid
+#undef Perl_pp_getpriority
+#define Perl_pp_getpriority pPerl->Perl_pp_getpriority
+#undef Perl_pp_getsockname
+#define Perl_pp_getsockname pPerl->Perl_pp_getsockname
+#undef Perl_pp_ggrent
+#define Perl_pp_ggrent pPerl->Perl_pp_ggrent
+#undef Perl_pp_ggrgid
+#define Perl_pp_ggrgid pPerl->Perl_pp_ggrgid
+#undef Perl_pp_ggrnam
+#define Perl_pp_ggrnam pPerl->Perl_pp_ggrnam
+#undef Perl_pp_ghbyaddr
+#define Perl_pp_ghbyaddr pPerl->Perl_pp_ghbyaddr
+#undef Perl_pp_ghbyname
+#define Perl_pp_ghbyname pPerl->Perl_pp_ghbyname
+#undef Perl_pp_ghostent
+#define Perl_pp_ghostent pPerl->Perl_pp_ghostent
+#undef Perl_pp_glob
+#define Perl_pp_glob pPerl->Perl_pp_glob
+#undef Perl_pp_gmtime
+#define Perl_pp_gmtime pPerl->Perl_pp_gmtime
+#undef Perl_pp_gnbyaddr
+#define Perl_pp_gnbyaddr pPerl->Perl_pp_gnbyaddr
+#undef Perl_pp_gnbyname
+#define Perl_pp_gnbyname pPerl->Perl_pp_gnbyname
+#undef Perl_pp_gnetent
+#define Perl_pp_gnetent pPerl->Perl_pp_gnetent
+#undef Perl_pp_goto
+#define Perl_pp_goto pPerl->Perl_pp_goto
+#undef Perl_pp_gpbyname
+#define Perl_pp_gpbyname pPerl->Perl_pp_gpbyname
+#undef Perl_pp_gpbynumber
+#define Perl_pp_gpbynumber pPerl->Perl_pp_gpbynumber
+#undef Perl_pp_gprotoent
+#define Perl_pp_gprotoent pPerl->Perl_pp_gprotoent
+#undef Perl_pp_gpwent
+#define Perl_pp_gpwent pPerl->Perl_pp_gpwent
+#undef Perl_pp_gpwnam
+#define Perl_pp_gpwnam pPerl->Perl_pp_gpwnam
+#undef Perl_pp_gpwuid
+#define Perl_pp_gpwuid pPerl->Perl_pp_gpwuid
+#undef Perl_pp_grepstart
+#define Perl_pp_grepstart pPerl->Perl_pp_grepstart
+#undef Perl_pp_grepwhile
+#define Perl_pp_grepwhile pPerl->Perl_pp_grepwhile
+#undef Perl_pp_gsbyname
+#define Perl_pp_gsbyname pPerl->Perl_pp_gsbyname
+#undef Perl_pp_gsbyport
+#define Perl_pp_gsbyport pPerl->Perl_pp_gsbyport
+#undef Perl_pp_gservent
+#define Perl_pp_gservent pPerl->Perl_pp_gservent
+#undef Perl_pp_gsockopt
+#define Perl_pp_gsockopt pPerl->Perl_pp_gsockopt
+#undef Perl_pp_gt
+#define Perl_pp_gt pPerl->Perl_pp_gt
+#undef Perl_pp_gv
+#define Perl_pp_gv pPerl->Perl_pp_gv
+#undef Perl_pp_gvsv
+#define Perl_pp_gvsv pPerl->Perl_pp_gvsv
+#undef Perl_pp_helem
+#define Perl_pp_helem pPerl->Perl_pp_helem
+#undef Perl_pp_hex
+#define Perl_pp_hex pPerl->Perl_pp_hex
+#undef Perl_pp_hslice
+#define Perl_pp_hslice pPerl->Perl_pp_hslice
+#undef Perl_pp_i_add
+#define Perl_pp_i_add pPerl->Perl_pp_i_add
+#undef Perl_pp_i_divide
+#define Perl_pp_i_divide pPerl->Perl_pp_i_divide
+#undef Perl_pp_i_eq
+#define Perl_pp_i_eq pPerl->Perl_pp_i_eq
+#undef Perl_pp_i_ge
+#define Perl_pp_i_ge pPerl->Perl_pp_i_ge
+#undef Perl_pp_i_gt
+#define Perl_pp_i_gt pPerl->Perl_pp_i_gt
+#undef Perl_pp_i_le
+#define Perl_pp_i_le pPerl->Perl_pp_i_le
+#undef Perl_pp_i_lt
+#define Perl_pp_i_lt pPerl->Perl_pp_i_lt
+#undef Perl_pp_i_modulo
+#define Perl_pp_i_modulo pPerl->Perl_pp_i_modulo
+#undef Perl_pp_i_multiply
+#define Perl_pp_i_multiply pPerl->Perl_pp_i_multiply
+#undef Perl_pp_i_ncmp
+#define Perl_pp_i_ncmp pPerl->Perl_pp_i_ncmp
+#undef Perl_pp_i_ne
+#define Perl_pp_i_ne pPerl->Perl_pp_i_ne
+#undef Perl_pp_i_negate
+#define Perl_pp_i_negate pPerl->Perl_pp_i_negate
+#undef Perl_pp_i_subtract
+#define Perl_pp_i_subtract pPerl->Perl_pp_i_subtract
+#undef Perl_pp_index
+#define Perl_pp_index pPerl->Perl_pp_index
+#undef Perl_pp_int
+#define Perl_pp_int pPerl->Perl_pp_int
+#undef Perl_pp_ioctl
+#define Perl_pp_ioctl pPerl->Perl_pp_ioctl
+#undef Perl_pp_iter
+#define Perl_pp_iter pPerl->Perl_pp_iter
+#undef Perl_pp_join
+#define Perl_pp_join pPerl->Perl_pp_join
+#undef Perl_pp_keys
+#define Perl_pp_keys pPerl->Perl_pp_keys
+#undef Perl_pp_kill
+#define Perl_pp_kill pPerl->Perl_pp_kill
+#undef Perl_pp_last
+#define Perl_pp_last pPerl->Perl_pp_last
+#undef Perl_pp_lc
+#define Perl_pp_lc pPerl->Perl_pp_lc
+#undef Perl_pp_lcfirst
+#define Perl_pp_lcfirst pPerl->Perl_pp_lcfirst
+#undef Perl_pp_le
+#define Perl_pp_le pPerl->Perl_pp_le
+#undef Perl_pp_leave
+#define Perl_pp_leave pPerl->Perl_pp_leave
+#undef Perl_pp_leaveeval
+#define Perl_pp_leaveeval pPerl->Perl_pp_leaveeval
+#undef Perl_pp_leaveloop
+#define Perl_pp_leaveloop pPerl->Perl_pp_leaveloop
+#undef Perl_pp_leavesub
+#define Perl_pp_leavesub pPerl->Perl_pp_leavesub
+#undef Perl_pp_leavetry
+#define Perl_pp_leavetry pPerl->Perl_pp_leavetry
+#undef Perl_pp_leavewrite
+#define Perl_pp_leavewrite pPerl->Perl_pp_leavewrite
+#undef Perl_pp_left_shift
+#define Perl_pp_left_shift pPerl->Perl_pp_left_shift
+#undef Perl_pp_length
+#define Perl_pp_length pPerl->Perl_pp_length
+#undef Perl_pp_lineseq
+#define Perl_pp_lineseq pPerl->Perl_pp_lineseq
+#undef Perl_pp_link
+#define Perl_pp_link pPerl->Perl_pp_link
+#undef Perl_pp_list
+#define Perl_pp_list pPerl->Perl_pp_list
+#undef Perl_pp_listen
+#define Perl_pp_listen pPerl->Perl_pp_listen
+#undef Perl_pp_localtime
+#define Perl_pp_localtime pPerl->Perl_pp_localtime
+#undef Perl_pp_lock
+#define Perl_pp_lock pPerl->Perl_pp_lock
+#undef Perl_pp_log
+#define Perl_pp_log pPerl->Perl_pp_log
+#undef Perl_pp_lslice
+#define Perl_pp_lslice pPerl->Perl_pp_lslice
+#undef Perl_pp_lstat
+#define Perl_pp_lstat pPerl->Perl_pp_lstat
+#undef Perl_pp_lt
+#define Perl_pp_lt pPerl->Perl_pp_lt
+#undef Perl_pp_mapstart
+#define Perl_pp_mapstart pPerl->Perl_pp_mapstart
+#undef Perl_pp_mapwhile
+#define Perl_pp_mapwhile pPerl->Perl_pp_mapwhile
+#undef Perl_pp_match
+#define Perl_pp_match pPerl->Perl_pp_match
+#undef Perl_pp_method
+#define Perl_pp_method pPerl->Perl_pp_method
+#undef Perl_pp_mkdir
+#define Perl_pp_mkdir pPerl->Perl_pp_mkdir
+#undef Perl_pp_modulo
+#define Perl_pp_modulo pPerl->Perl_pp_modulo
+#undef Perl_pp_msgctl
+#define Perl_pp_msgctl pPerl->Perl_pp_msgctl
+#undef Perl_pp_msgget
+#define Perl_pp_msgget pPerl->Perl_pp_msgget
+#undef Perl_pp_msgrcv
+#define Perl_pp_msgrcv pPerl->Perl_pp_msgrcv
+#undef Perl_pp_msgsnd
+#define Perl_pp_msgsnd pPerl->Perl_pp_msgsnd
+#undef Perl_pp_multiply
+#define Perl_pp_multiply pPerl->Perl_pp_multiply
+#undef Perl_pp_ncmp
+#define Perl_pp_ncmp pPerl->Perl_pp_ncmp
+#undef Perl_pp_ne
+#define Perl_pp_ne pPerl->Perl_pp_ne
+#undef Perl_pp_negate
+#define Perl_pp_negate pPerl->Perl_pp_negate
+#undef Perl_pp_next
+#define Perl_pp_next pPerl->Perl_pp_next
+#undef Perl_pp_nextstate
+#define Perl_pp_nextstate pPerl->Perl_pp_nextstate
+#undef Perl_pp_not
+#define Perl_pp_not pPerl->Perl_pp_not
+#undef Perl_pp_null
+#define Perl_pp_null pPerl->Perl_pp_null
+#undef Perl_pp_oct
+#define Perl_pp_oct pPerl->Perl_pp_oct
+#undef Perl_pp_open
+#define Perl_pp_open pPerl->Perl_pp_open
+#undef Perl_pp_open_dir
+#define Perl_pp_open_dir pPerl->Perl_pp_open_dir
+#undef Perl_pp_or
+#define Perl_pp_or pPerl->Perl_pp_or
+#undef Perl_pp_orassign
+#define Perl_pp_orassign pPerl->Perl_pp_orassign
+#undef Perl_pp_ord
+#define Perl_pp_ord pPerl->Perl_pp_ord
+#undef Perl_pp_pack
+#define Perl_pp_pack pPerl->Perl_pp_pack
+#undef Perl_pp_padany
+#define Perl_pp_padany pPerl->Perl_pp_padany
+#undef Perl_pp_padav
+#define Perl_pp_padav pPerl->Perl_pp_padav
+#undef Perl_pp_padhv
+#define Perl_pp_padhv pPerl->Perl_pp_padhv
+#undef Perl_pp_padsv
+#define Perl_pp_padsv pPerl->Perl_pp_padsv
+#undef Perl_pp_pipe_op
+#define Perl_pp_pipe_op pPerl->Perl_pp_pipe_op
+#undef Perl_pp_pop
+#define Perl_pp_pop pPerl->Perl_pp_pop
+#undef Perl_pp_pos
+#define Perl_pp_pos pPerl->Perl_pp_pos
+#undef Perl_pp_postdec
+#define Perl_pp_postdec pPerl->Perl_pp_postdec
+#undef Perl_pp_postinc
+#define Perl_pp_postinc pPerl->Perl_pp_postinc
+#undef Perl_pp_pow
+#define Perl_pp_pow pPerl->Perl_pp_pow
+#undef Perl_pp_predec
+#define Perl_pp_predec pPerl->Perl_pp_predec
+#undef Perl_pp_preinc
+#define Perl_pp_preinc pPerl->Perl_pp_preinc
+#undef Perl_pp_print
+#define Perl_pp_print pPerl->Perl_pp_print
+#undef Perl_pp_prototype
+#define Perl_pp_prototype pPerl->Perl_pp_prototype
+#undef Perl_pp_prtf
+#define Perl_pp_prtf pPerl->Perl_pp_prtf
+#undef Perl_pp_push
+#define Perl_pp_push pPerl->Perl_pp_push
+#undef Perl_pp_pushmark
+#define Perl_pp_pushmark pPerl->Perl_pp_pushmark
+#undef Perl_pp_pushre
+#define Perl_pp_pushre pPerl->Perl_pp_pushre
+#undef Perl_pp_qr
+#define Perl_pp_qr pPerl->Perl_pp_qr
+#undef Perl_pp_quotemeta
+#define Perl_pp_quotemeta pPerl->Perl_pp_quotemeta
+#undef Perl_pp_rand
+#define Perl_pp_rand pPerl->Perl_pp_rand
+#undef Perl_pp_range
+#define Perl_pp_range pPerl->Perl_pp_range
+#undef Perl_pp_rcatline
+#define Perl_pp_rcatline pPerl->Perl_pp_rcatline
+#undef Perl_pp_read
+#define Perl_pp_read pPerl->Perl_pp_read
+#undef Perl_pp_readdir
+#define Perl_pp_readdir pPerl->Perl_pp_readdir
+#undef Perl_pp_readline
+#define Perl_pp_readline pPerl->Perl_pp_readline
+#undef Perl_pp_readlink
+#define Perl_pp_readlink pPerl->Perl_pp_readlink
+#undef Perl_pp_recv
+#define Perl_pp_recv pPerl->Perl_pp_recv
+#undef Perl_pp_redo
+#define Perl_pp_redo pPerl->Perl_pp_redo
+#undef Perl_pp_ref
+#define Perl_pp_ref pPerl->Perl_pp_ref
+#undef Perl_pp_refgen
+#define Perl_pp_refgen pPerl->Perl_pp_refgen
+#undef Perl_pp_regcmaybe
+#define Perl_pp_regcmaybe pPerl->Perl_pp_regcmaybe
+#undef Perl_pp_regcomp
+#define Perl_pp_regcomp pPerl->Perl_pp_regcomp
+#undef Perl_pp_regcreset
+#define Perl_pp_regcreset pPerl->Perl_pp_regcreset
+#undef Perl_pp_rename
+#define Perl_pp_rename pPerl->Perl_pp_rename
+#undef Perl_pp_repeat
+#define Perl_pp_repeat pPerl->Perl_pp_repeat
+#undef Perl_pp_require
+#define Perl_pp_require pPerl->Perl_pp_require
+#undef Perl_pp_reset
+#define Perl_pp_reset pPerl->Perl_pp_reset
+#undef Perl_pp_return
+#define Perl_pp_return pPerl->Perl_pp_return
+#undef Perl_pp_reverse
+#define Perl_pp_reverse pPerl->Perl_pp_reverse
+#undef Perl_pp_rewinddir
+#define Perl_pp_rewinddir pPerl->Perl_pp_rewinddir
+#undef Perl_pp_right_shift
+#define Perl_pp_right_shift pPerl->Perl_pp_right_shift
+#undef Perl_pp_rindex
+#define Perl_pp_rindex pPerl->Perl_pp_rindex
+#undef Perl_pp_rmdir
+#define Perl_pp_rmdir pPerl->Perl_pp_rmdir
+#undef Perl_pp_rv2av
+#define Perl_pp_rv2av pPerl->Perl_pp_rv2av
+#undef Perl_pp_rv2cv
+#define Perl_pp_rv2cv pPerl->Perl_pp_rv2cv
+#undef Perl_pp_rv2gv
+#define Perl_pp_rv2gv pPerl->Perl_pp_rv2gv
+#undef Perl_pp_rv2hv
+#define Perl_pp_rv2hv pPerl->Perl_pp_rv2hv
+#undef Perl_pp_rv2sv
+#define Perl_pp_rv2sv pPerl->Perl_pp_rv2sv
+#undef Perl_pp_sassign
+#define Perl_pp_sassign pPerl->Perl_pp_sassign
+#undef Perl_pp_scalar
+#define Perl_pp_scalar pPerl->Perl_pp_scalar
+#undef Perl_pp_schomp
+#define Perl_pp_schomp pPerl->Perl_pp_schomp
+#undef Perl_pp_schop
+#define Perl_pp_schop pPerl->Perl_pp_schop
+#undef Perl_pp_scmp
+#define Perl_pp_scmp pPerl->Perl_pp_scmp
+#undef Perl_pp_scope
+#define Perl_pp_scope pPerl->Perl_pp_scope
+#undef Perl_pp_seek
+#define Perl_pp_seek pPerl->Perl_pp_seek
+#undef Perl_pp_seekdir
+#define Perl_pp_seekdir pPerl->Perl_pp_seekdir
+#undef Perl_pp_select
+#define Perl_pp_select pPerl->Perl_pp_select
+#undef Perl_pp_semctl
+#define Perl_pp_semctl pPerl->Perl_pp_semctl
+#undef Perl_pp_semget
+#define Perl_pp_semget pPerl->Perl_pp_semget
+#undef Perl_pp_semop
+#define Perl_pp_semop pPerl->Perl_pp_semop
+#undef Perl_pp_send
+#define Perl_pp_send pPerl->Perl_pp_send
+#undef Perl_pp_seq
+#define Perl_pp_seq pPerl->Perl_pp_seq
+#undef Perl_pp_setpgrp
+#define Perl_pp_setpgrp pPerl->Perl_pp_setpgrp
+#undef Perl_pp_setpriority
+#define Perl_pp_setpriority pPerl->Perl_pp_setpriority
+#undef Perl_pp_sge
+#define Perl_pp_sge pPerl->Perl_pp_sge
+#undef Perl_pp_sgrent
+#define Perl_pp_sgrent pPerl->Perl_pp_sgrent
+#undef Perl_pp_sgt
+#define Perl_pp_sgt pPerl->Perl_pp_sgt
+#undef Perl_pp_shift
+#define Perl_pp_shift pPerl->Perl_pp_shift
+#undef Perl_pp_shmctl
+#define Perl_pp_shmctl pPerl->Perl_pp_shmctl
+#undef Perl_pp_shmget
+#define Perl_pp_shmget pPerl->Perl_pp_shmget
+#undef Perl_pp_shmread
+#define Perl_pp_shmread pPerl->Perl_pp_shmread
+#undef Perl_pp_shmwrite
+#define Perl_pp_shmwrite pPerl->Perl_pp_shmwrite
+#undef Perl_pp_shostent
+#define Perl_pp_shostent pPerl->Perl_pp_shostent
+#undef Perl_pp_shutdown
+#define Perl_pp_shutdown pPerl->Perl_pp_shutdown
+#undef Perl_pp_sin
+#define Perl_pp_sin pPerl->Perl_pp_sin
+#undef Perl_pp_sle
+#define Perl_pp_sle pPerl->Perl_pp_sle
+#undef Perl_pp_sleep
+#define Perl_pp_sleep pPerl->Perl_pp_sleep
+#undef Perl_pp_slt
+#define Perl_pp_slt pPerl->Perl_pp_slt
+#undef Perl_pp_sne
+#define Perl_pp_sne pPerl->Perl_pp_sne
+#undef Perl_pp_snetent
+#define Perl_pp_snetent pPerl->Perl_pp_snetent
+#undef Perl_pp_socket
+#define Perl_pp_socket pPerl->Perl_pp_socket
+#undef Perl_pp_sockpair
+#define Perl_pp_sockpair pPerl->Perl_pp_sockpair
+#undef Perl_pp_sort
+#define Perl_pp_sort pPerl->Perl_pp_sort
+#undef Perl_pp_splice
+#define Perl_pp_splice pPerl->Perl_pp_splice
+#undef Perl_pp_split
+#define Perl_pp_split pPerl->Perl_pp_split
+#undef Perl_pp_sprintf
+#define Perl_pp_sprintf pPerl->Perl_pp_sprintf
+#undef Perl_pp_sprotoent
+#define Perl_pp_sprotoent pPerl->Perl_pp_sprotoent
+#undef Perl_pp_spwent
+#define Perl_pp_spwent pPerl->Perl_pp_spwent
+#undef Perl_pp_sqrt
+#define Perl_pp_sqrt pPerl->Perl_pp_sqrt
+#undef Perl_pp_srand
+#define Perl_pp_srand pPerl->Perl_pp_srand
+#undef Perl_pp_srefgen
+#define Perl_pp_srefgen pPerl->Perl_pp_srefgen
+#undef Perl_pp_sselect
+#define Perl_pp_sselect pPerl->Perl_pp_sselect
+#undef Perl_pp_sservent
+#define Perl_pp_sservent pPerl->Perl_pp_sservent
+#undef Perl_pp_ssockopt
+#define Perl_pp_ssockopt pPerl->Perl_pp_ssockopt
+#undef Perl_pp_stat
+#define Perl_pp_stat pPerl->Perl_pp_stat
+#undef Perl_pp_stringify
+#define Perl_pp_stringify pPerl->Perl_pp_stringify
+#undef Perl_pp_stub
+#define Perl_pp_stub pPerl->Perl_pp_stub
+#undef Perl_pp_study
+#define Perl_pp_study pPerl->Perl_pp_study
+#undef Perl_pp_subst
+#define Perl_pp_subst pPerl->Perl_pp_subst
+#undef Perl_pp_substcont
+#define Perl_pp_substcont pPerl->Perl_pp_substcont
+#undef Perl_pp_substr
+#define Perl_pp_substr pPerl->Perl_pp_substr
+#undef Perl_pp_subtract
+#define Perl_pp_subtract pPerl->Perl_pp_subtract
+#undef Perl_pp_symlink
+#define Perl_pp_symlink pPerl->Perl_pp_symlink
+#undef Perl_pp_syscall
+#define Perl_pp_syscall pPerl->Perl_pp_syscall
+#undef Perl_pp_sysopen
+#define Perl_pp_sysopen pPerl->Perl_pp_sysopen
+#undef Perl_pp_sysread
+#define Perl_pp_sysread pPerl->Perl_pp_sysread
+#undef Perl_pp_sysseek
+#define Perl_pp_sysseek pPerl->Perl_pp_sysseek
+#undef Perl_pp_system
+#define Perl_pp_system pPerl->Perl_pp_system
+#undef Perl_pp_syswrite
+#define Perl_pp_syswrite pPerl->Perl_pp_syswrite
+#undef Perl_pp_tell
+#define Perl_pp_tell pPerl->Perl_pp_tell
+#undef Perl_pp_telldir
+#define Perl_pp_telldir pPerl->Perl_pp_telldir
+#undef Perl_pp_threadsv
+#define Perl_pp_threadsv pPerl->Perl_pp_threadsv
+#undef Perl_pp_tie
+#define Perl_pp_tie pPerl->Perl_pp_tie
+#undef Perl_pp_tied
+#define Perl_pp_tied pPerl->Perl_pp_tied
+#undef Perl_pp_time
+#define Perl_pp_time pPerl->Perl_pp_time
+#undef Perl_pp_tms
+#define Perl_pp_tms pPerl->Perl_pp_tms
+#undef Perl_pp_trans
+#define Perl_pp_trans pPerl->Perl_pp_trans
+#undef Perl_pp_truncate
+#define Perl_pp_truncate pPerl->Perl_pp_truncate
+#undef Perl_pp_uc
+#define Perl_pp_uc pPerl->Perl_pp_uc
+#undef Perl_pp_ucfirst
+#define Perl_pp_ucfirst pPerl->Perl_pp_ucfirst
+#undef Perl_pp_umask
+#define Perl_pp_umask pPerl->Perl_pp_umask
+#undef Perl_pp_undef
+#define Perl_pp_undef pPerl->Perl_pp_undef
+#undef Perl_pp_unlink
+#define Perl_pp_unlink pPerl->Perl_pp_unlink
+#undef Perl_pp_unpack
+#define Perl_pp_unpack pPerl->Perl_pp_unpack
+#undef Perl_pp_unshift
+#define Perl_pp_unshift pPerl->Perl_pp_unshift
+#undef Perl_pp_unstack
+#define Perl_pp_unstack pPerl->Perl_pp_unstack
+#undef Perl_pp_untie
+#define Perl_pp_untie pPerl->Perl_pp_untie
+#undef Perl_pp_utime
+#define Perl_pp_utime pPerl->Perl_pp_utime
+#undef Perl_pp_values
+#define Perl_pp_values pPerl->Perl_pp_values
+#undef Perl_pp_vec
+#define Perl_pp_vec pPerl->Perl_pp_vec
+#undef Perl_pp_wait
+#define Perl_pp_wait pPerl->Perl_pp_wait
+#undef Perl_pp_waitpid
+#define Perl_pp_waitpid pPerl->Perl_pp_waitpid
+#undef Perl_pp_wantarray
+#define Perl_pp_wantarray pPerl->Perl_pp_wantarray
+#undef Perl_pp_warn
+#define Perl_pp_warn pPerl->Perl_pp_warn
+#undef Perl_pp_xor
+#define Perl_pp_xor pPerl->Perl_pp_xor
+#undef Perl_pregcomp
+#define Perl_pregcomp pPerl->Perl_pregcomp
+#undef Perl_pregexec
+#define Perl_pregexec pPerl->Perl_pregexec
+#undef Perl_pregfree
+#define Perl_pregfree pPerl->Perl_pregfree
+#undef Perl_prepend_elem
+#define Perl_prepend_elem pPerl->Perl_prepend_elem
+#undef Perl_push_return
+#define Perl_push_return pPerl->Perl_push_return
+#undef Perl_push_scope
+#define Perl_push_scope pPerl->Perl_push_scope
+#undef Perl_pv_display
+#define Perl_pv_display pPerl->Perl_pv_display
+#undef Perl_realloc
+#define Perl_realloc pPerl->Perl_realloc
+#undef Perl_ref
+#define Perl_ref pPerl->Perl_ref
+#undef Perl_refkids
+#define Perl_refkids pPerl->Perl_refkids
+#undef Perl_regdump
+#define Perl_regdump pPerl->Perl_regdump
+#undef Perl_regexec_flags
+#define Perl_regexec_flags pPerl->Perl_regexec_flags
+#undef Perl_reginitcolors
+#define Perl_reginitcolors pPerl->Perl_reginitcolors
+#undef Perl_regnext
+#define Perl_regnext pPerl->Perl_regnext
+#undef Perl_regprop
+#define Perl_regprop pPerl->Perl_regprop
+#undef Perl_repeatcpy
+#define Perl_repeatcpy pPerl->Perl_repeatcpy
+#undef Perl_require_pv
+#define Perl_require_pv pPerl->Perl_require_pv
+#undef Perl_rninstr
+#define Perl_rninstr pPerl->Perl_rninstr
+#undef Perl_rsignal
+#define Perl_rsignal pPerl->Perl_rsignal
+#undef Perl_rsignal_restore
+#define Perl_rsignal_restore pPerl->Perl_rsignal_restore
+#undef Perl_rsignal_save
+#define Perl_rsignal_save pPerl->Perl_rsignal_save
+#undef Perl_rsignal_state
+#define Perl_rsignal_state pPerl->Perl_rsignal_state
+#undef Perl_runops_debug
+#define Perl_runops_debug pPerl->Perl_runops_debug
+#undef Perl_runops_standard
+#define Perl_runops_standard pPerl->Perl_runops_standard
+#undef Perl_rxres_free
+#define Perl_rxres_free pPerl->Perl_rxres_free
+#undef Perl_rxres_restore
+#define Perl_rxres_restore pPerl->Perl_rxres_restore
+#undef Perl_rxres_save
+#define Perl_rxres_save pPerl->Perl_rxres_save
+#undef Perl_safesyscalloc
+#define Perl_safesyscalloc pPerl->Perl_safesyscalloc
+#undef Perl_safesysfree
+#define Perl_safesysfree pPerl->Perl_safesysfree
+#undef Perl_safesysmalloc
+#define Perl_safesysmalloc pPerl->Perl_safesysmalloc
+#undef Perl_safesysrealloc
+#define Perl_safesysrealloc pPerl->Perl_safesysrealloc
+#undef Perl_safexcalloc
+#define Perl_safexcalloc pPerl->Perl_safexcalloc
+#undef Perl_safexfree
+#define Perl_safexfree pPerl->Perl_safexfree
+#undef Perl_safexmalloc
+#define Perl_safexmalloc pPerl->Perl_safexmalloc
+#undef Perl_safexrealloc
+#define Perl_safexrealloc pPerl->Perl_safexrealloc
+#undef Perl_same_dirent
+#define Perl_same_dirent pPerl->Perl_same_dirent
+#undef Perl_save_I16
+#define Perl_save_I16 pPerl->Perl_save_I16
+#undef Perl_save_I32
+#define Perl_save_I32 pPerl->Perl_save_I32
+#undef Perl_save_aelem
+#define Perl_save_aelem pPerl->Perl_save_aelem
+#undef Perl_save_alloc
+#define Perl_save_alloc pPerl->Perl_save_alloc
+#undef Perl_save_aptr
+#define Perl_save_aptr pPerl->Perl_save_aptr
+#undef Perl_save_ary
+#define Perl_save_ary pPerl->Perl_save_ary
+#undef Perl_save_clearsv
+#define Perl_save_clearsv pPerl->Perl_save_clearsv
+#undef Perl_save_delete
+#define Perl_save_delete pPerl->Perl_save_delete
+#undef Perl_save_destructor
+#define Perl_save_destructor pPerl->Perl_save_destructor
+#undef Perl_save_freeop
+#define Perl_save_freeop pPerl->Perl_save_freeop
+#undef Perl_save_freepv
+#define Perl_save_freepv pPerl->Perl_save_freepv
+#undef Perl_save_freesv
+#define Perl_save_freesv pPerl->Perl_save_freesv
+#undef Perl_save_generic_svref
+#define Perl_save_generic_svref pPerl->Perl_save_generic_svref
+#undef Perl_save_gp
+#define Perl_save_gp pPerl->Perl_save_gp
+#undef Perl_save_hash
+#define Perl_save_hash pPerl->Perl_save_hash
+#undef Perl_save_helem
+#define Perl_save_helem pPerl->Perl_save_helem
+#undef Perl_save_hints
+#define Perl_save_hints pPerl->Perl_save_hints
+#undef Perl_save_hptr
+#define Perl_save_hptr pPerl->Perl_save_hptr
+#undef Perl_save_int
+#define Perl_save_int pPerl->Perl_save_int
+#undef Perl_save_item
+#define Perl_save_item pPerl->Perl_save_item
+#undef Perl_save_iv
+#define Perl_save_iv pPerl->Perl_save_iv
+#undef Perl_save_list
+#define Perl_save_list pPerl->Perl_save_list
+#undef Perl_save_long
+#define Perl_save_long pPerl->Perl_save_long
+#undef Perl_save_nogv
+#define Perl_save_nogv pPerl->Perl_save_nogv
+#undef Perl_save_op
+#define Perl_save_op pPerl->Perl_save_op
+#undef Perl_save_pptr
+#define Perl_save_pptr pPerl->Perl_save_pptr
+#undef Perl_save_re_context
+#define Perl_save_re_context pPerl->Perl_save_re_context
+#undef Perl_save_scalar
+#define Perl_save_scalar pPerl->Perl_save_scalar
+#undef Perl_save_sptr
+#define Perl_save_sptr pPerl->Perl_save_sptr
+#undef Perl_save_svref
+#define Perl_save_svref pPerl->Perl_save_svref
+#undef Perl_save_threadsv
+#define Perl_save_threadsv pPerl->Perl_save_threadsv
+#undef Perl_savepv
+#define Perl_savepv pPerl->Perl_savepv
+#undef Perl_savepvn
+#define Perl_savepvn pPerl->Perl_savepvn
+#undef Perl_savestack_grow
+#define Perl_savestack_grow pPerl->Perl_savestack_grow
+#undef Perl_sawparens
+#define Perl_sawparens pPerl->Perl_sawparens
+#undef Perl_scalar
+#define Perl_scalar pPerl->Perl_scalar
+#undef Perl_scalarkids
+#define Perl_scalarkids pPerl->Perl_scalarkids
+#undef Perl_scalarseq
+#define Perl_scalarseq pPerl->Perl_scalarseq
+#undef Perl_scalarvoid
+#define Perl_scalarvoid pPerl->Perl_scalarvoid
+#undef Perl_scan_bin
+#define Perl_scan_bin pPerl->Perl_scan_bin
+#undef Perl_scan_hex
+#define Perl_scan_hex pPerl->Perl_scan_hex
+#undef Perl_scan_num
+#define Perl_scan_num pPerl->Perl_scan_num
+#undef Perl_scan_oct
+#define Perl_scan_oct pPerl->Perl_scan_oct
+#undef Perl_scope
+#define Perl_scope pPerl->Perl_scope
+#undef Perl_screaminstr
+#define Perl_screaminstr pPerl->Perl_screaminstr
+#undef Perl_set_numeric_local
+#define Perl_set_numeric_local pPerl->Perl_set_numeric_local
+#undef Perl_set_numeric_standard
+#define Perl_set_numeric_standard pPerl->Perl_set_numeric_standard
+#undef Perl_setdefout
+#define Perl_setdefout pPerl->Perl_setdefout
+#undef Perl_setenv_getix
+#define Perl_setenv_getix pPerl->Perl_setenv_getix
+#undef Perl_share_hek
+#define Perl_share_hek pPerl->Perl_share_hek
+#undef Perl_sharepvn
+#define Perl_sharepvn pPerl->Perl_sharepvn
+#undef Perl_sighandler
+#define Perl_sighandler pPerl->Perl_sighandler
+#undef Perl_stack_grow
+#define Perl_stack_grow pPerl->Perl_stack_grow
+#undef Perl_start_subparse
+#define Perl_start_subparse pPerl->Perl_start_subparse
+#undef Perl_sub_crush_depth
+#define Perl_sub_crush_depth pPerl->Perl_sub_crush_depth
+#undef Perl_sv_2bool
+#define Perl_sv_2bool pPerl->Perl_sv_2bool
+#undef Perl_sv_2cv
+#define Perl_sv_2cv pPerl->Perl_sv_2cv
+#undef Perl_sv_2io
+#define Perl_sv_2io pPerl->Perl_sv_2io
+#undef Perl_sv_2iv
+#define Perl_sv_2iv pPerl->Perl_sv_2iv
+#undef Perl_sv_2mortal
+#define Perl_sv_2mortal pPerl->Perl_sv_2mortal
+#undef Perl_sv_2nv
+#define Perl_sv_2nv pPerl->Perl_sv_2nv
+#undef Perl_sv_2pv
+#define Perl_sv_2pv pPerl->Perl_sv_2pv
+#undef Perl_sv_2pv_nolen
+#define Perl_sv_2pv_nolen pPerl->Perl_sv_2pv_nolen
+#undef Perl_sv_2uv
+#define Perl_sv_2uv pPerl->Perl_sv_2uv
+#undef Perl_sv_add_arena
+#define Perl_sv_add_arena pPerl->Perl_sv_add_arena
+#undef Perl_sv_backoff
+#define Perl_sv_backoff pPerl->Perl_sv_backoff
+#undef Perl_sv_bless
+#define Perl_sv_bless pPerl->Perl_sv_bless
+#undef Perl_sv_catpv
+#define Perl_sv_catpv pPerl->Perl_sv_catpv
+#undef Perl_sv_catpv_mg
+#define Perl_sv_catpv_mg pPerl->Perl_sv_catpv_mg
+#undef Perl_sv_catpvf
+#define Perl_sv_catpvf pPerl->Perl_sv_catpvf
+#undef Perl_sv_catpvf_mg
+#define Perl_sv_catpvf_mg pPerl->Perl_sv_catpvf_mg
+#undef Perl_sv_catpvn
+#define Perl_sv_catpvn pPerl->Perl_sv_catpvn
+#undef Perl_sv_catpvn_mg
+#define Perl_sv_catpvn_mg pPerl->Perl_sv_catpvn_mg
+#undef Perl_sv_catsv
+#define Perl_sv_catsv pPerl->Perl_sv_catsv
+#undef Perl_sv_catsv_mg
+#define Perl_sv_catsv_mg pPerl->Perl_sv_catsv_mg
+#undef Perl_sv_chop
+#define Perl_sv_chop pPerl->Perl_sv_chop
+#undef Perl_sv_clean_all
+#define Perl_sv_clean_all pPerl->Perl_sv_clean_all
+#undef Perl_sv_clean_objs
+#define Perl_sv_clean_objs pPerl->Perl_sv_clean_objs
+#undef Perl_sv_clear
+#define Perl_sv_clear pPerl->Perl_sv_clear
+#undef Perl_sv_cmp
+#define Perl_sv_cmp pPerl->Perl_sv_cmp
+#undef Perl_sv_cmp_locale
+#define Perl_sv_cmp_locale pPerl->Perl_sv_cmp_locale
+#undef Perl_sv_collxfrm
+#define Perl_sv_collxfrm pPerl->Perl_sv_collxfrm
+#undef Perl_sv_compile_2op
+#define Perl_sv_compile_2op pPerl->Perl_sv_compile_2op
+#undef Perl_sv_dec
+#define Perl_sv_dec pPerl->Perl_sv_dec
+#undef Perl_sv_derived_from
+#define Perl_sv_derived_from pPerl->Perl_sv_derived_from
+#undef Perl_sv_dump
+#define Perl_sv_dump pPerl->Perl_sv_dump
+#undef Perl_sv_eq
+#define Perl_sv_eq pPerl->Perl_sv_eq
+#undef Perl_sv_force_normal
+#define Perl_sv_force_normal pPerl->Perl_sv_force_normal
+#undef Perl_sv_free
+#define Perl_sv_free pPerl->Perl_sv_free
+#undef Perl_sv_free_arenas
+#define Perl_sv_free_arenas pPerl->Perl_sv_free_arenas
+#undef Perl_sv_gets
+#define Perl_sv_gets pPerl->Perl_sv_gets
+#undef Perl_sv_grow
+#define Perl_sv_grow pPerl->Perl_sv_grow
+#undef Perl_sv_inc
+#define Perl_sv_inc pPerl->Perl_sv_inc
+#undef Perl_sv_insert
+#define Perl_sv_insert pPerl->Perl_sv_insert
+#undef Perl_sv_isa
+#define Perl_sv_isa pPerl->Perl_sv_isa
+#undef Perl_sv_isobject
+#define Perl_sv_isobject pPerl->Perl_sv_isobject
+#undef Perl_sv_iv
+#define Perl_sv_iv pPerl->Perl_sv_iv
+#undef Perl_sv_len
+#define Perl_sv_len pPerl->Perl_sv_len
+#undef Perl_sv_len_utf8
+#define Perl_sv_len_utf8 pPerl->Perl_sv_len_utf8
+#undef Perl_sv_magic
+#define Perl_sv_magic pPerl->Perl_sv_magic
+#undef Perl_sv_mortalcopy
+#define Perl_sv_mortalcopy pPerl->Perl_sv_mortalcopy
+#undef Perl_sv_newmortal
+#define Perl_sv_newmortal pPerl->Perl_sv_newmortal
+#undef Perl_sv_newref
+#define Perl_sv_newref pPerl->Perl_sv_newref
+#undef Perl_sv_nv
+#define Perl_sv_nv pPerl->Perl_sv_nv
+#undef Perl_sv_peek
+#define Perl_sv_peek pPerl->Perl_sv_peek
+#undef Perl_sv_pos_b2u
+#define Perl_sv_pos_b2u pPerl->Perl_sv_pos_b2u
+#undef Perl_sv_pos_u2b
+#define Perl_sv_pos_u2b pPerl->Perl_sv_pos_u2b
+#undef Perl_sv_pv
+#define Perl_sv_pv pPerl->Perl_sv_pv
+#undef Perl_sv_pvn
+#define Perl_sv_pvn pPerl->Perl_sv_pvn
+#undef Perl_sv_pvn_force
+#define Perl_sv_pvn_force pPerl->Perl_sv_pvn_force
+#undef Perl_sv_reftype
+#define Perl_sv_reftype pPerl->Perl_sv_reftype
+#undef Perl_sv_replace
+#define Perl_sv_replace pPerl->Perl_sv_replace
+#undef Perl_sv_report_used
+#define Perl_sv_report_used pPerl->Perl_sv_report_used
+#undef Perl_sv_reset
+#define Perl_sv_reset pPerl->Perl_sv_reset
+#undef Perl_sv_rvweaken
+#define Perl_sv_rvweaken pPerl->Perl_sv_rvweaken
+#undef Perl_sv_setiv
+#define Perl_sv_setiv pPerl->Perl_sv_setiv
+#undef Perl_sv_setiv_mg
+#define Perl_sv_setiv_mg pPerl->Perl_sv_setiv_mg
+#undef Perl_sv_setnv
+#define Perl_sv_setnv pPerl->Perl_sv_setnv
+#undef Perl_sv_setnv_mg
+#define Perl_sv_setnv_mg pPerl->Perl_sv_setnv_mg
+#undef Perl_sv_setpv
+#define Perl_sv_setpv pPerl->Perl_sv_setpv
+#undef Perl_sv_setpv_mg
+#define Perl_sv_setpv_mg pPerl->Perl_sv_setpv_mg
+#undef Perl_sv_setpvf
+#define Perl_sv_setpvf pPerl->Perl_sv_setpvf
+#undef Perl_sv_setpvf_mg
+#define Perl_sv_setpvf_mg pPerl->Perl_sv_setpvf_mg
+#undef Perl_sv_setpviv
+#define Perl_sv_setpviv pPerl->Perl_sv_setpviv
+#undef Perl_sv_setpviv_mg
+#define Perl_sv_setpviv_mg pPerl->Perl_sv_setpviv_mg
+#undef Perl_sv_setpvn
+#define Perl_sv_setpvn pPerl->Perl_sv_setpvn
+#undef Perl_sv_setpvn_mg
+#define Perl_sv_setpvn_mg pPerl->Perl_sv_setpvn_mg
+#undef Perl_sv_setref_iv
+#define Perl_sv_setref_iv pPerl->Perl_sv_setref_iv
+#undef Perl_sv_setref_nv
+#define Perl_sv_setref_nv pPerl->Perl_sv_setref_nv
+#undef Perl_sv_setref_pv
+#define Perl_sv_setref_pv pPerl->Perl_sv_setref_pv
+#undef Perl_sv_setref_pvn
+#define Perl_sv_setref_pvn pPerl->Perl_sv_setref_pvn
+#undef Perl_sv_setsv
+#define Perl_sv_setsv pPerl->Perl_sv_setsv
+#undef Perl_sv_setsv_mg
+#define Perl_sv_setsv_mg pPerl->Perl_sv_setsv_mg
+#undef Perl_sv_setuv
+#define Perl_sv_setuv pPerl->Perl_sv_setuv
+#undef Perl_sv_setuv_mg
+#define Perl_sv_setuv_mg pPerl->Perl_sv_setuv_mg
+#undef Perl_sv_taint
+#define Perl_sv_taint pPerl->Perl_sv_taint
+#undef Perl_sv_tainted
+#define Perl_sv_tainted pPerl->Perl_sv_tainted
+#undef Perl_sv_true
+#define Perl_sv_true pPerl->Perl_sv_true
+#undef Perl_sv_unmagic
+#define Perl_sv_unmagic pPerl->Perl_sv_unmagic
+#undef Perl_sv_unref
+#define Perl_sv_unref pPerl->Perl_sv_unref
+#undef Perl_sv_untaint
+#define Perl_sv_untaint pPerl->Perl_sv_untaint
+#undef Perl_sv_upgrade
+#define Perl_sv_upgrade pPerl->Perl_sv_upgrade
+#undef Perl_sv_usepvn
+#define Perl_sv_usepvn pPerl->Perl_sv_usepvn
+#undef Perl_sv_usepvn_mg
+#define Perl_sv_usepvn_mg pPerl->Perl_sv_usepvn_mg
+#undef Perl_sv_uv
+#define Perl_sv_uv pPerl->Perl_sv_uv
+#undef Perl_sv_vcatpvfn
+#define Perl_sv_vcatpvfn pPerl->Perl_sv_vcatpvfn
+#undef Perl_sv_vsetpvfn
+#define Perl_sv_vsetpvfn pPerl->Perl_sv_vsetpvfn
+#undef Perl_swash_fetch
+#define Perl_swash_fetch pPerl->Perl_swash_fetch
+#undef Perl_swash_init
+#define Perl_swash_init pPerl->Perl_swash_init
+#undef Perl_taint_env
+#define Perl_taint_env pPerl->Perl_taint_env
+#undef Perl_taint_proper
+#define Perl_taint_proper pPerl->Perl_taint_proper
+#undef Perl_tmps_grow
+#define Perl_tmps_grow pPerl->Perl_tmps_grow
+#undef Perl_to_uni_lower
+#define Perl_to_uni_lower pPerl->Perl_to_uni_lower
+#undef Perl_to_uni_lower_lc
+#define Perl_to_uni_lower_lc pPerl->Perl_to_uni_lower_lc
+#undef Perl_to_uni_title
+#define Perl_to_uni_title pPerl->Perl_to_uni_title
+#undef Perl_to_uni_title_lc
+#define Perl_to_uni_title_lc pPerl->Perl_to_uni_title_lc
+#undef Perl_to_uni_upper
+#define Perl_to_uni_upper pPerl->Perl_to_uni_upper
+#undef Perl_to_uni_upper_lc
+#define Perl_to_uni_upper_lc pPerl->Perl_to_uni_upper_lc
+#undef Perl_to_utf8_lower
+#define Perl_to_utf8_lower pPerl->Perl_to_utf8_lower
+#undef Perl_to_utf8_title
+#define Perl_to_utf8_title pPerl->Perl_to_utf8_title
+#undef Perl_to_utf8_upper
+#define Perl_to_utf8_upper pPerl->Perl_to_utf8_upper
+#undef Perl_unlnk
+#define Perl_unlnk pPerl->Perl_unlnk
+#undef Perl_unlock_condpair
+#define Perl_unlock_condpair pPerl->Perl_unlock_condpair
+#undef Perl_unshare_hek
+#define Perl_unshare_hek pPerl->Perl_unshare_hek
+#undef Perl_unsharepvn
+#define Perl_unsharepvn pPerl->Perl_unsharepvn
+#undef Perl_utf16_to_utf8
+#define Perl_utf16_to_utf8 pPerl->Perl_utf16_to_utf8
+#undef Perl_utf16_to_utf8_reversed
+#define Perl_utf16_to_utf8_reversed pPerl->Perl_utf16_to_utf8_reversed
+#undef Perl_utf8_distance
+#define Perl_utf8_distance pPerl->Perl_utf8_distance
+#undef Perl_utf8_hop
+#define Perl_utf8_hop pPerl->Perl_utf8_hop
+#undef Perl_utf8_to_uv
+#define Perl_utf8_to_uv pPerl->Perl_utf8_to_uv
+#undef Perl_utilize
+#define Perl_utilize pPerl->Perl_utilize
+#undef Perl_uv_to_utf8
+#define Perl_uv_to_utf8 pPerl->Perl_uv_to_utf8
+#undef Perl_vivify_defelem
+#define Perl_vivify_defelem pPerl->Perl_vivify_defelem
+#undef Perl_vivify_ref
+#define Perl_vivify_ref pPerl->Perl_vivify_ref
+#undef Perl_wait4pid
+#define Perl_wait4pid pPerl->Perl_wait4pid
+#undef Perl_warn
+#define Perl_warn pPerl->Perl_warn
+#undef Perl_warner
+#define Perl_warner pPerl->Perl_warner
+#undef Perl_watch
+#define Perl_watch pPerl->Perl_watch
+#undef Perl_whichsig
+#define Perl_whichsig pPerl->Perl_whichsig
+#undef Perl_yydestruct
+#define Perl_yydestruct pPerl->Perl_yydestruct
+#undef Perl_yyerror
+#define Perl_yyerror pPerl->Perl_yyerror
+#undef Perl_yylex
+#define Perl_yylex pPerl->Perl_yylex
+#undef Perl_yyparse
+#define Perl_yyparse pPerl->Perl_yyparse
+#undef Perl_yywarn
+#define Perl_yywarn pPerl->Perl_yywarn
#undef add_data
#define add_data pPerl->Perl_add_data
-#undef amagic_call
-#define amagic_call pPerl->Perl_amagic_call
#undef amagic_cmp
#define amagic_cmp pPerl->Perl_amagic_cmp
#undef amagic_cmp_locale
@@ -805,196 +2759,28 @@
#define amagic_ncmp pPerl->Perl_amagic_ncmp
#undef ao
#define ao pPerl->Perl_ao
-#undef append_elem
-#define append_elem pPerl->Perl_append_elem
-#undef append_list
-#define append_list pPerl->Perl_append_list
-#undef apply
-#define apply pPerl->Perl_apply
#undef asIV
#define asIV pPerl->Perl_asIV
#undef asUV
#define asUV pPerl->Perl_asUV
-#undef assertref
-#define assertref pPerl->Perl_assertref
-#undef av_clear
-#define av_clear pPerl->Perl_av_clear
-#undef av_extend
-#define av_extend pPerl->Perl_av_extend
-#undef av_fake
-#define av_fake pPerl->Perl_av_fake
-#undef av_fetch
-#define av_fetch pPerl->Perl_av_fetch
-#undef av_fill
-#define av_fill pPerl->Perl_av_fill
-#undef av_len
-#define av_len pPerl->Perl_av_len
-#undef av_make
-#define av_make pPerl->Perl_av_make
-#undef av_pop
-#define av_pop pPerl->Perl_av_pop
-#undef av_push
-#define av_push pPerl->Perl_av_push
-#undef av_reify
-#define av_reify pPerl->Perl_av_reify
-#undef av_shift
-#define av_shift pPerl->Perl_av_shift
-#undef av_store
-#define av_store pPerl->Perl_av_store
-#undef av_undef
-#define av_undef pPerl->Perl_av_undef
-#undef av_unshift
-#define av_unshift pPerl->Perl_av_unshift
-#undef avhv_exists_ent
-#define avhv_exists_ent pPerl->Perl_avhv_exists_ent
-#undef avhv_fetch_ent
-#define avhv_fetch_ent pPerl->Perl_avhv_fetch_ent
#undef avhv_index_sv
#define avhv_index_sv pPerl->Perl_avhv_index_sv
-#undef avhv_iternext
-#define avhv_iternext pPerl->Perl_avhv_iternext
-#undef avhv_iterval
-#define avhv_iterval pPerl->Perl_avhv_iterval
-#undef avhv_keys
-#define avhv_keys pPerl->Perl_avhv_keys
#undef bad_type
#define bad_type pPerl->Perl_bad_type
-#undef bind_match
-#define bind_match pPerl->Perl_bind_match
-#undef block_end
-#define block_end pPerl->Perl_block_end
-#undef block_gimme
-#define block_gimme pPerl->Perl_block_gimme
-#undef block_start
-#define block_start pPerl->Perl_block_start
-#undef boot_core_UNIVERSAL
-#define boot_core_UNIVERSAL pPerl->Perl_boot_core_UNIVERSAL
-#undef bset_obj_store
-#define bset_obj_store pPerl->Perl_bset_obj_store
#undef cache_re
#define cache_re pPerl->Perl_cache_re
-#undef call_list
-#define call_list pPerl->Perl_call_list
#undef call_list_body
#define call_list_body pPerl->Perl_call_list_body
-#undef cando
-#define cando pPerl->Perl_cando
-#undef cast_i32
-#define cast_i32 pPerl->Perl_cast_i32
-#undef cast_iv
-#define cast_iv pPerl->Perl_cast_iv
-#undef cast_ulong
-#define cast_ulong pPerl->Perl_cast_ulong
-#undef cast_uv
-#define cast_uv pPerl->Perl_cast_uv
#undef check_uni
#define check_uni pPerl->Perl_check_uni
#undef checkcomma
#define checkcomma pPerl->Perl_checkcomma
-#undef ck_anoncode
-#define ck_anoncode pPerl->Perl_ck_anoncode
-#undef ck_bitop
-#define ck_bitop pPerl->Perl_ck_bitop
-#undef ck_concat
-#define ck_concat pPerl->Perl_ck_concat
-#undef ck_defined
-#define ck_defined pPerl->Perl_ck_defined
-#undef ck_delete
-#define ck_delete pPerl->Perl_ck_delete
-#undef ck_eof
-#define ck_eof pPerl->Perl_ck_eof
-#undef ck_eval
-#define ck_eval pPerl->Perl_ck_eval
-#undef ck_exec
-#define ck_exec pPerl->Perl_ck_exec
-#undef ck_exists
-#define ck_exists pPerl->Perl_ck_exists
-#undef ck_ftst
-#define ck_ftst pPerl->Perl_ck_ftst
-#undef ck_fun
-#define ck_fun pPerl->Perl_ck_fun
-#undef ck_fun_locale
-#define ck_fun_locale pPerl->Perl_ck_fun_locale
-#undef ck_glob
-#define ck_glob pPerl->Perl_ck_glob
-#undef ck_grep
-#define ck_grep pPerl->Perl_ck_grep
-#undef ck_index
-#define ck_index pPerl->Perl_ck_index
-#undef ck_lengthconst
-#define ck_lengthconst pPerl->Perl_ck_lengthconst
-#undef ck_lfun
-#define ck_lfun pPerl->Perl_ck_lfun
-#undef ck_listiob
-#define ck_listiob pPerl->Perl_ck_listiob
-#undef ck_match
-#define ck_match pPerl->Perl_ck_match
-#undef ck_null
-#define ck_null pPerl->Perl_ck_null
-#undef ck_repeat
-#define ck_repeat pPerl->Perl_ck_repeat
-#undef ck_require
-#define ck_require pPerl->Perl_ck_require
-#undef ck_rfun
-#define ck_rfun pPerl->Perl_ck_rfun
-#undef ck_rvconst
-#define ck_rvconst pPerl->Perl_ck_rvconst
-#undef ck_scmp
-#define ck_scmp pPerl->Perl_ck_scmp
-#undef ck_select
-#define ck_select pPerl->Perl_ck_select
-#undef ck_shift
-#define ck_shift pPerl->Perl_ck_shift
-#undef ck_sort
-#define ck_sort pPerl->Perl_ck_sort
-#undef ck_spair
-#define ck_spair pPerl->Perl_ck_spair
-#undef ck_split
-#define ck_split pPerl->Perl_ck_split
-#undef ck_subr
-#define ck_subr pPerl->Perl_ck_subr
-#undef ck_svconst
-#define ck_svconst pPerl->Perl_ck_svconst
-#undef ck_trunc
-#define ck_trunc pPerl->Perl_ck_trunc
#undef clear_re
#define clear_re pPerl->Perl_clear_re
-#undef condpair_magic
-#define condpair_magic pPerl->Perl_condpair_magic
-#undef convert
-#define convert pPerl->Perl_convert
-#undef croak
-#define croak pPerl->Perl_croak
-#undef cv_ckproto
-#define cv_ckproto pPerl->Perl_cv_ckproto
-#undef cv_clone
-#define cv_clone pPerl->Perl_cv_clone
#undef cv_clone2
#define cv_clone2 pPerl->Perl_cv_clone2
-#undef cv_const_sv
-#define cv_const_sv pPerl->Perl_cv_const_sv
-#undef cv_undef
-#define cv_undef pPerl->Perl_cv_undef
-#undef cx_dump
-#define cx_dump pPerl->Perl_cx_dump
-#undef cxinc
-#define cxinc pPerl->Perl_cxinc
-#undef deb
-#define deb pPerl->Perl_deb
-#undef deb_growlevel
-#define deb_growlevel pPerl->Perl_deb_growlevel
-#undef debop
-#define debop pPerl->Perl_debop
#undef debprof
#define debprof pPerl->Perl_debprof
-#undef debprofdump
-#define debprofdump pPerl->Perl_debprofdump
-#undef debstack
-#define debstack pPerl->Perl_debstack
-#undef debstackptrs
-#define debstackptrs pPerl->Perl_debstackptrs
-#undef default_protect
-#define default_protect pPerl->Perl_default_protect
#undef del_he
#define del_he pPerl->Perl_del_he
#undef del_sv
@@ -1007,94 +2793,20 @@
#define del_xpv pPerl->Perl_del_xpv
#undef del_xrv
#define del_xrv pPerl->Perl_del_xrv
-#undef delimcpy
-#define delimcpy pPerl->Perl_delimcpy
#undef depcom
#define depcom pPerl->Perl_depcom
-#undef deprecate
-#define deprecate pPerl->Perl_deprecate
-#undef die
-#define die pPerl->Perl_die
-#undef die_where
-#define die_where pPerl->Perl_die_where
#undef div128
#define div128 pPerl->Perl_div128
-#undef do_aexec
-#define do_aexec pPerl->Perl_do_aexec
#undef do_aspawn
#define do_aspawn pPerl->Perl_do_aspawn
-#undef do_binmode
-#define do_binmode pPerl->Perl_do_binmode
-#undef do_chomp
-#define do_chomp pPerl->Perl_do_chomp
-#undef do_chop
-#define do_chop pPerl->Perl_do_chop
#undef do_clean_all
#define do_clean_all pPerl->Perl_do_clean_all
#undef do_clean_named_objs
#define do_clean_named_objs pPerl->Perl_do_clean_named_objs
#undef do_clean_objs
#define do_clean_objs pPerl->Perl_do_clean_objs
-#undef do_close
-#define do_close pPerl->Perl_do_close
-#undef do_eof
-#define do_eof pPerl->Perl_do_eof
-#undef do_exec
-#define do_exec pPerl->Perl_do_exec
-#undef do_exec3
-#define do_exec3 pPerl->Perl_do_exec3
-#undef do_execfree
-#define do_execfree pPerl->Perl_do_execfree
-#undef do_gv_dump
-#define do_gv_dump pPerl->Perl_do_gv_dump
-#undef do_gvgv_dump
-#define do_gvgv_dump pPerl->Perl_do_gvgv_dump
-#undef do_hv_dump
-#define do_hv_dump pPerl->Perl_do_hv_dump
-#undef do_ipcctl
-#define do_ipcctl pPerl->Perl_do_ipcctl
-#undef do_ipcget
-#define do_ipcget pPerl->Perl_do_ipcget
-#undef do_join
-#define do_join pPerl->Perl_do_join
-#undef do_kv
-#define do_kv pPerl->Perl_do_kv
-#undef do_magic_dump
-#define do_magic_dump pPerl->Perl_do_magic_dump
-#undef do_msgrcv
-#define do_msgrcv pPerl->Perl_do_msgrcv
-#undef do_msgsnd
-#define do_msgsnd pPerl->Perl_do_msgsnd
-#undef do_op_dump
-#define do_op_dump pPerl->Perl_do_op_dump
-#undef do_open
-#define do_open pPerl->Perl_do_open
-#undef do_pipe
-#define do_pipe pPerl->Perl_do_pipe
-#undef do_pmop_dump
-#define do_pmop_dump pPerl->Perl_do_pmop_dump
-#undef do_print
-#define do_print pPerl->Perl_do_print
-#undef do_readline
-#define do_readline pPerl->Perl_do_readline
#undef do_report_used
#define do_report_used pPerl->Perl_do_report_used
-#undef do_seek
-#define do_seek pPerl->Perl_do_seek
-#undef do_semop
-#define do_semop pPerl->Perl_do_semop
-#undef do_shmio
-#define do_shmio pPerl->Perl_do_shmio
-#undef do_sprintf
-#define do_sprintf pPerl->Perl_do_sprintf
-#undef do_sv_dump
-#define do_sv_dump pPerl->Perl_do_sv_dump
-#undef do_sysseek
-#define do_sysseek pPerl->Perl_do_sysseek
-#undef do_tell
-#define do_tell pPerl->Perl_do_tell
-#undef do_trans
-#define do_trans pPerl->Perl_do_trans
#undef do_trans_CC_complex
#define do_trans_CC_complex pPerl->Perl_do_trans_CC_complex
#undef do_trans_CC_count
@@ -1115,10 +2827,6 @@
#define do_trans_UU_count pPerl->Perl_do_trans_UU_count
#undef do_trans_UU_simple
#define do_trans_UU_simple pPerl->Perl_do_trans_UU_simple
-#undef do_vecset
-#define do_vecset pPerl->Perl_do_vecset
-#undef do_vop
-#define do_vop pPerl->Perl_do_vop
#undef docatch
#define docatch pPerl->Perl_docatch
#undef docatch_body
@@ -1127,8 +2835,6 @@
#define doencodes pPerl->Perl_doencodes
#undef doeval
#define doeval pPerl->Perl_doeval
-#undef dofile
-#define dofile pPerl->Perl_dofile
#undef dofindlabel
#define dofindlabel pPerl->Perl_dofindlabel
#undef doform
@@ -1147,188 +2853,44 @@
#define dopoptosub pPerl->Perl_dopoptosub
#undef dopoptosub_at
#define dopoptosub_at pPerl->Perl_dopoptosub_at
-#undef dounwind
-#define dounwind pPerl->Perl_dounwind
-#undef dowantarray
-#define dowantarray pPerl->Perl_dowantarray
#undef dump
#define dump pPerl->Perl_dump
-#undef dump_all
-#define dump_all pPerl->Perl_dump_all
-#undef dump_eval
-#define dump_eval pPerl->Perl_dump_eval
-#undef dump_fds
-#define dump_fds pPerl->Perl_dump_fds
-#undef dump_form
-#define dump_form pPerl->Perl_dump_form
-#undef dump_indent
-#define dump_indent pPerl->Perl_dump_indent
-#undef dump_mstats
-#define dump_mstats pPerl->Perl_dump_mstats
-#undef dump_packsubs
-#define dump_packsubs pPerl->Perl_dump_packsubs
-#undef dump_sub
-#define dump_sub pPerl->Perl_dump_sub
#undef dumpuntil
#define dumpuntil pPerl->Perl_dumpuntil
#undef emulate_eaccess
#define emulate_eaccess pPerl->Perl_emulate_eaccess
-#undef fbm_compile
-#define fbm_compile pPerl->Perl_fbm_compile
-#undef fbm_instr
-#define fbm_instr pPerl->Perl_fbm_instr
-#undef filter_add
-#define filter_add pPerl->Perl_filter_add
-#undef filter_del
-#define filter_del pPerl->Perl_filter_del
#undef filter_gets
#define filter_gets pPerl->Perl_filter_gets
-#undef filter_read
-#define filter_read pPerl->Perl_filter_read
#undef find_beginning
#define find_beginning pPerl->Perl_find_beginning
-#undef find_script
-#define find_script pPerl->Perl_find_script
-#undef find_threadsv
-#define find_threadsv pPerl->Perl_find_threadsv
-#undef fold_constants
-#define fold_constants pPerl->Perl_fold_constants
#undef forbid_setid
#define forbid_setid pPerl->Perl_forbid_setid
#undef force_ident
#define force_ident pPerl->Perl_force_ident
-#undef force_list
-#define force_list pPerl->Perl_force_list
#undef force_next
#define force_next pPerl->Perl_force_next
#undef force_version
#define force_version pPerl->Perl_force_version
#undef force_word
#define force_word pPerl->Perl_force_word
-#undef form
-#define form pPerl->Perl_form
-#undef fprintf
-#define fprintf pPerl->Perl_fprintf
#undef free_closures
#define free_closures pPerl->Perl_free_closures
-#undef free_tmps
-#define free_tmps pPerl->Perl_free_tmps
-#undef gen_constant_list
-#define gen_constant_list pPerl->Perl_gen_constant_list
#undef get_db_sub
#define get_db_sub pPerl->Perl_get_db_sub
-#undef get_no_modify
-#define get_no_modify pPerl->Perl_get_no_modify
-#undef get_op_descs
-#define get_op_descs pPerl->Perl_get_op_descs
-#undef get_op_names
-#define get_op_names pPerl->Perl_get_op_names
-#undef get_opargs
-#define get_opargs pPerl->Perl_get_opargs
-#undef get_vtbl
-#define get_vtbl pPerl->Perl_get_vtbl
-#undef gp_free
-#define gp_free pPerl->Perl_gp_free
-#undef gp_ref
-#define gp_ref pPerl->Perl_gp_ref
-#undef gv_AVadd
-#define gv_AVadd pPerl->Perl_gv_AVadd
-#undef gv_HVadd
-#define gv_HVadd pPerl->Perl_gv_HVadd
-#undef gv_IOadd
-#define gv_IOadd pPerl->Perl_gv_IOadd
-#undef gv_autoload4
-#define gv_autoload4 pPerl->Perl_gv_autoload4
-#undef gv_check
-#define gv_check pPerl->Perl_gv_check
-#undef gv_dump
-#define gv_dump pPerl->Perl_gv_dump
-#undef gv_efullname
-#define gv_efullname pPerl->Perl_gv_efullname
-#undef gv_efullname3
-#define gv_efullname3 pPerl->Perl_gv_efullname3
#undef gv_ename
#define gv_ename pPerl->Perl_gv_ename
-#undef gv_fetchfile
-#define gv_fetchfile pPerl->Perl_gv_fetchfile
-#undef gv_fetchmeth
-#define gv_fetchmeth pPerl->Perl_gv_fetchmeth
-#undef gv_fetchmethod
-#define gv_fetchmethod pPerl->Perl_gv_fetchmethod
-#undef gv_fetchmethod_autoload
-#define gv_fetchmethod_autoload pPerl->Perl_gv_fetchmethod_autoload
-#undef gv_fetchpv
-#define gv_fetchpv pPerl->Perl_gv_fetchpv
-#undef gv_fullname
-#define gv_fullname pPerl->Perl_gv_fullname
-#undef gv_fullname3
-#define gv_fullname3 pPerl->Perl_gv_fullname3
-#undef gv_init
-#define gv_init pPerl->Perl_gv_init
#undef gv_init_sv
#define gv_init_sv pPerl->Perl_gv_init_sv
-#undef gv_stashpv
-#define gv_stashpv pPerl->Perl_gv_stashpv
-#undef gv_stashpvn
-#define gv_stashpvn pPerl->Perl_gv_stashpvn
-#undef gv_stashsv
-#define gv_stashsv pPerl->Perl_gv_stashsv
#undef hfreeentries
#define hfreeentries pPerl->Perl_hfreeentries
#undef hsplit
#define hsplit pPerl->Perl_hsplit
-#undef hv_clear
-#define hv_clear pPerl->Perl_hv_clear
-#undef hv_delayfree_ent
-#define hv_delayfree_ent pPerl->Perl_hv_delayfree_ent
-#undef hv_delete
-#define hv_delete pPerl->Perl_hv_delete
-#undef hv_delete_ent
-#define hv_delete_ent pPerl->Perl_hv_delete_ent
-#undef hv_exists
-#define hv_exists pPerl->Perl_hv_exists
-#undef hv_exists_ent
-#define hv_exists_ent pPerl->Perl_hv_exists_ent
-#undef hv_fetch
-#define hv_fetch pPerl->Perl_hv_fetch
-#undef hv_fetch_ent
-#define hv_fetch_ent pPerl->Perl_hv_fetch_ent
-#undef hv_free_ent
-#define hv_free_ent pPerl->Perl_hv_free_ent
-#undef hv_iterinit
-#define hv_iterinit pPerl->Perl_hv_iterinit
-#undef hv_iterkey
-#define hv_iterkey pPerl->Perl_hv_iterkey
-#undef hv_iterkeysv
-#define hv_iterkeysv pPerl->Perl_hv_iterkeysv
-#undef hv_iternext
-#define hv_iternext pPerl->Perl_hv_iternext
-#undef hv_iternextsv
-#define hv_iternextsv pPerl->Perl_hv_iternextsv
-#undef hv_iterval
-#define hv_iterval pPerl->Perl_hv_iterval
-#undef hv_ksplit
-#define hv_ksplit pPerl->Perl_hv_ksplit
-#undef hv_magic
-#define hv_magic pPerl->Perl_hv_magic
-#undef hv_store
-#define hv_store pPerl->Perl_hv_store
-#undef hv_store_ent
-#define hv_store_ent pPerl->Perl_hv_store_ent
-#undef hv_undef
-#define hv_undef pPerl->Perl_hv_undef
-#undef ibcmp
-#define ibcmp pPerl->Perl_ibcmp
-#undef ibcmp_locale
-#define ibcmp_locale pPerl->Perl_ibcmp_locale
#undef incl_perldb
#define incl_perldb pPerl->Perl_incl_perldb
#undef incline
#define incline pPerl->Perl_incline
#undef incpush
#define incpush pPerl->Perl_incpush
-#undef ingroup
-#define ingroup pPerl->Perl_ingroup
#undef init_debugger
#define init_debugger pPerl->Perl_init_debugger
#undef init_ids
@@ -1345,238 +2907,32 @@
#define init_postdump_symbols pPerl->Perl_init_postdump_symbols
#undef init_predump_symbols
#define init_predump_symbols pPerl->Perl_init_predump_symbols
-#undef init_stacks
-#define init_stacks pPerl->Perl_init_stacks
-#undef init_thread_intern
-#define init_thread_intern pPerl->Perl_init_thread_intern
-#undef instr
-#define instr pPerl->Perl_instr
-#undef intro_my
-#define intro_my pPerl->Perl_intro_my
#undef intuit_method
#define intuit_method pPerl->Perl_intuit_method
#undef intuit_more
#define intuit_more pPerl->Perl_intuit_more
-#undef invert
-#define invert pPerl->Perl_invert
-#undef io_close
-#define io_close pPerl->Perl_io_close
#undef is_an_int
#define is_an_int pPerl->Perl_is_an_int
#undef is_handle_constructor
#define is_handle_constructor pPerl->Perl_is_handle_constructor
-#undef is_uni_alnum
-#define is_uni_alnum pPerl->Perl_is_uni_alnum
-#undef is_uni_alnum_lc
-#define is_uni_alnum_lc pPerl->Perl_is_uni_alnum_lc
-#undef is_uni_alpha
-#define is_uni_alpha pPerl->Perl_is_uni_alpha
-#undef is_uni_alpha_lc
-#define is_uni_alpha_lc pPerl->Perl_is_uni_alpha_lc
-#undef is_uni_digit
-#define is_uni_digit pPerl->Perl_is_uni_digit
-#undef is_uni_digit_lc
-#define is_uni_digit_lc pPerl->Perl_is_uni_digit_lc
-#undef is_uni_idfirst
-#define is_uni_idfirst pPerl->Perl_is_uni_idfirst
-#undef is_uni_idfirst_lc
-#define is_uni_idfirst_lc pPerl->Perl_is_uni_idfirst_lc
-#undef is_uni_lower
-#define is_uni_lower pPerl->Perl_is_uni_lower
-#undef is_uni_lower_lc
-#define is_uni_lower_lc pPerl->Perl_is_uni_lower_lc
-#undef is_uni_print
-#define is_uni_print pPerl->Perl_is_uni_print
-#undef is_uni_print_lc
-#define is_uni_print_lc pPerl->Perl_is_uni_print_lc
-#undef is_uni_space
-#define is_uni_space pPerl->Perl_is_uni_space
-#undef is_uni_space_lc
-#define is_uni_space_lc pPerl->Perl_is_uni_space_lc
-#undef is_uni_upper
-#define is_uni_upper pPerl->Perl_is_uni_upper
-#undef is_uni_upper_lc
-#define is_uni_upper_lc pPerl->Perl_is_uni_upper_lc
-#undef is_utf8_alnum
-#define is_utf8_alnum pPerl->Perl_is_utf8_alnum
-#undef is_utf8_alpha
-#define is_utf8_alpha pPerl->Perl_is_utf8_alpha
-#undef is_utf8_digit
-#define is_utf8_digit pPerl->Perl_is_utf8_digit
-#undef is_utf8_idfirst
-#define is_utf8_idfirst pPerl->Perl_is_utf8_idfirst
-#undef is_utf8_lower
-#define is_utf8_lower pPerl->Perl_is_utf8_lower
-#undef is_utf8_mark
-#define is_utf8_mark pPerl->Perl_is_utf8_mark
-#undef is_utf8_print
-#define is_utf8_print pPerl->Perl_is_utf8_print
-#undef is_utf8_space
-#define is_utf8_space pPerl->Perl_is_utf8_space
-#undef is_utf8_upper
-#define is_utf8_upper pPerl->Perl_is_utf8_upper
#undef isa_lookup
#define isa_lookup pPerl->Perl_isa_lookup
-#undef jmaybe
-#define jmaybe pPerl->Perl_jmaybe
-#undef keyword
-#define keyword pPerl->Perl_keyword
-#undef leave_scope
-#define leave_scope pPerl->Perl_leave_scope
-#undef lex_end
-#define lex_end pPerl->Perl_lex_end
-#undef lex_start
-#define lex_start pPerl->Perl_lex_start
-#undef linklist
-#define linklist pPerl->Perl_linklist
-#undef list
-#define list pPerl->Perl_list
#undef list_assignment
#define list_assignment pPerl->Perl_list_assignment
-#undef listkids
-#define listkids pPerl->Perl_listkids
-#undef localize
-#define localize pPerl->Perl_localize
-#undef looks_like_number
-#define looks_like_number pPerl->Perl_looks_like_number
#undef lop
#define lop pPerl->Perl_lop
-#undef magic_clear_all_env
-#define magic_clear_all_env pPerl->Perl_magic_clear_all_env
-#undef magic_clearenv
-#define magic_clearenv pPerl->Perl_magic_clearenv
-#undef magic_clearpack
-#define magic_clearpack pPerl->Perl_magic_clearpack
-#undef magic_clearsig
-#define magic_clearsig pPerl->Perl_magic_clearsig
-#undef magic_dump
-#define magic_dump pPerl->Perl_magic_dump
-#undef magic_existspack
-#define magic_existspack pPerl->Perl_magic_existspack
-#undef magic_freeregexp
-#define magic_freeregexp pPerl->Perl_magic_freeregexp
-#undef magic_get
-#define magic_get pPerl->Perl_magic_get
-#undef magic_getarylen
-#define magic_getarylen pPerl->Perl_magic_getarylen
-#undef magic_getdefelem
-#define magic_getdefelem pPerl->Perl_magic_getdefelem
-#undef magic_getglob
-#define magic_getglob pPerl->Perl_magic_getglob
-#undef magic_getnkeys
-#define magic_getnkeys pPerl->Perl_magic_getnkeys
-#undef magic_getpack
-#define magic_getpack pPerl->Perl_magic_getpack
-#undef magic_getpos
-#define magic_getpos pPerl->Perl_magic_getpos
-#undef magic_getsig
-#define magic_getsig pPerl->Perl_magic_getsig
-#undef magic_getsubstr
-#define magic_getsubstr pPerl->Perl_magic_getsubstr
-#undef magic_gettaint
-#define magic_gettaint pPerl->Perl_magic_gettaint
-#undef magic_getuvar
-#define magic_getuvar pPerl->Perl_magic_getuvar
-#undef magic_getvec
-#define magic_getvec pPerl->Perl_magic_getvec
-#undef magic_killbackrefs
-#define magic_killbackrefs pPerl->Perl_magic_killbackrefs
-#undef magic_len
-#define magic_len pPerl->Perl_magic_len
#undef magic_methcall
#define magic_methcall pPerl->Perl_magic_methcall
#undef magic_methcall
#define magic_methcall pPerl->Perl_magic_methcall
#undef magic_methpack
#define magic_methpack pPerl->Perl_magic_methpack
-#undef magic_mutexfree
-#define magic_mutexfree pPerl->Perl_magic_mutexfree
-#undef magic_nextpack
-#define magic_nextpack pPerl->Perl_magic_nextpack
-#undef magic_regdata_cnt
-#define magic_regdata_cnt pPerl->Perl_magic_regdata_cnt
-#undef magic_regdatum_get
-#define magic_regdatum_get pPerl->Perl_magic_regdatum_get
-#undef magic_set
-#define magic_set pPerl->Perl_magic_set
-#undef magic_set_all_env
-#define magic_set_all_env pPerl->Perl_magic_set_all_env
-#undef magic_setamagic
-#define magic_setamagic pPerl->Perl_magic_setamagic
-#undef magic_setarylen
-#define magic_setarylen pPerl->Perl_magic_setarylen
-#undef magic_setbm
-#define magic_setbm pPerl->Perl_magic_setbm
-#undef magic_setcollxfrm
-#define magic_setcollxfrm pPerl->Perl_magic_setcollxfrm
-#undef magic_setdbline
-#define magic_setdbline pPerl->Perl_magic_setdbline
-#undef magic_setdefelem
-#define magic_setdefelem pPerl->Perl_magic_setdefelem
-#undef magic_setenv
-#define magic_setenv pPerl->Perl_magic_setenv
-#undef magic_setfm
-#define magic_setfm pPerl->Perl_magic_setfm
-#undef magic_setglob
-#define magic_setglob pPerl->Perl_magic_setglob
-#undef magic_setisa
-#define magic_setisa pPerl->Perl_magic_setisa
-#undef magic_setmglob
-#define magic_setmglob pPerl->Perl_magic_setmglob
-#undef magic_setnkeys
-#define magic_setnkeys pPerl->Perl_magic_setnkeys
-#undef magic_setpack
-#define magic_setpack pPerl->Perl_magic_setpack
-#undef magic_setpos
-#define magic_setpos pPerl->Perl_magic_setpos
-#undef magic_setsig
-#define magic_setsig pPerl->Perl_magic_setsig
-#undef magic_setsubstr
-#define magic_setsubstr pPerl->Perl_magic_setsubstr
-#undef magic_settaint
-#define magic_settaint pPerl->Perl_magic_settaint
-#undef magic_setuvar
-#define magic_setuvar pPerl->Perl_magic_setuvar
-#undef magic_setvec
-#define magic_setvec pPerl->Perl_magic_setvec
-#undef magic_sizepack
-#define magic_sizepack pPerl->Perl_magic_sizepack
-#undef magic_wipepack
-#define magic_wipepack pPerl->Perl_magic_wipepack
-#undef magicname
-#define magicname pPerl->Perl_magicname
-#undef malloced_size
-#define malloced_size pPerl->Perl_malloced_size
-#undef markstack_grow
-#define markstack_grow pPerl->Perl_markstack_grow
-#undef mem_collxfrm
-#define mem_collxfrm pPerl->Perl_mem_collxfrm
-#undef mess
-#define mess pPerl->Perl_mess
+#undef main
+#define main pPerl->Perl_main
#undef mess_alloc
#define mess_alloc pPerl->Perl_mess_alloc
-#undef mg_clear
-#define mg_clear pPerl->Perl_mg_clear
-#undef mg_copy
-#define mg_copy pPerl->Perl_mg_copy
-#undef mg_find
-#define mg_find pPerl->Perl_mg_find
-#undef mg_free
-#define mg_free pPerl->Perl_mg_free
-#undef mg_get
-#define mg_get pPerl->Perl_mg_get
-#undef mg_length
-#define mg_length pPerl->Perl_mg_length
-#undef mg_magical
-#define mg_magical pPerl->Perl_mg_magical
-#undef mg_set
-#define mg_set pPerl->Perl_mg_set
-#undef mg_size
-#define mg_size pPerl->Perl_mg_size
#undef missingterm
#define missingterm pPerl->Perl_missingterm
-#undef mod
-#define mod pPerl->Perl_mod
#undef modkids
#define modkids pPerl->Perl_modkids
#undef more_he
@@ -1591,156 +2947,20 @@
#define more_xpv pPerl->Perl_more_xpv
#undef more_xrv
#define more_xrv pPerl->Perl_more_xrv
-#undef moreswitches
-#define moreswitches pPerl->Perl_moreswitches
#undef mul128
#define mul128 pPerl->Perl_mul128
-#undef my
-#define my pPerl->Perl_my
-#undef my_bcopy
-#define my_bcopy pPerl->Perl_my_bcopy
-#undef my_bzero
-#define my_bzero pPerl->Perl_my_bzero
-#undef my_chsize
-#define my_chsize pPerl->Perl_my_chsize
-#undef my_exit
-#define my_exit pPerl->Perl_my_exit
#undef my_exit_jump
#define my_exit_jump pPerl->Perl_my_exit_jump
-#undef my_failure_exit
-#define my_failure_exit pPerl->Perl_my_failure_exit
-#undef my_fflush_all
-#define my_fflush_all pPerl->Perl_my_fflush_all
-#undef my_htonl
-#define my_htonl pPerl->Perl_my_htonl
-#undef my_lstat
-#define my_lstat pPerl->Perl_my_lstat
-#undef my_memcmp
-#define my_memcmp pPerl->Perl_my_memcmp
-#undef my_memset
-#define my_memset pPerl->Perl_my_memset
-#undef my_ntohl
-#define my_ntohl pPerl->Perl_my_ntohl
-#undef my_pclose
-#define my_pclose pPerl->Perl_my_pclose
-#undef my_popen
-#define my_popen pPerl->Perl_my_popen
#undef my_safemalloc
#define my_safemalloc pPerl->Perl_my_safemalloc
-#undef my_setenv
-#define my_setenv pPerl->Perl_my_setenv
-#undef my_stat
-#define my_stat pPerl->Perl_my_stat
-#undef my_swap
-#define my_swap pPerl->Perl_my_swap
-#undef my_unexec
-#define my_unexec pPerl->Perl_my_unexec
-#undef newANONHASH
-#define newANONHASH pPerl->Perl_newANONHASH
-#undef newANONLIST
-#define newANONLIST pPerl->Perl_newANONLIST
-#undef newANONSUB
-#define newANONSUB pPerl->Perl_newANONSUB
-#undef newASSIGNOP
-#define newASSIGNOP pPerl->Perl_newASSIGNOP
-#undef newAV
-#define newAV pPerl->Perl_newAV
-#undef newAVREF
-#define newAVREF pPerl->Perl_newAVREF
-#undef newBINOP
-#define newBINOP pPerl->Perl_newBINOP
-#undef newCONDOP
-#define newCONDOP pPerl->Perl_newCONDOP
-#undef newCONSTSUB
-#define newCONSTSUB pPerl->Perl_newCONSTSUB
-#undef newCVREF
-#define newCVREF pPerl->Perl_newCVREF
#undef newDEFSVOP
#define newDEFSVOP pPerl->Perl_newDEFSVOP
-#undef newFORM
-#define newFORM pPerl->Perl_newFORM
-#undef newFOROP
-#define newFOROP pPerl->Perl_newFOROP
-#undef newGVOP
-#define newGVOP pPerl->Perl_newGVOP
-#undef newGVREF
-#define newGVREF pPerl->Perl_newGVREF
-#undef newGVgen
-#define newGVgen pPerl->Perl_newGVgen
-#undef newHV
-#define newHV pPerl->Perl_newHV
-#undef newHVREF
-#define newHVREF pPerl->Perl_newHVREF
-#undef newHVhv
-#define newHVhv pPerl->Perl_newHVhv
-#undef newIO
-#define newIO pPerl->Perl_newIO
-#undef newLISTOP
-#define newLISTOP pPerl->Perl_newLISTOP
-#undef newLOGOP
-#define newLOGOP pPerl->Perl_newLOGOP
-#undef newLOOPEX
-#define newLOOPEX pPerl->Perl_newLOOPEX
-#undef newLOOPOP
-#define newLOOPOP pPerl->Perl_newLOOPOP
-#undef newNULLLIST
-#define newNULLLIST pPerl->Perl_newNULLLIST
-#undef newOP
-#define newOP pPerl->Perl_newOP
-#undef newPMOP
-#define newPMOP pPerl->Perl_newPMOP
-#undef newPROG
-#define newPROG pPerl->Perl_newPROG
-#undef newPVOP
-#define newPVOP pPerl->Perl_newPVOP
-#undef newRANGE
-#define newRANGE pPerl->Perl_newRANGE
-#undef newRV
-#define newRV pPerl->Perl_newRV
-#undef newRV_noinc
-#define newRV_noinc pPerl->Perl_newRV_noinc
-#undef newSLICEOP
-#define newSLICEOP pPerl->Perl_newSLICEOP
-#undef newSTATEOP
-#define newSTATEOP pPerl->Perl_newSTATEOP
-#undef newSUB
-#define newSUB pPerl->Perl_newSUB
-#undef newSV
-#define newSV pPerl->Perl_newSV
-#undef newSVOP
-#define newSVOP pPerl->Perl_newSVOP
-#undef newSVREF
-#define newSVREF pPerl->Perl_newSVREF
-#undef newSViv
-#define newSViv pPerl->Perl_newSViv
-#undef newSVnv
-#define newSVnv pPerl->Perl_newSVnv
-#undef newSVpv
-#define newSVpv pPerl->Perl_newSVpv
-#undef newSVpvf
-#define newSVpvf pPerl->Perl_newSVpvf
-#undef newSVpvn
-#define newSVpvn pPerl->Perl_newSVpvn
-#undef newSVrv
-#define newSVrv pPerl->Perl_newSVrv
-#undef newSVsv
-#define newSVsv pPerl->Perl_newSVsv
-#undef newUNOP
-#define newUNOP pPerl->Perl_newUNOP
-#undef newWHILEOP
-#define newWHILEOP pPerl->Perl_newWHILEOP
-#undef newXS
-#define newXS pPerl->Perl_newXS
#undef new_constant
#define new_constant pPerl->Perl_new_constant
#undef new_he
#define new_he pPerl->Perl_new_he
#undef new_logop
#define new_logop pPerl->Perl_new_logop
-#undef new_stackinfo
-#define new_stackinfo pPerl->Perl_new_stackinfo
-#undef new_struct_thread
-#define new_struct_thread pPerl->Perl_new_struct_thread
#undef new_xiv
#define new_xiv pPerl->Perl_new_xiv
#undef new_xnv
@@ -1749,12 +2969,8 @@
#define new_xpv pPerl->Perl_new_xpv
#undef new_xrv
#define new_xrv pPerl->Perl_new_xrv
-#undef nextargv
-#define nextargv pPerl->Perl_nextargv
#undef nextchar
#define nextchar pPerl->Perl_nextchar
-#undef ninstr
-#define ninstr pPerl->Perl_ninstr
#undef no_bareword_allowed
#define no_bareword_allowed pPerl->Perl_no_bareword_allowed
#undef no_fh_allowed
@@ -1767,42 +2983,12 @@
#define nuke_stacks pPerl->Perl_nuke_stacks
#undef null
#define null pPerl->Perl_null
-#undef oopsAV
-#define oopsAV pPerl->Perl_oopsAV
-#undef oopsCV
-#define oopsCV pPerl->Perl_oopsCV
-#undef oopsHV
-#define oopsHV pPerl->Perl_oopsHV
-#undef op_const_sv
-#define op_const_sv pPerl->Perl_op_const_sv
-#undef op_dump
-#define op_dump pPerl->Perl_op_dump
-#undef op_free
-#define op_free pPerl->Perl_op_free
#undef open_script
#define open_script pPerl->Perl_open_script
-#undef package
-#define package pPerl->Perl_package
-#undef pad_alloc
-#define pad_alloc pPerl->Perl_pad_alloc
-#undef pad_allocmy
-#define pad_allocmy pPerl->Perl_pad_allocmy
#undef pad_findlex
#define pad_findlex pPerl->Perl_pad_findlex
-#undef pad_findmy
-#define pad_findmy pPerl->Perl_pad_findmy
-#undef pad_free
-#define pad_free pPerl->Perl_pad_free
-#undef pad_leavemy
-#define pad_leavemy pPerl->Perl_pad_leavemy
-#undef pad_reset
-#define pad_reset pPerl->Perl_pad_reset
-#undef pad_sv
-#define pad_sv pPerl->Perl_pad_sv
-#undef pad_swipe
-#define pad_swipe pPerl->Perl_pad_swipe
-#undef peep
-#define peep pPerl->Perl_peep
+#undef perl_alloc
+#define perl_alloc pPerl->perl_alloc
#undef perl_atexit
#define perl_atexit pPerl->perl_atexit
#undef perl_call_argv
@@ -1819,6 +3005,10 @@
#define perl_call_xbody pPerl->perl_call_xbody
#undef perl_construct
#define perl_construct pPerl->perl_construct
+#undef perl_construct
+#define perl_construct pPerl->perl_construct
+#undef perl_destruct
+#define perl_destruct pPerl->perl_destruct
#undef perl_destruct
#define perl_destruct pPerl->perl_destruct
#undef perl_eval_pv
@@ -1827,6 +3017,8 @@
#define perl_eval_sv pPerl->perl_eval_sv
#undef perl_free
#define perl_free pPerl->perl_free
+#undef perl_free
+#define perl_free pPerl->perl_free
#undef perl_get_av
#define perl_get_av pPerl->perl_get_av
#undef perl_get_cv
@@ -1847,742 +3039,26 @@
#define perl_new_numeric pPerl->perl_new_numeric
#undef perl_parse
#define perl_parse pPerl->perl_parse
+#undef perl_parse
+#define perl_parse pPerl->perl_parse
#undef perl_parse_body
#define perl_parse_body pPerl->perl_parse_body
#undef perl_require_pv
#define perl_require_pv pPerl->perl_require_pv
#undef perl_run
#define perl_run pPerl->perl_run
+#undef perl_run
+#define perl_run pPerl->perl_run
#undef perl_run_body
#define perl_run_body pPerl->perl_run_body
#undef perl_set_numeric_local
#define perl_set_numeric_local pPerl->perl_set_numeric_local
#undef perl_set_numeric_standard
#define perl_set_numeric_standard pPerl->perl_set_numeric_standard
-#undef pidgone
-#define pidgone pPerl->Perl_pidgone
-#undef pmflag
-#define pmflag pPerl->Perl_pmflag
-#undef pmop_dump
-#define pmop_dump pPerl->Perl_pmop_dump
-#undef pmruntime
-#define pmruntime pPerl->Perl_pmruntime
-#undef pmtrans
-#define pmtrans pPerl->Perl_pmtrans
-#undef pop_return
-#define pop_return pPerl->Perl_pop_return
-#undef pop_scope
-#define pop_scope pPerl->Perl_pop_scope
-#undef pp_aassign
-#define pp_aassign pPerl->Perl_pp_aassign
-#undef pp_abs
-#define pp_abs pPerl->Perl_pp_abs
-#undef pp_accept
-#define pp_accept pPerl->Perl_pp_accept
-#undef pp_add
-#define pp_add pPerl->Perl_pp_add
-#undef pp_aelem
-#define pp_aelem pPerl->Perl_pp_aelem
-#undef pp_aelemfast
-#define pp_aelemfast pPerl->Perl_pp_aelemfast
-#undef pp_alarm
-#define pp_alarm pPerl->Perl_pp_alarm
-#undef pp_and
-#define pp_and pPerl->Perl_pp_and
-#undef pp_andassign
-#define pp_andassign pPerl->Perl_pp_andassign
-#undef pp_anoncode
-#define pp_anoncode pPerl->Perl_pp_anoncode
-#undef pp_anonhash
-#define pp_anonhash pPerl->Perl_pp_anonhash
-#undef pp_anonlist
-#define pp_anonlist pPerl->Perl_pp_anonlist
-#undef pp_aslice
-#define pp_aslice pPerl->Perl_pp_aslice
-#undef pp_atan2
-#define pp_atan2 pPerl->Perl_pp_atan2
-#undef pp_av2arylen
-#define pp_av2arylen pPerl->Perl_pp_av2arylen
-#undef pp_backtick
-#define pp_backtick pPerl->Perl_pp_backtick
-#undef pp_bind
-#define pp_bind pPerl->Perl_pp_bind
-#undef pp_binmode
-#define pp_binmode pPerl->Perl_pp_binmode
-#undef pp_bit_and
-#define pp_bit_and pPerl->Perl_pp_bit_and
-#undef pp_bit_or
-#define pp_bit_or pPerl->Perl_pp_bit_or
-#undef pp_bit_xor
-#define pp_bit_xor pPerl->Perl_pp_bit_xor
-#undef pp_bless
-#define pp_bless pPerl->Perl_pp_bless
-#undef pp_caller
-#define pp_caller pPerl->Perl_pp_caller
-#undef pp_chdir
-#define pp_chdir pPerl->Perl_pp_chdir
-#undef pp_chmod
-#define pp_chmod pPerl->Perl_pp_chmod
-#undef pp_chomp
-#define pp_chomp pPerl->Perl_pp_chomp
-#undef pp_chop
-#define pp_chop pPerl->Perl_pp_chop
-#undef pp_chown
-#define pp_chown pPerl->Perl_pp_chown
-#undef pp_chr
-#define pp_chr pPerl->Perl_pp_chr
-#undef pp_chroot
-#define pp_chroot pPerl->Perl_pp_chroot
-#undef pp_close
-#define pp_close pPerl->Perl_pp_close
-#undef pp_closedir
-#define pp_closedir pPerl->Perl_pp_closedir
-#undef pp_complement
-#define pp_complement pPerl->Perl_pp_complement
-#undef pp_concat
-#define pp_concat pPerl->Perl_pp_concat
-#undef pp_cond_expr
-#define pp_cond_expr pPerl->Perl_pp_cond_expr
-#undef pp_connect
-#define pp_connect pPerl->Perl_pp_connect
-#undef pp_const
-#define pp_const pPerl->Perl_pp_const
-#undef pp_cos
-#define pp_cos pPerl->Perl_pp_cos
-#undef pp_crypt
-#define pp_crypt pPerl->Perl_pp_crypt
-#undef pp_dbmclose
-#define pp_dbmclose pPerl->Perl_pp_dbmclose
-#undef pp_dbmopen
-#define pp_dbmopen pPerl->Perl_pp_dbmopen
-#undef pp_dbstate
-#define pp_dbstate pPerl->Perl_pp_dbstate
-#undef pp_defined
-#define pp_defined pPerl->Perl_pp_defined
-#undef pp_delete
-#define pp_delete pPerl->Perl_pp_delete
-#undef pp_die
-#define pp_die pPerl->Perl_pp_die
-#undef pp_divide
-#define pp_divide pPerl->Perl_pp_divide
-#undef pp_dofile
-#define pp_dofile pPerl->Perl_pp_dofile
-#undef pp_dump
-#define pp_dump pPerl->Perl_pp_dump
-#undef pp_each
-#define pp_each pPerl->Perl_pp_each
-#undef pp_egrent
-#define pp_egrent pPerl->Perl_pp_egrent
-#undef pp_ehostent
-#define pp_ehostent pPerl->Perl_pp_ehostent
-#undef pp_enetent
-#define pp_enetent pPerl->Perl_pp_enetent
-#undef pp_enter
-#define pp_enter pPerl->Perl_pp_enter
-#undef pp_entereval
-#define pp_entereval pPerl->Perl_pp_entereval
-#undef pp_enteriter
-#define pp_enteriter pPerl->Perl_pp_enteriter
-#undef pp_enterloop
-#define pp_enterloop pPerl->Perl_pp_enterloop
-#undef pp_entersub
-#define pp_entersub pPerl->Perl_pp_entersub
-#undef pp_entertry
-#define pp_entertry pPerl->Perl_pp_entertry
-#undef pp_enterwrite
-#define pp_enterwrite pPerl->Perl_pp_enterwrite
-#undef pp_eof
-#define pp_eof pPerl->Perl_pp_eof
-#undef pp_eprotoent
-#define pp_eprotoent pPerl->Perl_pp_eprotoent
-#undef pp_epwent
-#define pp_epwent pPerl->Perl_pp_epwent
-#undef pp_eq
-#define pp_eq pPerl->Perl_pp_eq
-#undef pp_eservent
-#define pp_eservent pPerl->Perl_pp_eservent
-#undef pp_exec
-#define pp_exec pPerl->Perl_pp_exec
-#undef pp_exists
-#define pp_exists pPerl->Perl_pp_exists
-#undef pp_exit
-#define pp_exit pPerl->Perl_pp_exit
-#undef pp_exp
-#define pp_exp pPerl->Perl_pp_exp
-#undef pp_fcntl
-#define pp_fcntl pPerl->Perl_pp_fcntl
-#undef pp_fileno
-#define pp_fileno pPerl->Perl_pp_fileno
-#undef pp_flip
-#define pp_flip pPerl->Perl_pp_flip
-#undef pp_flock
-#define pp_flock pPerl->Perl_pp_flock
-#undef pp_flop
-#define pp_flop pPerl->Perl_pp_flop
-#undef pp_fork
-#define pp_fork pPerl->Perl_pp_fork
-#undef pp_formline
-#define pp_formline pPerl->Perl_pp_formline
-#undef pp_ftatime
-#define pp_ftatime pPerl->Perl_pp_ftatime
-#undef pp_ftbinary
-#define pp_ftbinary pPerl->Perl_pp_ftbinary
-#undef pp_ftblk
-#define pp_ftblk pPerl->Perl_pp_ftblk
-#undef pp_ftchr
-#define pp_ftchr pPerl->Perl_pp_ftchr
-#undef pp_ftctime
-#define pp_ftctime pPerl->Perl_pp_ftctime
-#undef pp_ftdir
-#define pp_ftdir pPerl->Perl_pp_ftdir
-#undef pp_fteexec
-#define pp_fteexec pPerl->Perl_pp_fteexec
-#undef pp_fteowned
-#define pp_fteowned pPerl->Perl_pp_fteowned
-#undef pp_fteread
-#define pp_fteread pPerl->Perl_pp_fteread
-#undef pp_ftewrite
-#define pp_ftewrite pPerl->Perl_pp_ftewrite
-#undef pp_ftfile
-#define pp_ftfile pPerl->Perl_pp_ftfile
-#undef pp_ftis
-#define pp_ftis pPerl->Perl_pp_ftis
-#undef pp_ftlink
-#define pp_ftlink pPerl->Perl_pp_ftlink
-#undef pp_ftmtime
-#define pp_ftmtime pPerl->Perl_pp_ftmtime
-#undef pp_ftpipe
-#define pp_ftpipe pPerl->Perl_pp_ftpipe
-#undef pp_ftrexec
-#define pp_ftrexec pPerl->Perl_pp_ftrexec
-#undef pp_ftrowned
-#define pp_ftrowned pPerl->Perl_pp_ftrowned
-#undef pp_ftrread
-#define pp_ftrread pPerl->Perl_pp_ftrread
-#undef pp_ftrwrite
-#define pp_ftrwrite pPerl->Perl_pp_ftrwrite
-#undef pp_ftsgid
-#define pp_ftsgid pPerl->Perl_pp_ftsgid
-#undef pp_ftsize
-#define pp_ftsize pPerl->Perl_pp_ftsize
-#undef pp_ftsock
-#define pp_ftsock pPerl->Perl_pp_ftsock
-#undef pp_ftsuid
-#define pp_ftsuid pPerl->Perl_pp_ftsuid
-#undef pp_ftsvtx
-#define pp_ftsvtx pPerl->Perl_pp_ftsvtx
-#undef pp_fttext
-#define pp_fttext pPerl->Perl_pp_fttext
-#undef pp_fttty
-#define pp_fttty pPerl->Perl_pp_fttty
-#undef pp_ftzero
-#define pp_ftzero pPerl->Perl_pp_ftzero
-#undef pp_ge
-#define pp_ge pPerl->Perl_pp_ge
-#undef pp_gelem
-#define pp_gelem pPerl->Perl_pp_gelem
-#undef pp_getc
-#define pp_getc pPerl->Perl_pp_getc
-#undef pp_getlogin
-#define pp_getlogin pPerl->Perl_pp_getlogin
-#undef pp_getpeername
-#define pp_getpeername pPerl->Perl_pp_getpeername
-#undef pp_getpgrp
-#define pp_getpgrp pPerl->Perl_pp_getpgrp
-#undef pp_getppid
-#define pp_getppid pPerl->Perl_pp_getppid
-#undef pp_getpriority
-#define pp_getpriority pPerl->Perl_pp_getpriority
-#undef pp_getsockname
-#define pp_getsockname pPerl->Perl_pp_getsockname
-#undef pp_ggrent
-#define pp_ggrent pPerl->Perl_pp_ggrent
-#undef pp_ggrgid
-#define pp_ggrgid pPerl->Perl_pp_ggrgid
-#undef pp_ggrnam
-#define pp_ggrnam pPerl->Perl_pp_ggrnam
-#undef pp_ghbyaddr
-#define pp_ghbyaddr pPerl->Perl_pp_ghbyaddr
-#undef pp_ghbyname
-#define pp_ghbyname pPerl->Perl_pp_ghbyname
-#undef pp_ghostent
-#define pp_ghostent pPerl->Perl_pp_ghostent
-#undef pp_glob
-#define pp_glob pPerl->Perl_pp_glob
-#undef pp_gmtime
-#define pp_gmtime pPerl->Perl_pp_gmtime
-#undef pp_gnbyaddr
-#define pp_gnbyaddr pPerl->Perl_pp_gnbyaddr
-#undef pp_gnbyname
-#define pp_gnbyname pPerl->Perl_pp_gnbyname
-#undef pp_gnetent
-#define pp_gnetent pPerl->Perl_pp_gnetent
-#undef pp_goto
-#define pp_goto pPerl->Perl_pp_goto
-#undef pp_gpbyname
-#define pp_gpbyname pPerl->Perl_pp_gpbyname
-#undef pp_gpbynumber
-#define pp_gpbynumber pPerl->Perl_pp_gpbynumber
-#undef pp_gprotoent
-#define pp_gprotoent pPerl->Perl_pp_gprotoent
-#undef pp_gpwent
-#define pp_gpwent pPerl->Perl_pp_gpwent
-#undef pp_gpwnam
-#define pp_gpwnam pPerl->Perl_pp_gpwnam
-#undef pp_gpwuid
-#define pp_gpwuid pPerl->Perl_pp_gpwuid
-#undef pp_grepstart
-#define pp_grepstart pPerl->Perl_pp_grepstart
-#undef pp_grepwhile
-#define pp_grepwhile pPerl->Perl_pp_grepwhile
-#undef pp_gsbyname
-#define pp_gsbyname pPerl->Perl_pp_gsbyname
-#undef pp_gsbyport
-#define pp_gsbyport pPerl->Perl_pp_gsbyport
-#undef pp_gservent
-#define pp_gservent pPerl->Perl_pp_gservent
-#undef pp_gsockopt
-#define pp_gsockopt pPerl->Perl_pp_gsockopt
-#undef pp_gt
-#define pp_gt pPerl->Perl_pp_gt
-#undef pp_gv
-#define pp_gv pPerl->Perl_pp_gv
-#undef pp_gvsv
-#define pp_gvsv pPerl->Perl_pp_gvsv
-#undef pp_helem
-#define pp_helem pPerl->Perl_pp_helem
-#undef pp_hex
-#define pp_hex pPerl->Perl_pp_hex
-#undef pp_hslice
-#define pp_hslice pPerl->Perl_pp_hslice
-#undef pp_i_add
-#define pp_i_add pPerl->Perl_pp_i_add
-#undef pp_i_divide
-#define pp_i_divide pPerl->Perl_pp_i_divide
-#undef pp_i_eq
-#define pp_i_eq pPerl->Perl_pp_i_eq
-#undef pp_i_ge
-#define pp_i_ge pPerl->Perl_pp_i_ge
-#undef pp_i_gt
-#define pp_i_gt pPerl->Perl_pp_i_gt
-#undef pp_i_le
-#define pp_i_le pPerl->Perl_pp_i_le
-#undef pp_i_lt
-#define pp_i_lt pPerl->Perl_pp_i_lt
-#undef pp_i_modulo
-#define pp_i_modulo pPerl->Perl_pp_i_modulo
-#undef pp_i_multiply
-#define pp_i_multiply pPerl->Perl_pp_i_multiply
-#undef pp_i_ncmp
-#define pp_i_ncmp pPerl->Perl_pp_i_ncmp
-#undef pp_i_ne
-#define pp_i_ne pPerl->Perl_pp_i_ne
-#undef pp_i_negate
-#define pp_i_negate pPerl->Perl_pp_i_negate
-#undef pp_i_subtract
-#define pp_i_subtract pPerl->Perl_pp_i_subtract
-#undef pp_index
-#define pp_index pPerl->Perl_pp_index
-#undef pp_int
-#define pp_int pPerl->Perl_pp_int
-#undef pp_ioctl
-#define pp_ioctl pPerl->Perl_pp_ioctl
-#undef pp_iter
-#define pp_iter pPerl->Perl_pp_iter
-#undef pp_join
-#define pp_join pPerl->Perl_pp_join
-#undef pp_keys
-#define pp_keys pPerl->Perl_pp_keys
-#undef pp_kill
-#define pp_kill pPerl->Perl_pp_kill
-#undef pp_last
-#define pp_last pPerl->Perl_pp_last
-#undef pp_lc
-#define pp_lc pPerl->Perl_pp_lc
-#undef pp_lcfirst
-#define pp_lcfirst pPerl->Perl_pp_lcfirst
-#undef pp_le
-#define pp_le pPerl->Perl_pp_le
-#undef pp_leave
-#define pp_leave pPerl->Perl_pp_leave
-#undef pp_leaveeval
-#define pp_leaveeval pPerl->Perl_pp_leaveeval
-#undef pp_leaveloop
-#define pp_leaveloop pPerl->Perl_pp_leaveloop
-#undef pp_leavesub
-#define pp_leavesub pPerl->Perl_pp_leavesub
-#undef pp_leavetry
-#define pp_leavetry pPerl->Perl_pp_leavetry
-#undef pp_leavewrite
-#define pp_leavewrite pPerl->Perl_pp_leavewrite
-#undef pp_left_shift
-#define pp_left_shift pPerl->Perl_pp_left_shift
-#undef pp_length
-#define pp_length pPerl->Perl_pp_length
-#undef pp_lineseq
-#define pp_lineseq pPerl->Perl_pp_lineseq
-#undef pp_link
-#define pp_link pPerl->Perl_pp_link
-#undef pp_list
-#define pp_list pPerl->Perl_pp_list
-#undef pp_listen
-#define pp_listen pPerl->Perl_pp_listen
-#undef pp_localtime
-#define pp_localtime pPerl->Perl_pp_localtime
-#undef pp_lock
-#define pp_lock pPerl->Perl_pp_lock
-#undef pp_log
-#define pp_log pPerl->Perl_pp_log
-#undef pp_lslice
-#define pp_lslice pPerl->Perl_pp_lslice
-#undef pp_lstat
-#define pp_lstat pPerl->Perl_pp_lstat
-#undef pp_lt
-#define pp_lt pPerl->Perl_pp_lt
-#undef pp_mapstart
-#define pp_mapstart pPerl->Perl_pp_mapstart
-#undef pp_mapwhile
-#define pp_mapwhile pPerl->Perl_pp_mapwhile
-#undef pp_match
-#define pp_match pPerl->Perl_pp_match
-#undef pp_method
-#define pp_method pPerl->Perl_pp_method
-#undef pp_mkdir
-#define pp_mkdir pPerl->Perl_pp_mkdir
-#undef pp_modulo
-#define pp_modulo pPerl->Perl_pp_modulo
-#undef pp_msgctl
-#define pp_msgctl pPerl->Perl_pp_msgctl
-#undef pp_msgget
-#define pp_msgget pPerl->Perl_pp_msgget
-#undef pp_msgrcv
-#define pp_msgrcv pPerl->Perl_pp_msgrcv
-#undef pp_msgsnd
-#define pp_msgsnd pPerl->Perl_pp_msgsnd
-#undef pp_multiply
-#define pp_multiply pPerl->Perl_pp_multiply
-#undef pp_ncmp
-#define pp_ncmp pPerl->Perl_pp_ncmp
-#undef pp_ne
-#define pp_ne pPerl->Perl_pp_ne
-#undef pp_negate
-#define pp_negate pPerl->Perl_pp_negate
-#undef pp_next
-#define pp_next pPerl->Perl_pp_next
-#undef pp_nextstate
-#define pp_nextstate pPerl->Perl_pp_nextstate
-#undef pp_not
-#define pp_not pPerl->Perl_pp_not
-#undef pp_null
-#define pp_null pPerl->Perl_pp_null
-#undef pp_oct
-#define pp_oct pPerl->Perl_pp_oct
-#undef pp_open
-#define pp_open pPerl->Perl_pp_open
-#undef pp_open_dir
-#define pp_open_dir pPerl->Perl_pp_open_dir
-#undef pp_or
-#define pp_or pPerl->Perl_pp_or
-#undef pp_orassign
-#define pp_orassign pPerl->Perl_pp_orassign
-#undef pp_ord
-#define pp_ord pPerl->Perl_pp_ord
-#undef pp_pack
-#define pp_pack pPerl->Perl_pp_pack
-#undef pp_padany
-#define pp_padany pPerl->Perl_pp_padany
-#undef pp_padav
-#define pp_padav pPerl->Perl_pp_padav
-#undef pp_padhv
-#define pp_padhv pPerl->Perl_pp_padhv
-#undef pp_padsv
-#define pp_padsv pPerl->Perl_pp_padsv
-#undef pp_pipe_op
-#define pp_pipe_op pPerl->Perl_pp_pipe_op
-#undef pp_pop
-#define pp_pop pPerl->Perl_pp_pop
-#undef pp_pos
-#define pp_pos pPerl->Perl_pp_pos
-#undef pp_postdec
-#define pp_postdec pPerl->Perl_pp_postdec
-#undef pp_postinc
-#define pp_postinc pPerl->Perl_pp_postinc
-#undef pp_pow
-#define pp_pow pPerl->Perl_pp_pow
-#undef pp_predec
-#define pp_predec pPerl->Perl_pp_predec
-#undef pp_preinc
-#define pp_preinc pPerl->Perl_pp_preinc
-#undef pp_print
-#define pp_print pPerl->Perl_pp_print
-#undef pp_prototype
-#define pp_prototype pPerl->Perl_pp_prototype
-#undef pp_prtf
-#define pp_prtf pPerl->Perl_pp_prtf
-#undef pp_push
-#define pp_push pPerl->Perl_pp_push
-#undef pp_pushmark
-#define pp_pushmark pPerl->Perl_pp_pushmark
-#undef pp_pushre
-#define pp_pushre pPerl->Perl_pp_pushre
-#undef pp_qr
-#define pp_qr pPerl->Perl_pp_qr
-#undef pp_quotemeta
-#define pp_quotemeta pPerl->Perl_pp_quotemeta
-#undef pp_rand
-#define pp_rand pPerl->Perl_pp_rand
-#undef pp_range
-#define pp_range pPerl->Perl_pp_range
-#undef pp_rcatline
-#define pp_rcatline pPerl->Perl_pp_rcatline
-#undef pp_read
-#define pp_read pPerl->Perl_pp_read
-#undef pp_readdir
-#define pp_readdir pPerl->Perl_pp_readdir
-#undef pp_readline
-#define pp_readline pPerl->Perl_pp_readline
-#undef pp_readlink
-#define pp_readlink pPerl->Perl_pp_readlink
-#undef pp_recv
-#define pp_recv pPerl->Perl_pp_recv
-#undef pp_redo
-#define pp_redo pPerl->Perl_pp_redo
-#undef pp_ref
-#define pp_ref pPerl->Perl_pp_ref
-#undef pp_refgen
-#define pp_refgen pPerl->Perl_pp_refgen
-#undef pp_regcmaybe
-#define pp_regcmaybe pPerl->Perl_pp_regcmaybe
-#undef pp_regcomp
-#define pp_regcomp pPerl->Perl_pp_regcomp
-#undef pp_regcreset
-#define pp_regcreset pPerl->Perl_pp_regcreset
-#undef pp_rename
-#define pp_rename pPerl->Perl_pp_rename
-#undef pp_repeat
-#define pp_repeat pPerl->Perl_pp_repeat
-#undef pp_require
-#define pp_require pPerl->Perl_pp_require
-#undef pp_reset
-#define pp_reset pPerl->Perl_pp_reset
-#undef pp_return
-#define pp_return pPerl->Perl_pp_return
-#undef pp_reverse
-#define pp_reverse pPerl->Perl_pp_reverse
-#undef pp_rewinddir
-#define pp_rewinddir pPerl->Perl_pp_rewinddir
-#undef pp_right_shift
-#define pp_right_shift pPerl->Perl_pp_right_shift
-#undef pp_rindex
-#define pp_rindex pPerl->Perl_pp_rindex
-#undef pp_rmdir
-#define pp_rmdir pPerl->Perl_pp_rmdir
-#undef pp_rv2av
-#define pp_rv2av pPerl->Perl_pp_rv2av
-#undef pp_rv2cv
-#define pp_rv2cv pPerl->Perl_pp_rv2cv
-#undef pp_rv2gv
-#define pp_rv2gv pPerl->Perl_pp_rv2gv
-#undef pp_rv2hv
-#define pp_rv2hv pPerl->Perl_pp_rv2hv
-#undef pp_rv2sv
-#define pp_rv2sv pPerl->Perl_pp_rv2sv
-#undef pp_sassign
-#define pp_sassign pPerl->Perl_pp_sassign
-#undef pp_scalar
-#define pp_scalar pPerl->Perl_pp_scalar
-#undef pp_schomp
-#define pp_schomp pPerl->Perl_pp_schomp
-#undef pp_schop
-#define pp_schop pPerl->Perl_pp_schop
-#undef pp_scmp
-#define pp_scmp pPerl->Perl_pp_scmp
-#undef pp_scope
-#define pp_scope pPerl->Perl_pp_scope
-#undef pp_seek
-#define pp_seek pPerl->Perl_pp_seek
-#undef pp_seekdir
-#define pp_seekdir pPerl->Perl_pp_seekdir
-#undef pp_select
-#define pp_select pPerl->Perl_pp_select
-#undef pp_semctl
-#define pp_semctl pPerl->Perl_pp_semctl
-#undef pp_semget
-#define pp_semget pPerl->Perl_pp_semget
-#undef pp_semop
-#define pp_semop pPerl->Perl_pp_semop
-#undef pp_send
-#define pp_send pPerl->Perl_pp_send
-#undef pp_seq
-#define pp_seq pPerl->Perl_pp_seq
-#undef pp_setpgrp
-#define pp_setpgrp pPerl->Perl_pp_setpgrp
-#undef pp_setpriority
-#define pp_setpriority pPerl->Perl_pp_setpriority
-#undef pp_sge
-#define pp_sge pPerl->Perl_pp_sge
-#undef pp_sgrent
-#define pp_sgrent pPerl->Perl_pp_sgrent
-#undef pp_sgt
-#define pp_sgt pPerl->Perl_pp_sgt
-#undef pp_shift
-#define pp_shift pPerl->Perl_pp_shift
-#undef pp_shmctl
-#define pp_shmctl pPerl->Perl_pp_shmctl
-#undef pp_shmget
-#define pp_shmget pPerl->Perl_pp_shmget
-#undef pp_shmread
-#define pp_shmread pPerl->Perl_pp_shmread
-#undef pp_shmwrite
-#define pp_shmwrite pPerl->Perl_pp_shmwrite
-#undef pp_shostent
-#define pp_shostent pPerl->Perl_pp_shostent
-#undef pp_shutdown
-#define pp_shutdown pPerl->Perl_pp_shutdown
-#undef pp_sin
-#define pp_sin pPerl->Perl_pp_sin
-#undef pp_sle
-#define pp_sle pPerl->Perl_pp_sle
-#undef pp_sleep
-#define pp_sleep pPerl->Perl_pp_sleep
-#undef pp_slt
-#define pp_slt pPerl->Perl_pp_slt
-#undef pp_sne
-#define pp_sne pPerl->Perl_pp_sne
-#undef pp_snetent
-#define pp_snetent pPerl->Perl_pp_snetent
-#undef pp_socket
-#define pp_socket pPerl->Perl_pp_socket
-#undef pp_sockpair
-#define pp_sockpair pPerl->Perl_pp_sockpair
-#undef pp_sort
-#define pp_sort pPerl->Perl_pp_sort
-#undef pp_splice
-#define pp_splice pPerl->Perl_pp_splice
-#undef pp_split
-#define pp_split pPerl->Perl_pp_split
-#undef pp_sprintf
-#define pp_sprintf pPerl->Perl_pp_sprintf
-#undef pp_sprotoent
-#define pp_sprotoent pPerl->Perl_pp_sprotoent
-#undef pp_spwent
-#define pp_spwent pPerl->Perl_pp_spwent
-#undef pp_sqrt
-#define pp_sqrt pPerl->Perl_pp_sqrt
-#undef pp_srand
-#define pp_srand pPerl->Perl_pp_srand
-#undef pp_srefgen
-#define pp_srefgen pPerl->Perl_pp_srefgen
-#undef pp_sselect
-#define pp_sselect pPerl->Perl_pp_sselect
-#undef pp_sservent
-#define pp_sservent pPerl->Perl_pp_sservent
-#undef pp_ssockopt
-#define pp_ssockopt pPerl->Perl_pp_ssockopt
-#undef pp_stat
-#define pp_stat pPerl->Perl_pp_stat
-#undef pp_stringify
-#define pp_stringify pPerl->Perl_pp_stringify
-#undef pp_stub
-#define pp_stub pPerl->Perl_pp_stub
-#undef pp_study
-#define pp_study pPerl->Perl_pp_study
-#undef pp_subst
-#define pp_subst pPerl->Perl_pp_subst
-#undef pp_substcont
-#define pp_substcont pPerl->Perl_pp_substcont
-#undef pp_substr
-#define pp_substr pPerl->Perl_pp_substr
-#undef pp_subtract
-#define pp_subtract pPerl->Perl_pp_subtract
-#undef pp_symlink
-#define pp_symlink pPerl->Perl_pp_symlink
-#undef pp_syscall
-#define pp_syscall pPerl->Perl_pp_syscall
-#undef pp_sysopen
-#define pp_sysopen pPerl->Perl_pp_sysopen
-#undef pp_sysread
-#define pp_sysread pPerl->Perl_pp_sysread
-#undef pp_sysseek
-#define pp_sysseek pPerl->Perl_pp_sysseek
-#undef pp_system
-#define pp_system pPerl->Perl_pp_system
-#undef pp_syswrite
-#define pp_syswrite pPerl->Perl_pp_syswrite
-#undef pp_tell
-#define pp_tell pPerl->Perl_pp_tell
-#undef pp_telldir
-#define pp_telldir pPerl->Perl_pp_telldir
-#undef pp_threadsv
-#define pp_threadsv pPerl->Perl_pp_threadsv
-#undef pp_tie
-#define pp_tie pPerl->Perl_pp_tie
-#undef pp_tied
-#define pp_tied pPerl->Perl_pp_tied
-#undef pp_time
-#define pp_time pPerl->Perl_pp_time
-#undef pp_tms
-#define pp_tms pPerl->Perl_pp_tms
-#undef pp_trans
-#define pp_trans pPerl->Perl_pp_trans
-#undef pp_truncate
-#define pp_truncate pPerl->Perl_pp_truncate
-#undef pp_uc
-#define pp_uc pPerl->Perl_pp_uc
-#undef pp_ucfirst
-#define pp_ucfirst pPerl->Perl_pp_ucfirst
-#undef pp_umask
-#define pp_umask pPerl->Perl_pp_umask
-#undef pp_undef
-#define pp_undef pPerl->Perl_pp_undef
-#undef pp_unlink
-#define pp_unlink pPerl->Perl_pp_unlink
-#undef pp_unpack
-#define pp_unpack pPerl->Perl_pp_unpack
-#undef pp_unshift
-#define pp_unshift pPerl->Perl_pp_unshift
-#undef pp_unstack
-#define pp_unstack pPerl->Perl_pp_unstack
-#undef pp_untie
-#define pp_untie pPerl->Perl_pp_untie
-#undef pp_utime
-#define pp_utime pPerl->Perl_pp_utime
-#undef pp_values
-#define pp_values pPerl->Perl_pp_values
-#undef pp_vec
-#define pp_vec pPerl->Perl_pp_vec
-#undef pp_wait
-#define pp_wait pPerl->Perl_pp_wait
-#undef pp_waitpid
-#define pp_waitpid pPerl->Perl_pp_waitpid
-#undef pp_wantarray
-#define pp_wantarray pPerl->Perl_pp_wantarray
-#undef pp_warn
-#define pp_warn pPerl->Perl_pp_warn
-#undef pp_xor
-#define pp_xor pPerl->Perl_pp_xor
-#undef pregcomp
-#define pregcomp pPerl->Perl_pregcomp
-#undef pregexec
-#define pregexec pPerl->Perl_pregexec
-#undef pregfree
-#define pregfree pPerl->Perl_pregfree
-#undef prepend_elem
-#define prepend_elem pPerl->Perl_prepend_elem
-#undef push_return
-#define push_return pPerl->Perl_push_return
-#undef push_scope
-#define push_scope pPerl->Perl_push_scope
-#undef pv_display
-#define pv_display pPerl->Perl_pv_display
#undef qsortsv
#define qsortsv pPerl->Perl_qsortsv
#undef re_croak2
#define re_croak2 pPerl->Perl_re_croak2
-#undef ref
-#define ref pPerl->Perl_ref
-#undef refkids
-#define refkids pPerl->Perl_refkids
#undef refto
#define refto pPerl->Perl_refto
#undef reg
@@ -2609,10 +3085,6 @@
#define regcppush pPerl->Perl_regcppush
#undef regcurly
#define regcurly pPerl->Perl_regcurly
-#undef regdump
-#define regdump pPerl->Perl_regdump
-#undef regexec_flags
-#define regexec_flags pPerl->Perl_regexec_flags
#undef reghop
#define reghop pPerl->Perl_reghop
#undef reghopmaybe
@@ -2621,22 +3093,16 @@
#define reginclass pPerl->Perl_reginclass
#undef reginclassutf8
#define reginclassutf8 pPerl->Perl_reginclassutf8
-#undef reginitcolors
-#define reginitcolors pPerl->Perl_reginitcolors
#undef reginsert
#define reginsert pPerl->Perl_reginsert
#undef regmatch
#define regmatch pPerl->Perl_regmatch
-#undef regnext
-#define regnext pPerl->Perl_regnext
#undef regoptail
#define regoptail pPerl->Perl_regoptail
#undef regpiece
#define regpiece pPerl->Perl_regpiece
#undef regpposixcc
#define regpposixcc pPerl->Perl_regpposixcc
-#undef regprop
-#define regprop pPerl->Perl_regprop
#undef regrepeat
#define regrepeat pPerl->Perl_regrepeat
#undef regrepeat_hard
@@ -2651,8 +3117,6 @@
#define reguni pPerl->Perl_reguni
#undef regwhite
#define regwhite pPerl->Perl_regwhite
-#undef repeatcpy
-#define repeatcpy pPerl->Perl_repeatcpy
#undef restore_expect
#define restore_expect pPerl->Perl_restore_expect
#undef restore_lex_expect
@@ -2663,138 +3127,16 @@
#define restore_pos pPerl->Perl_restore_pos
#undef restore_rsfp
#define restore_rsfp pPerl->Perl_restore_rsfp
-#undef rninstr
-#define rninstr pPerl->Perl_rninstr
-#undef rsignal
-#define rsignal pPerl->Perl_rsignal
-#undef rsignal_restore
-#define rsignal_restore pPerl->Perl_rsignal_restore
-#undef rsignal_save
-#define rsignal_save pPerl->Perl_rsignal_save
-#undef rsignal_state
-#define rsignal_state pPerl->Perl_rsignal_state
-#undef runops_debug
-#define runops_debug pPerl->Perl_runops_debug
-#undef runops_debug
-#define runops_debug pPerl->Perl_runops_debug
-#undef runops_standard
-#define runops_standard pPerl->Perl_runops_standard
-#undef runops_standard
-#define runops_standard pPerl->Perl_runops_standard
-#undef rxres_free
-#define rxres_free pPerl->Perl_rxres_free
-#undef rxres_restore
-#define rxres_restore pPerl->Perl_rxres_restore
-#undef rxres_save
-#define rxres_save pPerl->Perl_rxres_save
-#undef safesyscalloc
-#define safesyscalloc pPerl->Perl_safesyscalloc
-#undef safesysfree
-#define safesysfree pPerl->Perl_safesysfree
-#undef safesysmalloc
-#define safesysmalloc pPerl->Perl_safesysmalloc
-#undef safesysrealloc
-#define safesysrealloc pPerl->Perl_safesysrealloc
-#undef safexcalloc
-#define safexcalloc pPerl->Perl_safexcalloc
-#undef safexfree
-#define safexfree pPerl->Perl_safexfree
-#undef safexmalloc
-#define safexmalloc pPerl->Perl_safexmalloc
-#undef safexrealloc
-#define safexrealloc pPerl->Perl_safexrealloc
-#undef same_dirent
-#define same_dirent pPerl->Perl_same_dirent
-#undef save_I16
-#define save_I16 pPerl->Perl_save_I16
-#undef save_I32
-#define save_I32 pPerl->Perl_save_I32
-#undef save_aelem
-#define save_aelem pPerl->Perl_save_aelem
-#undef save_alloc
-#define save_alloc pPerl->Perl_save_alloc
-#undef save_aptr
-#define save_aptr pPerl->Perl_save_aptr
-#undef save_ary
-#define save_ary pPerl->Perl_save_ary
-#undef save_clearsv
-#define save_clearsv pPerl->Perl_save_clearsv
-#undef save_delete
-#define save_delete pPerl->Perl_save_delete
-#undef save_destructor
-#define save_destructor pPerl->Perl_save_destructor
-#undef save_freeop
-#define save_freeop pPerl->Perl_save_freeop
-#undef save_freepv
-#define save_freepv pPerl->Perl_save_freepv
-#undef save_freesv
-#define save_freesv pPerl->Perl_save_freesv
-#undef save_generic_svref
-#define save_generic_svref pPerl->Perl_save_generic_svref
-#undef save_gp
-#define save_gp pPerl->Perl_save_gp
-#undef save_hash
-#define save_hash pPerl->Perl_save_hash
#undef save_hek
#define save_hek pPerl->Perl_save_hek
-#undef save_helem
-#define save_helem pPerl->Perl_save_helem
-#undef save_hints
-#define save_hints pPerl->Perl_save_hints
-#undef save_hptr
-#define save_hptr pPerl->Perl_save_hptr
-#undef save_int
-#define save_int pPerl->Perl_save_int
-#undef save_item
-#define save_item pPerl->Perl_save_item
-#undef save_iv
-#define save_iv pPerl->Perl_save_iv
#undef save_lines
#define save_lines pPerl->Perl_save_lines
-#undef save_list
-#define save_list pPerl->Perl_save_list
-#undef save_long
-#define save_long pPerl->Perl_save_long
#undef save_magic
#define save_magic pPerl->Perl_save_magic
-#undef save_nogv
-#define save_nogv pPerl->Perl_save_nogv
-#undef save_op
-#define save_op pPerl->Perl_save_op
-#undef save_pptr
-#define save_pptr pPerl->Perl_save_pptr
-#undef save_re_context
-#define save_re_context pPerl->Perl_save_re_context
-#undef save_scalar
-#define save_scalar pPerl->Perl_save_scalar
#undef save_scalar_at
#define save_scalar_at pPerl->Perl_save_scalar_at
-#undef save_sptr
-#define save_sptr pPerl->Perl_save_sptr
-#undef save_svref
-#define save_svref pPerl->Perl_save_svref
-#undef save_threadsv
-#define save_threadsv pPerl->Perl_save_threadsv
-#undef savepv
-#define savepv pPerl->Perl_savepv
-#undef savepvn
-#define savepvn pPerl->Perl_savepvn
-#undef savestack_grow
-#define savestack_grow pPerl->Perl_savestack_grow
-#undef sawparens
-#define sawparens pPerl->Perl_sawparens
-#undef scalar
-#define scalar pPerl->Perl_scalar
#undef scalarboolean
#define scalarboolean pPerl->Perl_scalarboolean
-#undef scalarkids
-#define scalarkids pPerl->Perl_scalarkids
-#undef scalarseq
-#define scalarseq pPerl->Perl_scalarseq
-#undef scalarvoid
-#define scalarvoid pPerl->Perl_scalarvoid
-#undef scan_bin
-#define scan_bin pPerl->Perl_scan_bin
#undef scan_commit
#define scan_commit pPerl->Perl_scan_commit
#undef scan_const
@@ -2803,16 +3145,10 @@
#define scan_formline pPerl->Perl_scan_formline
#undef scan_heredoc
#define scan_heredoc pPerl->Perl_scan_heredoc
-#undef scan_hex
-#define scan_hex pPerl->Perl_scan_hex
#undef scan_ident
#define scan_ident pPerl->Perl_scan_ident
#undef scan_inputsymbol
#define scan_inputsymbol pPerl->Perl_scan_inputsymbol
-#undef scan_num
-#define scan_num pPerl->Perl_scan_num
-#undef scan_oct
-#define scan_oct pPerl->Perl_scan_oct
#undef scan_pat
#define scan_pat pPerl->Perl_scan_pat
#undef scan_str
@@ -2823,266 +3159,34 @@
#define scan_trans pPerl->Perl_scan_trans
#undef scan_word
#define scan_word pPerl->Perl_scan_word
-#undef scope
-#define scope pPerl->Perl_scope
-#undef screaminstr
-#define screaminstr pPerl->Perl_screaminstr
#undef seed
#define seed pPerl->Perl_seed
#undef set_csh
#define set_csh pPerl->Perl_set_csh
-#undef setdefout
-#define setdefout pPerl->Perl_setdefout
-#undef setenv_getix
-#define setenv_getix pPerl->Perl_setenv_getix
-#undef share_hek
-#define share_hek pPerl->Perl_share_hek
-#undef sharepvn
-#define sharepvn pPerl->Perl_sharepvn
-#undef sighandler
-#define sighandler pPerl->Perl_sighandler
#undef simplify_sort
#define simplify_sort pPerl->Perl_simplify_sort
#undef skipspace
#define skipspace pPerl->Perl_skipspace
#undef sortcv
#define sortcv pPerl->Perl_sortcv
-#undef stack_grow
-#define stack_grow pPerl->Perl_stack_grow
-#undef start_subparse
-#define start_subparse pPerl->Perl_start_subparse
#undef study_chunk
#define study_chunk pPerl->Perl_study_chunk
-#undef sub_crush_depth
-#define sub_crush_depth pPerl->Perl_sub_crush_depth
#undef sublex_done
#define sublex_done pPerl->Perl_sublex_done
#undef sublex_push
#define sublex_push pPerl->Perl_sublex_push
#undef sublex_start
#define sublex_start pPerl->Perl_sublex_start
-#undef sv_2bool
-#define sv_2bool pPerl->Perl_sv_2bool
-#undef sv_2cv
-#define sv_2cv pPerl->Perl_sv_2cv
-#undef sv_2io
-#define sv_2io pPerl->Perl_sv_2io
-#undef sv_2iv
-#define sv_2iv pPerl->Perl_sv_2iv
-#undef sv_2mortal
-#define sv_2mortal pPerl->Perl_sv_2mortal
-#undef sv_2nv
-#define sv_2nv pPerl->Perl_sv_2nv
-#undef sv_2pv
-#define sv_2pv pPerl->Perl_sv_2pv
-#undef sv_2pv_nolen
-#define sv_2pv_nolen pPerl->Perl_sv_2pv_nolen
-#undef sv_2uv
-#define sv_2uv pPerl->Perl_sv_2uv
-#undef sv_add_arena
-#define sv_add_arena pPerl->Perl_sv_add_arena
#undef sv_add_backref
#define sv_add_backref pPerl->Perl_sv_add_backref
-#undef sv_backoff
-#define sv_backoff pPerl->Perl_sv_backoff
-#undef sv_bless
-#define sv_bless pPerl->Perl_sv_bless
-#undef sv_catpv
-#define sv_catpv pPerl->Perl_sv_catpv
-#undef sv_catpv_mg
-#define sv_catpv_mg pPerl->Perl_sv_catpv_mg
-#undef sv_catpvf
-#define sv_catpvf pPerl->Perl_sv_catpvf
-#undef sv_catpvf_mg
-#define sv_catpvf_mg pPerl->Perl_sv_catpvf_mg
-#undef sv_catpvn
-#define sv_catpvn pPerl->Perl_sv_catpvn
-#undef sv_catpvn_mg
-#define sv_catpvn_mg pPerl->Perl_sv_catpvn_mg
-#undef sv_catsv
-#define sv_catsv pPerl->Perl_sv_catsv
-#undef sv_catsv_mg
-#define sv_catsv_mg pPerl->Perl_sv_catsv_mg
-#undef sv_chop
-#define sv_chop pPerl->Perl_sv_chop
-#undef sv_clean_all
-#define sv_clean_all pPerl->Perl_sv_clean_all
-#undef sv_clean_objs
-#define sv_clean_objs pPerl->Perl_sv_clean_objs
-#undef sv_clear
-#define sv_clear pPerl->Perl_sv_clear
-#undef sv_cmp
-#define sv_cmp pPerl->Perl_sv_cmp
-#undef sv_cmp_locale
-#define sv_cmp_locale pPerl->Perl_sv_cmp_locale
-#undef sv_collxfrm
-#define sv_collxfrm pPerl->Perl_sv_collxfrm
-#undef sv_compile_2op
-#define sv_compile_2op pPerl->Perl_sv_compile_2op
-#undef sv_dec
-#define sv_dec pPerl->Perl_sv_dec
#undef sv_del_backref
#define sv_del_backref pPerl->Perl_sv_del_backref
-#undef sv_derived_from
-#define sv_derived_from pPerl->Perl_sv_derived_from
-#undef sv_dump
-#define sv_dump pPerl->Perl_sv_dump
-#undef sv_eq
-#define sv_eq pPerl->Perl_sv_eq
-#undef sv_force_normal
-#define sv_force_normal pPerl->Perl_sv_force_normal
-#undef sv_free
-#define sv_free pPerl->Perl_sv_free
-#undef sv_free_arenas
-#define sv_free_arenas pPerl->Perl_sv_free_arenas
-#undef sv_gets
-#define sv_gets pPerl->Perl_sv_gets
-#undef sv_grow
-#define sv_grow pPerl->Perl_sv_grow
#undef sv_i_ncmp
#define sv_i_ncmp pPerl->Perl_sv_i_ncmp
-#undef sv_inc
-#define sv_inc pPerl->Perl_sv_inc
-#undef sv_insert
-#define sv_insert pPerl->Perl_sv_insert
-#undef sv_isa
-#define sv_isa pPerl->Perl_sv_isa
-#undef sv_isobject
-#define sv_isobject pPerl->Perl_sv_isobject
-#undef sv_iv
-#define sv_iv pPerl->Perl_sv_iv
-#undef sv_len
-#define sv_len pPerl->Perl_sv_len
-#undef sv_len_utf8
-#define sv_len_utf8 pPerl->Perl_sv_len_utf8
-#undef sv_magic
-#define sv_magic pPerl->Perl_sv_magic
-#undef sv_mortalcopy
-#define sv_mortalcopy pPerl->Perl_sv_mortalcopy
#undef sv_ncmp
#define sv_ncmp pPerl->Perl_sv_ncmp
-#undef sv_newmortal
-#define sv_newmortal pPerl->Perl_sv_newmortal
-#undef sv_newref
-#define sv_newref pPerl->Perl_sv_newref
-#undef sv_nv
-#define sv_nv pPerl->Perl_sv_nv
-#undef sv_peek
-#define sv_peek pPerl->Perl_sv_peek
-#undef sv_pos_b2u
-#define sv_pos_b2u pPerl->Perl_sv_pos_b2u
-#undef sv_pos_u2b
-#define sv_pos_u2b pPerl->Perl_sv_pos_u2b
-#undef sv_pv
-#define sv_pv pPerl->Perl_sv_pv
-#undef sv_pvn
-#define sv_pvn pPerl->Perl_sv_pvn
-#undef sv_pvn_force
-#define sv_pvn_force pPerl->Perl_sv_pvn_force
-#undef sv_reftype
-#define sv_reftype pPerl->Perl_sv_reftype
-#undef sv_replace
-#define sv_replace pPerl->Perl_sv_replace
-#undef sv_report_used
-#define sv_report_used pPerl->Perl_sv_report_used
-#undef sv_reset
-#define sv_reset pPerl->Perl_sv_reset
-#undef sv_rvweaken
-#define sv_rvweaken pPerl->Perl_sv_rvweaken
-#undef sv_setiv
-#define sv_setiv pPerl->Perl_sv_setiv
-#undef sv_setiv_mg
-#define sv_setiv_mg pPerl->Perl_sv_setiv_mg
-#undef sv_setnv
-#define sv_setnv pPerl->Perl_sv_setnv
-#undef sv_setnv_mg
-#define sv_setnv_mg pPerl->Perl_sv_setnv_mg
-#undef sv_setpv
-#define sv_setpv pPerl->Perl_sv_setpv
-#undef sv_setpv_mg
-#define sv_setpv_mg pPerl->Perl_sv_setpv_mg
-#undef sv_setpvf
-#define sv_setpvf pPerl->Perl_sv_setpvf
-#undef sv_setpvf_mg
-#define sv_setpvf_mg pPerl->Perl_sv_setpvf_mg
-#undef sv_setpviv
-#define sv_setpviv pPerl->Perl_sv_setpviv
-#undef sv_setpviv_mg
-#define sv_setpviv_mg pPerl->Perl_sv_setpviv_mg
-#undef sv_setpvn
-#define sv_setpvn pPerl->Perl_sv_setpvn
-#undef sv_setpvn_mg
-#define sv_setpvn_mg pPerl->Perl_sv_setpvn_mg
-#undef sv_setref_iv
-#define sv_setref_iv pPerl->Perl_sv_setref_iv
-#undef sv_setref_nv
-#define sv_setref_nv pPerl->Perl_sv_setref_nv
-#undef sv_setref_pv
-#define sv_setref_pv pPerl->Perl_sv_setref_pv
-#undef sv_setref_pvn
-#define sv_setref_pvn pPerl->Perl_sv_setref_pvn
-#undef sv_setsv
-#define sv_setsv pPerl->Perl_sv_setsv
-#undef sv_setsv_mg
-#define sv_setsv_mg pPerl->Perl_sv_setsv_mg
-#undef sv_setuv
-#define sv_setuv pPerl->Perl_sv_setuv
-#undef sv_setuv_mg
-#define sv_setuv_mg pPerl->Perl_sv_setuv_mg
-#undef sv_taint
-#define sv_taint pPerl->Perl_sv_taint
-#undef sv_tainted
-#define sv_tainted pPerl->Perl_sv_tainted
-#undef sv_true
-#define sv_true pPerl->Perl_sv_true
#undef sv_unglob
#define sv_unglob pPerl->Perl_sv_unglob
-#undef sv_unmagic
-#define sv_unmagic pPerl->Perl_sv_unmagic
-#undef sv_unref
-#define sv_unref pPerl->Perl_sv_unref
-#undef sv_untaint
-#define sv_untaint pPerl->Perl_sv_untaint
-#undef sv_upgrade
-#define sv_upgrade pPerl->Perl_sv_upgrade
-#undef sv_usepvn
-#define sv_usepvn pPerl->Perl_sv_usepvn
-#undef sv_usepvn_mg
-#define sv_usepvn_mg pPerl->Perl_sv_usepvn_mg
-#undef sv_uv
-#define sv_uv pPerl->Perl_sv_uv
-#undef sv_vcatpvfn
-#define sv_vcatpvfn pPerl->Perl_sv_vcatpvfn
-#undef sv_vsetpvfn
-#define sv_vsetpvfn pPerl->Perl_sv_vsetpvfn
-#undef swash_fetch
-#define swash_fetch pPerl->Perl_swash_fetch
-#undef swash_init
-#define swash_init pPerl->Perl_swash_init
-#undef taint_env
-#define taint_env pPerl->Perl_taint_env
-#undef taint_proper
-#define taint_proper pPerl->Perl_taint_proper
-#undef tmps_grow
-#define tmps_grow pPerl->Perl_tmps_grow
-#undef to_uni_lower
-#define to_uni_lower pPerl->Perl_to_uni_lower
-#undef to_uni_lower_lc
-#define to_uni_lower_lc pPerl->Perl_to_uni_lower_lc
-#undef to_uni_title
-#define to_uni_title pPerl->Perl_to_uni_title
-#undef to_uni_title_lc
-#define to_uni_title_lc pPerl->Perl_to_uni_title_lc
-#undef to_uni_upper
-#define to_uni_upper pPerl->Perl_to_uni_upper
-#undef to_uni_upper_lc
-#define to_uni_upper_lc pPerl->Perl_to_uni_upper_lc
-#undef to_utf8_lower
-#define to_utf8_lower pPerl->Perl_to_utf8_lower
-#undef to_utf8_title
-#define to_utf8_title pPerl->Perl_to_utf8_title
-#undef to_utf8_upper
-#define to_utf8_upper pPerl->Perl_to_utf8_upper
#undef tokeq
#define tokeq pPerl->Perl_tokeq
#undef too_few_arguments
@@ -3091,63 +3195,15 @@
#define too_many_arguments pPerl->Perl_too_many_arguments
#undef uni
#define uni pPerl->Perl_uni
-#undef unlnk
-#define unlnk pPerl->Perl_unlnk
-#undef unlock_condpair
-#define unlock_condpair pPerl->Perl_unlock_condpair
-#undef unshare_hek
-#define unshare_hek pPerl->Perl_unshare_hek
-#undef unsharepvn
-#define unsharepvn pPerl->Perl_unsharepvn
#undef unwind_handler_stack
#define unwind_handler_stack pPerl->Perl_unwind_handler_stack
#undef usage
#define usage pPerl->Perl_usage
-#undef utf16_to_utf8
-#define utf16_to_utf8 pPerl->Perl_utf16_to_utf8
-#undef utf16_to_utf8_reversed
-#define utf16_to_utf8_reversed pPerl->Perl_utf16_to_utf8_reversed
-#undef utf8_distance
-#define utf8_distance pPerl->Perl_utf8_distance
-#undef utf8_hop
-#define utf8_hop pPerl->Perl_utf8_hop
-#undef utf8_to_uv
-#define utf8_to_uv pPerl->Perl_utf8_to_uv
-#undef utilize
-#define utilize pPerl->Perl_utilize
-#undef uv_to_utf8
-#define uv_to_utf8 pPerl->Perl_uv_to_utf8
#undef validate_suid
#define validate_suid pPerl->Perl_validate_suid
#undef visit
#define visit pPerl->Perl_visit
-#undef vivify_defelem
-#define vivify_defelem pPerl->Perl_vivify_defelem
-#undef vivify_ref
-#define vivify_ref pPerl->Perl_vivify_ref
-#undef wait4pid
-#define wait4pid pPerl->Perl_wait4pid
-#undef warn
-#define warn pPerl->Perl_warn
-#undef warner
-#define warner pPerl->Perl_warner
-#undef watch
-#define watch pPerl->Perl_watch
-#undef whichsig
-#define whichsig pPerl->Perl_whichsig
#undef win32_textfilter
#define win32_textfilter pPerl->Perl_win32_textfilter
-#undef yydestruct
-#define yydestruct pPerl->Perl_yydestruct
-#undef yydestruct
-#define yydestruct pPerl->Perl_yydestruct
-#undef yyerror
-#define yyerror pPerl->Perl_yyerror
-#undef yylex
-#define yylex pPerl->Perl_yylex
-#undef yyparse
-#define yyparse pPerl->Perl_yyparse
-#undef yywarn
-#define yywarn pPerl->Perl_yywarn
#endif /* __objXSUB_h__ */
diff --git a/op.c b/op.c
index 4993c2cab3..91e996eac2 100644
--- a/op.c
+++ b/op.c
@@ -16,6 +16,7 @@
*/
#include "EXTERN.h"
+#define PERL_IN_OP_C
#include "perl.h"
#ifdef PERL_OBJECT
@@ -36,8 +37,8 @@ static int PL_OpSpace = 0;
var = (type *) Slab_Alloc(m,c*sizeof(type)); \
} while (0)
-static void *
-Slab_Alloc(int m, size_t sz)
+STATIC void *
+Slab_Alloc(pTHX_ int m, size_t sz)
{
Newz(m,PL_OpPtr,SLAB_SIZE,char);
PL_OpSpace = SLAB_SIZE - sz;
@@ -60,27 +61,8 @@ Slab_Alloc(int m, size_t sz)
#define PAD_MAX 999999999
-static bool scalar_mod_type (OP *o, I32 type);
-#ifndef PERL_OBJECT
-static I32 list_assignment (OP *o);
-static void bad_type (I32 n, char *t, char *name, OP *kid);
-static OP *modkids (OP *o, I32 type);
-static OP *no_fh_allowed (OP *o);
-static void no_bareword_allowed (OP *o);
-static OP *scalarboolean (OP *o);
-static OP *too_few_arguments (OP *o, char* name);
-static OP *too_many_arguments (OP *o, char* name);
-static void null (OP* o);
-static PADOFFSET pad_findlex (char* name, PADOFFSET newoff, U32 seq,
- CV* startcv, I32 cx_ix, I32 saweval, U32 flags);
-static OP *newDEFSVOP (void);
-static OP *new_logop (I32 type, I32 flags, OP **firstp, OP **otherp);
-static void simplify_sort (OP *o);
-static bool is_handle_constructor (OP *o, I32 argnum);
-#endif
-
STATIC char*
-gv_ename(GV *gv)
+gv_ename(pTHX_ GV *gv)
{
STRLEN n_a;
SV* tmpsv = sv_newmortal();
@@ -89,7 +71,7 @@ gv_ename(GV *gv)
}
STATIC OP *
-no_fh_allowed(OP *o)
+no_fh_allowed(pTHX_ OP *o)
{
yyerror(form("Missing comma after first argument to %s function",
PL_op_desc[o->op_type]));
@@ -97,28 +79,28 @@ no_fh_allowed(OP *o)
}
STATIC OP *
-too_few_arguments(OP *o, char *name)
+too_few_arguments(pTHX_ OP *o, char *name)
{
yyerror(form("Not enough arguments for %s", name));
return o;
}
STATIC OP *
-too_many_arguments(OP *o, char *name)
+too_many_arguments(pTHX_ OP *o, char *name)
{
yyerror(form("Too many arguments for %s", name));
return o;
}
STATIC void
-bad_type(I32 n, char *t, char *name, OP *kid)
+bad_type(pTHX_ I32 n, char *t, char *name, OP *kid)
{
yyerror(form("Type of arg %d to %s must be %s (not %s)",
(int)n, name, t, PL_op_desc[kid->op_type]));
}
STATIC void
-no_bareword_allowed(OP *o)
+no_bareword_allowed(pTHX_ OP *o)
{
warn("Bareword \"%s\" not allowed while \"strict subs\" in use",
SvPV_nolen(cSVOPo->op_sv));
@@ -126,7 +108,7 @@ no_bareword_allowed(OP *o)
}
void
-assertref(OP *o)
+Perl_assertref(pTHX_ OP *o)
{
int type = o->op_type;
if (type != OP_AELEM && type != OP_HELEM && type != OP_GELEM) {
@@ -149,7 +131,7 @@ assertref(OP *o)
/* "register" allocation */
PADOFFSET
-pad_allocmy(char *name)
+Perl_pad_allocmy(pTHX_ char *name)
{
dTHR;
PADOFFSET off;
@@ -226,8 +208,8 @@ pad_allocmy(char *name)
#define FINDLEX_NOSEARCH 1 /* don't search outer contexts */
STATIC PADOFFSET
-pad_findlex(char *name, PADOFFSET newoff, U32 seq, CV* startcv, I32 cx_ix, I32 saweval,
- U32 flags)
+pad_findlex(pTHX_ char *name, PADOFFSET newoff, U32 seq, CV* startcv,
+ I32 cx_ix, I32 saweval, U32 flags)
{
dTHR;
CV *cv;
@@ -367,7 +349,7 @@ pad_findlex(char *name, PADOFFSET newoff, U32 seq, CV* startcv, I32 cx_ix, I32 s
}
PADOFFSET
-pad_findmy(char *name)
+Perl_pad_findmy(pTHX_ char *name)
{
dTHR;
I32 off;
@@ -430,7 +412,7 @@ pad_findmy(char *name)
}
void
-pad_leavemy(I32 fill)
+Perl_pad_leavemy(pTHX_ I32 fill)
{
I32 off;
SV **svp = AvARRAY(PL_comppad_name);
@@ -449,7 +431,7 @@ pad_leavemy(I32 fill)
}
PADOFFSET
-pad_alloc(I32 optype, U32 tmptype)
+Perl_pad_alloc(pTHX_ I32 optype, U32 tmptype)
{
dTHR;
SV *sv;
@@ -498,7 +480,7 @@ pad_alloc(I32 optype, U32 tmptype)
}
SV *
-pad_sv(PADOFFSET po)
+Perl_pad_sv(pTHX_ PADOFFSET po)
{
dTHR;
#ifdef USE_THREADS
@@ -514,7 +496,7 @@ pad_sv(PADOFFSET po)
}
void
-pad_free(PADOFFSET po)
+Perl_pad_free(pTHX_ PADOFFSET po)
{
dTHR;
if (!PL_curpad)
@@ -537,7 +519,7 @@ pad_free(PADOFFSET po)
}
void
-pad_swipe(PADOFFSET po)
+Perl_pad_swipe(pTHX_ PADOFFSET po)
{
dTHR;
if (AvARRAY(PL_comppad) != PL_curpad)
@@ -565,7 +547,7 @@ pad_swipe(PADOFFSET po)
* We avoid doing this until we can think of a Better Way.
* GSAR 97-10-29 */
void
-pad_reset(void)
+Perl_pad_reset(pTHX)
{
#ifdef USE_BROKEN_PAD_RESET
dTHR;
@@ -594,7 +576,7 @@ pad_reset(void)
#ifdef USE_THREADS
/* find_threadsv is not reentrant */
PADOFFSET
-find_threadsv(const char *name)
+Perl_find_threadsv(pTHX_ const char *name)
{
dTHR;
char *p;
@@ -662,7 +644,7 @@ find_threadsv(const char *name)
/* Destructor */
void
-op_free(OP *o)
+Perl_op_free(pTHX_ OP *o)
{
register OP *kid, *nextkid;
@@ -748,7 +730,7 @@ op_free(OP *o)
}
STATIC void
-null(OP *o)
+null(pTHX_ OP *o)
{
if (o->op_type != OP_NULL && o->op_type != OP_THREADSV && o->op_targ > 0)
pad_free(o->op_targ);
@@ -762,7 +744,7 @@ null(OP *o)
#define LINKLIST(o) ((o)->op_next ? (o)->op_next : linklist((OP*)o))
OP *
-linklist(OP *o)
+Perl_linklist(pTHX_ OP *o)
{
register OP *kid;
@@ -786,7 +768,7 @@ linklist(OP *o)
}
OP *
-scalarkids(OP *o)
+Perl_scalarkids(pTHX_ OP *o)
{
OP *kid;
if (o && o->op_flags & OPf_KIDS) {
@@ -797,7 +779,7 @@ scalarkids(OP *o)
}
STATIC OP *
-scalarboolean(OP *o)
+scalarboolean(pTHX_ OP *o)
{
if (o->op_type == OP_SASSIGN && cBINOPo->op_first->op_type == OP_CONST) {
dTHR;
@@ -814,7 +796,7 @@ scalarboolean(OP *o)
}
OP *
-scalar(OP *o)
+Perl_scalar(pTHX_ OP *o)
{
OP *kid;
@@ -881,7 +863,7 @@ scalar(OP *o)
}
OP *
-scalarvoid(OP *o)
+Perl_scalarvoid(pTHX_ OP *o)
{
OP *kid;
char* useless = 0;
@@ -1081,7 +1063,7 @@ scalarvoid(OP *o)
}
OP *
-listkids(OP *o)
+Perl_listkids(pTHX_ OP *o)
{
OP *kid;
if (o && o->op_flags & OPf_KIDS) {
@@ -1092,7 +1074,7 @@ listkids(OP *o)
}
OP *
-list(OP *o)
+Perl_list(pTHX_ OP *o)
{
OP *kid;
@@ -1159,7 +1141,7 @@ list(OP *o)
}
OP *
-scalarseq(OP *o)
+Perl_scalarseq(pTHX_ OP *o)
{
OP *kid;
@@ -1187,7 +1169,7 @@ scalarseq(OP *o)
}
STATIC OP *
-modkids(OP *o, I32 type)
+modkids(pTHX_ OP *o, I32 type)
{
OP *kid;
if (o && o->op_flags & OPf_KIDS) {
@@ -1198,7 +1180,7 @@ modkids(OP *o, I32 type)
}
OP *
-mod(OP *o, I32 type)
+Perl_mod(pTHX_ OP *o, I32 type)
{
dTHR;
OP *kid;
@@ -1408,8 +1390,8 @@ mod(OP *o, I32 type)
return o;
}
-static bool
-scalar_mod_type(OP *o, I32 type)
+STATIC bool
+scalar_mod_type(pTHX_ OP *o, I32 type)
{
switch (type) {
case OP_SASSIGN:
@@ -1456,7 +1438,7 @@ scalar_mod_type(OP *o, I32 type)
}
STATIC bool
-is_handle_constructor(OP *o, I32 argnum)
+is_handle_constructor(pTHX_ OP *o, I32 argnum)
{
switch (o->op_type) {
case OP_PIPE_OP:
@@ -1479,7 +1461,7 @@ is_handle_constructor(OP *o, I32 argnum)
}
OP *
-refkids(OP *o, I32 type)
+Perl_refkids(pTHX_ OP *o, I32 type)
{
OP *kid;
if (o && o->op_flags & OPf_KIDS) {
@@ -1490,7 +1472,7 @@ refkids(OP *o, I32 type)
}
OP *
-ref(OP *o, I32 type)
+Perl_ref(pTHX_ OP *o, I32 type)
{
OP *kid;
@@ -1579,7 +1561,7 @@ ref(OP *o, I32 type)
}
OP *
-my(OP *o)
+Perl_my(pTHX_ OP *o)
{
OP *kid;
I32 type;
@@ -1607,7 +1589,7 @@ my(OP *o)
}
OP *
-sawparens(OP *o)
+Perl_sawparens(pTHX_ OP *o)
{
if (o)
o->op_flags |= OPf_PARENS;
@@ -1615,7 +1597,7 @@ sawparens(OP *o)
}
OP *
-bind_match(I32 type, OP *left, OP *right)
+Perl_bind_match(pTHX_ I32 type, OP *left, OP *right)
{
dTHR;
OP *o;
@@ -1656,7 +1638,7 @@ bind_match(I32 type, OP *left, OP *right)
}
OP *
-invert(OP *o)
+Perl_invert(pTHX_ OP *o)
{
if (!o)
return o;
@@ -1665,7 +1647,7 @@ invert(OP *o)
}
OP *
-scope(OP *o)
+Perl_scope(pTHX_ OP *o)
{
if (o) {
if (o->op_flags & OPf_PARENS || PERLDB_NOOPT || PL_tainting) {
@@ -1692,7 +1674,7 @@ scope(OP *o)
}
void
-save_hints(void)
+Perl_save_hints(pTHX)
{
SAVEI32(PL_hints);
SAVESPTR(GvHV(PL_hintgv));
@@ -1701,7 +1683,7 @@ save_hints(void)
}
int
-block_start(int full)
+Perl_block_start(pTHX_ int full)
{
dTHR;
int retval = PL_savestack_ix;
@@ -1734,7 +1716,7 @@ block_start(int full)
}
OP*
-block_end(I32 floor, OP *seq)
+Perl_block_end(pTHX_ I32 floor, OP *seq)
{
dTHR;
int needblockscope = PL_hints & HINT_BLOCK_SCOPE;
@@ -1750,7 +1732,7 @@ block_end(I32 floor, OP *seq)
}
STATIC OP *
-newDEFSVOP(void)
+newDEFSVOP(pTHX)
{
#ifdef USE_THREADS
OP *o = newOP(OP_THREADSV, 0);
@@ -1762,7 +1744,7 @@ newDEFSVOP(void)
}
void
-newPROG(OP *o)
+Perl_newPROG(pTHX_ OP *o)
{
dTHR;
if (PL_in_eval) {
@@ -1787,20 +1769,20 @@ newPROG(OP *o)
/* Register with debugger */
if (PERLDB_INTER) {
- CV *cv = perl_get_cv("DB::postponed", FALSE);
+ CV *cv = get_cv("DB::postponed", FALSE);
if (cv) {
dSP;
PUSHMARK(SP);
XPUSHs((SV*)PL_compiling.cop_filegv);
PUTBACK;
- perl_call_sv((SV*)cv, G_DISCARD);
+ call_sv((SV*)cv, G_DISCARD);
}
}
}
}
OP *
-localize(OP *o, I32 lex)
+Perl_localize(pTHX_ OP *o, I32 lex)
{
if (o->op_flags & OPf_PARENS)
list(o);
@@ -1823,7 +1805,7 @@ localize(OP *o, I32 lex)
}
OP *
-jmaybe(OP *o)
+Perl_jmaybe(pTHX_ OP *o)
{
if (o->op_type == OP_LIST) {
OP *o2;
@@ -1839,7 +1821,7 @@ jmaybe(OP *o)
}
OP *
-fold_constants(register OP *o)
+Perl_fold_constants(pTHX_ register OP *o)
{
dTHR;
register OP *curop;
@@ -1946,7 +1928,7 @@ fold_constants(register OP *o)
}
OP *
-gen_constant_list(register OP *o)
+Perl_gen_constant_list(pTHX_ register OP *o)
{
dTHR;
register OP *curop;
@@ -1974,7 +1956,7 @@ gen_constant_list(register OP *o)
}
OP *
-convert(I32 type, I32 flags, OP *o)
+Perl_convert(pTHX_ I32 type, I32 flags, OP *o)
{
OP *kid;
OP *last = 0;
@@ -2008,7 +1990,7 @@ convert(I32 type, I32 flags, OP *o)
/* List constructors */
OP *
-append_elem(I32 type, OP *first, OP *last)
+Perl_append_elem(pTHX_ I32 type, OP *first, OP *last)
{
if (!first)
return last;
@@ -2031,7 +2013,7 @@ append_elem(I32 type, OP *first, OP *last)
}
OP *
-append_list(I32 type, LISTOP *first, LISTOP *last)
+Perl_append_list(pTHX_ I32 type, LISTOP *first, LISTOP *last)
{
if (!first)
return (OP*)last;
@@ -2059,7 +2041,7 @@ append_list(I32 type, LISTOP *first, LISTOP *last)
}
OP *
-prepend_elem(I32 type, OP *first, OP *last)
+Perl_prepend_elem(pTHX_ I32 type, OP *first, OP *last)
{
if (!first)
return last;
@@ -2090,13 +2072,13 @@ prepend_elem(I32 type, OP *first, OP *last)
/* Constructors */
OP *
-newNULLLIST(void)
+Perl_newNULLLIST(pTHX)
{
return newOP(OP_STUB, 0);
}
OP *
-force_list(OP *o)
+Perl_force_list(pTHX_ OP *o)
{
if (!o || o->op_type != OP_LIST)
o = newLISTOP(OP_LIST, 0, o, Nullop);
@@ -2105,7 +2087,7 @@ force_list(OP *o)
}
OP *
-newLISTOP(I32 type, I32 flags, OP *first, OP *last)
+Perl_newLISTOP(pTHX_ I32 type, I32 flags, OP *first, OP *last)
{
LISTOP *listop;
@@ -2140,7 +2122,7 @@ newLISTOP(I32 type, I32 flags, OP *first, OP *last)
}
OP *
-newOP(I32 type, I32 flags)
+Perl_newOP(pTHX_ I32 type, I32 flags)
{
OP *o;
NewOp(1101, o, 1, OP);
@@ -2158,7 +2140,7 @@ newOP(I32 type, I32 flags)
}
OP *
-newUNOP(I32 type, I32 flags, OP *first)
+Perl_newUNOP(pTHX_ I32 type, I32 flags, OP *first)
{
UNOP *unop;
@@ -2181,7 +2163,7 @@ newUNOP(I32 type, I32 flags, OP *first)
}
OP *
-newBINOP(I32 type, I32 flags, OP *first, OP *last)
+Perl_newBINOP(pTHX_ I32 type, I32 flags, OP *first, OP *last)
{
BINOP *binop;
NewOp(1101, binop, 1, BINOP);
@@ -2225,7 +2207,7 @@ utf8compare(const void *a, const void *b)
}
OP *
-pmtrans(OP *o, OP *expr, OP *repl)
+Perl_pmtrans(pTHX_ OP *o, OP *expr, OP *repl)
{
SV *tstr = ((SVOP*)expr)->op_sv;
SV *rstr = ((SVOP*)repl)->op_sv;
@@ -2476,7 +2458,7 @@ pmtrans(OP *o, OP *expr, OP *repl)
}
OP *
-newPMOP(I32 type, I32 flags)
+Perl_newPMOP(pTHX_ I32 type, I32 flags)
{
dTHR;
PMOP *pmop;
@@ -2503,7 +2485,7 @@ newPMOP(I32 type, I32 flags)
}
OP *
-pmruntime(OP *o, OP *expr, OP *repl)
+Perl_pmruntime(pTHX_ OP *o, OP *expr, OP *repl)
{
dTHR;
PMOP *pm;
@@ -2653,7 +2635,7 @@ pmruntime(OP *o, OP *expr, OP *repl)
}
OP *
-newSVOP(I32 type, I32 flags, SV *sv)
+Perl_newSVOP(pTHX_ I32 type, I32 flags, SV *sv)
{
SVOP *svop;
NewOp(1101, svop, 1, SVOP);
@@ -2670,7 +2652,7 @@ newSVOP(I32 type, I32 flags, SV *sv)
}
OP *
-newGVOP(I32 type, I32 flags, GV *gv)
+Perl_newGVOP(pTHX_ I32 type, I32 flags, GV *gv)
{
dTHR;
GVOP *gvop;
@@ -2688,7 +2670,7 @@ newGVOP(I32 type, I32 flags, GV *gv)
}
OP *
-newPVOP(I32 type, I32 flags, char *pv)
+Perl_newPVOP(pTHX_ I32 type, I32 flags, char *pv)
{
PVOP *pvop;
NewOp(1101, pvop, 1, PVOP);
@@ -2705,7 +2687,7 @@ newPVOP(I32 type, I32 flags, char *pv)
}
void
-package(OP *o)
+Perl_package(pTHX_ OP *o)
{
dTHR;
SV *sv;
@@ -2731,7 +2713,7 @@ package(OP *o)
}
void
-utilize(int aver, I32 floor, OP *version, OP *id, OP *arg)
+Perl_utilize(pTHX_ int aver, I32 floor, OP *version, OP *id, OP *arg)
{
OP *pack;
OP *meth;
@@ -2821,7 +2803,7 @@ utilize(int aver, I32 floor, OP *version, OP *id, OP *arg)
}
OP *
-dofile(OP *term)
+Perl_dofile(pTHX_ OP *term)
{
OP *doop;
GV *gv;
@@ -2844,7 +2826,7 @@ dofile(OP *term)
}
OP *
-newSLICEOP(I32 flags, OP *subscript, OP *listval)
+Perl_newSLICEOP(pTHX_ I32 flags, OP *subscript, OP *listval)
{
return newBINOP(OP_LSLICE, flags,
list(force_list(subscript)),
@@ -2852,7 +2834,7 @@ newSLICEOP(I32 flags, OP *subscript, OP *listval)
}
STATIC I32
-list_assignment(register OP *o)
+list_assignment(pTHX_ register OP *o)
{
if (!o)
return TRUE;
@@ -2886,7 +2868,7 @@ list_assignment(register OP *o)
}
OP *
-newASSIGNOP(I32 flags, OP *left, I32 optype, OP *right)
+Perl_newASSIGNOP(pTHX_ I32 flags, OP *left, I32 optype, OP *right)
{
OP *o;
@@ -3023,7 +3005,7 @@ newASSIGNOP(I32 flags, OP *left, I32 optype, OP *right)
}
OP *
-newSTATEOP(I32 flags, char *label, OP *o)
+Perl_newSTATEOP(pTHX_ I32 flags, char *label, OP *o)
{
dTHR;
U32 seq = intro_my();
@@ -3082,7 +3064,7 @@ newSTATEOP(I32 flags, char *label, OP *o)
/* "Introduce" my variables to visible status. */
U32
-intro_my(void)
+Perl_intro_my(pTHX)
{
SV **svp;
SV *sv;
@@ -3104,13 +3086,13 @@ intro_my(void)
}
OP *
-newLOGOP(I32 type, I32 flags, OP *first, OP *other)
+Perl_newLOGOP(pTHX_ I32 type, I32 flags, OP *first, OP *other)
{
return new_logop(type, flags, &first, &other);
}
STATIC OP *
-new_logop(I32 type, I32 flags, OP** firstp, OP** otherp)
+new_logop(pTHX_ I32 type, I32 flags, OP** firstp, OP** otherp)
{
dTHR;
LOGOP *logop;
@@ -3217,7 +3199,7 @@ new_logop(I32 type, I32 flags, OP** firstp, OP** otherp)
}
OP *
-newCONDOP(I32 flags, OP *first, OP *trueop, OP *falseop)
+Perl_newCONDOP(pTHX_ I32 flags, OP *first, OP *trueop, OP *falseop)
{
dTHR;
CONDOP *condop;
@@ -3270,7 +3252,7 @@ newCONDOP(I32 flags, OP *first, OP *trueop, OP *falseop)
}
OP *
-newRANGE(I32 flags, OP *left, OP *right)
+Perl_newRANGE(pTHX_ I32 flags, OP *left, OP *right)
{
dTHR;
CONDOP *condop;
@@ -3315,7 +3297,7 @@ newRANGE(I32 flags, OP *left, OP *right)
}
OP *
-newLOOPOP(I32 flags, I32 debuggable, OP *expr, OP *block)
+Perl_newLOOPOP(pTHX_ I32 flags, I32 debuggable, OP *expr, OP *block)
{
dTHR;
OP* listop;
@@ -3370,7 +3352,7 @@ newLOOPOP(I32 flags, I32 debuggable, OP *expr, OP *block)
}
OP *
-newWHILEOP(I32 flags, I32 debuggable, LOOP *loop, I32 whileline, OP *expr, OP *block, OP *cont)
+Perl_newWHILEOP(pTHX_ I32 flags, I32 debuggable, LOOP *loop, I32 whileline, OP *expr, OP *block, OP *cont)
{
dTHR;
OP *redo;
@@ -3462,7 +3444,7 @@ newWHILEOP(I32 flags, I32 debuggable, LOOP *loop, I32 whileline, OP *expr, OP *b
}
OP *
-newFOROP(I32 flags,char *label,line_t forline,OP *sv,OP *expr,OP *block,OP *cont)
+Perl_newFOROP(pTHX_ I32 flags,char *label,line_t forline,OP *sv,OP *expr,OP *block,OP *cont)
{
LOOP *loop;
LOOP *tmp;
@@ -3551,7 +3533,7 @@ newFOROP(I32 flags,char *label,line_t forline,OP *sv,OP *expr,OP *block,OP *cont
}
OP*
-newLOOPEX(I32 type, OP *label)
+Perl_newLOOPEX(pTHX_ I32 type, OP *label)
{
dTHR;
OP *o;
@@ -3578,7 +3560,7 @@ newLOOPEX(I32 type, OP *label)
}
void
-cv_undef(CV *cv)
+Perl_cv_undef(pTHX_ CV *cv)
{
dTHR;
#ifdef USE_THREADS
@@ -3682,7 +3664,7 @@ cv_dump(CV *cv)
#endif /* DEBUG_CLOSURES */
STATIC CV *
-cv_clone2(CV *proto, CV *outside)
+cv_clone2(pTHX_ CV *proto, CV *outside)
{
dTHR;
AV* av;
@@ -3814,7 +3796,7 @@ cv_clone2(CV *proto, CV *outside)
}
CV *
-cv_clone(CV *proto)
+Perl_cv_clone(pTHX_ CV *proto)
{
CV *cv;
MUTEX_LOCK(&PL_cred_mutex); /* XXX create separate mutex */
@@ -3824,7 +3806,7 @@ cv_clone(CV *proto)
}
void
-cv_ckproto(CV *cv, GV *gv, char *p)
+Perl_cv_ckproto(pTHX_ CV *cv, GV *gv, char *p)
{
if ((!p != !SvPOK(cv)) || (p && strNE(p, SvPVX(cv)))) {
SV* msg = sv_newmortal();
@@ -3847,7 +3829,7 @@ cv_ckproto(CV *cv, GV *gv, char *p)
}
SV *
-cv_const_sv(CV *cv)
+Perl_cv_const_sv(pTHX_ CV *cv)
{
if (!cv || !SvPOK(cv) || SvCUR(cv))
return Nullsv;
@@ -3855,7 +3837,7 @@ cv_const_sv(CV *cv)
}
SV *
-op_const_sv(OP *o, CV *cv)
+Perl_op_const_sv(pTHX_ OP *o, CV *cv)
{
SV *sv = Nullsv;
@@ -3893,7 +3875,7 @@ op_const_sv(OP *o, CV *cv)
}
CV *
-newSUB(I32 floor, OP *o, OP *proto, OP *block)
+Perl_newSUB(pTHX_ I32 floor, OP *o, OP *proto, OP *block)
{
dTHR;
STRLEN n_a;
@@ -4085,7 +4067,7 @@ newSUB(I32 floor, OP *o, OP *proto, OP *block)
PUSHMARK(SP);
XPUSHs(tmpstr);
PUTBACK;
- perl_call_sv((SV*)cv, G_DISCARD);
+ call_sv((SV*)cv, G_DISCARD);
}
}
@@ -4135,7 +4117,7 @@ newSUB(I32 floor, OP *o, OP *proto, OP *block)
/* XXX unsafe for threads if eval_owner isn't held */
void
-newCONSTSUB(HV *stash, char *name, SV *sv)
+Perl_newCONSTSUB(pTHX_ HV *stash, char *name, SV *sv)
{
dTHR;
U32 oldhints = PL_hints;
@@ -4162,7 +4144,7 @@ newCONSTSUB(HV *stash, char *name, SV *sv)
}
CV *
-newXS(char *name, void (*subaddr) (CV * _CPERLproto), char *filename)
+Perl_newXS(pTHX_ char *name, XSUBADDR_t subaddr, char *filename)
{
dTHR;
GV *gv = gv_fetchpv(name ? name : "__ANON__", GV_ADDMULTI, SVt_PVCV);
@@ -4243,7 +4225,7 @@ newXS(char *name, void (*subaddr) (CV * _CPERLproto), char *filename)
}
void
-newFORM(I32 floor, OP *o, OP *block)
+Perl_newFORM(pTHX_ I32 floor, OP *o, OP *block)
{
dTHR;
register CV *cv;
@@ -4288,28 +4270,28 @@ newFORM(I32 floor, OP *o, OP *block)
}
OP *
-newANONLIST(OP *o)
+Perl_newANONLIST(pTHX_ OP *o)
{
return newUNOP(OP_REFGEN, 0,
mod(list(convert(OP_ANONLIST, 0, o)), OP_REFGEN));
}
OP *
-newANONHASH(OP *o)
+Perl_newANONHASH(pTHX_ OP *o)
{
return newUNOP(OP_REFGEN, 0,
mod(list(convert(OP_ANONHASH, 0, o)), OP_REFGEN));
}
OP *
-newANONSUB(I32 floor, OP *proto, OP *block)
+Perl_newANONSUB(pTHX_ I32 floor, OP *proto, OP *block)
{
return newUNOP(OP_REFGEN, 0,
newSVOP(OP_ANONCODE, 0, (SV*)newSUB(floor, 0, proto, block)));
}
OP *
-oopsAV(OP *o)
+Perl_oopsAV(pTHX_ OP *o)
{
switch (o->op_type) {
case OP_PADSV:
@@ -4331,7 +4313,7 @@ oopsAV(OP *o)
}
OP *
-oopsHV(OP *o)
+Perl_oopsHV(pTHX_ OP *o)
{
switch (o->op_type) {
case OP_PADSV:
@@ -4355,7 +4337,7 @@ oopsHV(OP *o)
}
OP *
-newAVREF(OP *o)
+Perl_newAVREF(pTHX_ OP *o)
{
if (o->op_type == OP_PADANY) {
o->op_type = OP_PADAV;
@@ -4366,7 +4348,7 @@ newAVREF(OP *o)
}
OP *
-newGVREF(I32 type, OP *o)
+Perl_newGVREF(pTHX_ I32 type, OP *o)
{
if (type == OP_MAPSTART || type == OP_GREPSTART || type == OP_SORT)
return newUNOP(OP_NULL, 0, o);
@@ -4374,7 +4356,7 @@ newGVREF(I32 type, OP *o)
}
OP *
-newHVREF(OP *o)
+Perl_newHVREF(pTHX_ OP *o)
{
if (o->op_type == OP_PADANY) {
o->op_type = OP_PADHV;
@@ -4385,7 +4367,7 @@ newHVREF(OP *o)
}
OP *
-oopsCV(OP *o)
+Perl_oopsCV(pTHX_ OP *o)
{
croak("NOT IMPL LINE %d",__LINE__);
/* STUB */
@@ -4393,13 +4375,13 @@ oopsCV(OP *o)
}
OP *
-newCVREF(I32 flags, OP *o)
+Perl_newCVREF(pTHX_ I32 flags, OP *o)
{
return newUNOP(OP_RV2CV, flags, scalar(o));
}
OP *
-newSVREF(OP *o)
+Perl_newSVREF(pTHX_ OP *o)
{
if (o->op_type == OP_PADANY) {
o->op_type = OP_PADSV;
@@ -5261,7 +5243,7 @@ ck_sort(OP *o)
}
STATIC void
-simplify_sort(OP *o)
+simplify_sort(pTHX_ OP *o)
{
dTHR;
register OP *kid = cLISTOPo->op_first->op_sibling; /* get past pushmark */
@@ -5562,7 +5544,7 @@ ck_trunc(OP *o)
/* A peephole optimizer. We visit the ops in the order they're to execute. */
void
-peep(register OP *o)
+Perl_peep(pTHX_ register OP *o)
{
dTHR;
register OP* oldop = 0;
diff --git a/opcode.h b/opcode.h
index 1dbd3de345..c4bd9ae408 100644
--- a/opcode.h
+++ b/opcode.h
@@ -1,7 +1,7 @@
-#define pp_i_preinc pp_preinc
-#define pp_i_predec pp_predec
-#define pp_i_postinc pp_postinc
-#define pp_i_postdec pp_postdec
+#define Perl_pp_i_preinc Perl_pp_preinc
+#define Perl_pp_i_predec Perl_pp_predec
+#define Perl_pp_i_postinc Perl_pp_postinc
+#define Perl_pp_i_postdec Perl_pp_postdec
typedef enum {
OP_NULL, /* 0 */
@@ -1072,8 +1072,8 @@ START_EXTERN_C
#undef PERL_CKDEF
#undef PERL_PPDEF
-#define PERL_CKDEF(s) OP *s (OP *o);
-#define PERL_PPDEF(s) OP *s (ARGSproto);
+#define PERL_CKDEF(s) OP *s (pTHX_ OP *o);
+#define PERL_PPDEF(s) OP *s (pTHX_ ARGSproto);
#include "pp_proto.h"
@@ -1085,354 +1085,354 @@ END_EXTERN_C
EXT OP * (CPERLscope(*PL_ppaddr)[])(ARGSproto);
#else
EXT OP * (CPERLscope(*PL_ppaddr)[])(ARGSproto) = {
- pp_null,
- pp_stub,
- pp_scalar,
- pp_pushmark,
- pp_wantarray,
- pp_const,
- pp_gvsv,
- pp_gv,
- pp_gelem,
- pp_padsv,
- pp_padav,
- pp_padhv,
- pp_padany,
- pp_pushre,
- pp_rv2gv,
- pp_rv2sv,
- pp_av2arylen,
- pp_rv2cv,
- pp_anoncode,
- pp_prototype,
- pp_refgen,
- pp_srefgen,
- pp_ref,
- pp_bless,
- pp_backtick,
- pp_glob,
- pp_readline,
- pp_rcatline,
- pp_regcmaybe,
- pp_regcreset,
- pp_regcomp,
- pp_match,
- pp_qr,
- pp_subst,
- pp_substcont,
- pp_trans,
- pp_sassign,
- pp_aassign,
- pp_chop,
- pp_schop,
- pp_chomp,
- pp_schomp,
- pp_defined,
- pp_undef,
- pp_study,
- pp_pos,
- pp_preinc,
- pp_i_preinc,
- pp_predec,
- pp_i_predec,
- pp_postinc,
- pp_i_postinc,
- pp_postdec,
- pp_i_postdec,
- pp_pow,
- pp_multiply,
- pp_i_multiply,
- pp_divide,
- pp_i_divide,
- pp_modulo,
- pp_i_modulo,
- pp_repeat,
- pp_add,
- pp_i_add,
- pp_subtract,
- pp_i_subtract,
- pp_concat,
- pp_stringify,
- pp_left_shift,
- pp_right_shift,
- pp_lt,
- pp_i_lt,
- pp_gt,
- pp_i_gt,
- pp_le,
- pp_i_le,
- pp_ge,
- pp_i_ge,
- pp_eq,
- pp_i_eq,
- pp_ne,
- pp_i_ne,
- pp_ncmp,
- pp_i_ncmp,
- pp_slt,
- pp_sgt,
- pp_sle,
- pp_sge,
- pp_seq,
- pp_sne,
- pp_scmp,
- pp_bit_and,
- pp_bit_xor,
- pp_bit_or,
- pp_negate,
- pp_i_negate,
- pp_not,
- pp_complement,
- pp_atan2,
- pp_sin,
- pp_cos,
- pp_rand,
- pp_srand,
- pp_exp,
- pp_log,
- pp_sqrt,
- pp_int,
- pp_hex,
- pp_oct,
- pp_abs,
- pp_length,
- pp_substr,
- pp_vec,
- pp_index,
- pp_rindex,
- pp_sprintf,
- pp_formline,
- pp_ord,
- pp_chr,
- pp_crypt,
- pp_ucfirst,
- pp_lcfirst,
- pp_uc,
- pp_lc,
- pp_quotemeta,
- pp_rv2av,
- pp_aelemfast,
- pp_aelem,
- pp_aslice,
- pp_each,
- pp_values,
- pp_keys,
- pp_delete,
- pp_exists,
- pp_rv2hv,
- pp_helem,
- pp_hslice,
- pp_unpack,
- pp_pack,
- pp_split,
- pp_join,
- pp_list,
- pp_lslice,
- pp_anonlist,
- pp_anonhash,
- pp_splice,
- pp_push,
- pp_pop,
- pp_shift,
- pp_unshift,
- pp_sort,
- pp_reverse,
- pp_grepstart,
- pp_grepwhile,
- pp_mapstart,
- pp_mapwhile,
- pp_range,
- pp_flip,
- pp_flop,
- pp_and,
- pp_or,
- pp_xor,
- pp_cond_expr,
- pp_andassign,
- pp_orassign,
- pp_method,
- pp_entersub,
- pp_leavesub,
- pp_caller,
- pp_warn,
- pp_die,
- pp_reset,
- pp_lineseq,
- pp_nextstate,
- pp_dbstate,
- pp_unstack,
- pp_enter,
- pp_leave,
- pp_scope,
- pp_enteriter,
- pp_iter,
- pp_enterloop,
- pp_leaveloop,
- pp_return,
- pp_last,
- pp_next,
- pp_redo,
- pp_dump,
- pp_goto,
- pp_exit,
- pp_open,
- pp_close,
- pp_pipe_op,
- pp_fileno,
- pp_umask,
- pp_binmode,
- pp_tie,
- pp_untie,
- pp_tied,
- pp_dbmopen,
- pp_dbmclose,
- pp_sselect,
- pp_select,
- pp_getc,
- pp_read,
- pp_enterwrite,
- pp_leavewrite,
- pp_prtf,
- pp_print,
- pp_sysopen,
- pp_sysseek,
- pp_sysread,
- pp_syswrite,
- pp_send,
- pp_recv,
- pp_eof,
- pp_tell,
- pp_seek,
- pp_truncate,
- pp_fcntl,
- pp_ioctl,
- pp_flock,
- pp_socket,
- pp_sockpair,
- pp_bind,
- pp_connect,
- pp_listen,
- pp_accept,
- pp_shutdown,
- pp_gsockopt,
- pp_ssockopt,
- pp_getsockname,
- pp_getpeername,
- pp_lstat,
- pp_stat,
- pp_ftrread,
- pp_ftrwrite,
- pp_ftrexec,
- pp_fteread,
- pp_ftewrite,
- pp_fteexec,
- pp_ftis,
- pp_fteowned,
- pp_ftrowned,
- pp_ftzero,
- pp_ftsize,
- pp_ftmtime,
- pp_ftatime,
- pp_ftctime,
- pp_ftsock,
- pp_ftchr,
- pp_ftblk,
- pp_ftfile,
- pp_ftdir,
- pp_ftpipe,
- pp_ftlink,
- pp_ftsuid,
- pp_ftsgid,
- pp_ftsvtx,
- pp_fttty,
- pp_fttext,
- pp_ftbinary,
- pp_chdir,
- pp_chown,
- pp_chroot,
- pp_unlink,
- pp_chmod,
- pp_utime,
- pp_rename,
- pp_link,
- pp_symlink,
- pp_readlink,
- pp_mkdir,
- pp_rmdir,
- pp_open_dir,
- pp_readdir,
- pp_telldir,
- pp_seekdir,
- pp_rewinddir,
- pp_closedir,
- pp_fork,
- pp_wait,
- pp_waitpid,
- pp_system,
- pp_exec,
- pp_kill,
- pp_getppid,
- pp_getpgrp,
- pp_setpgrp,
- pp_getpriority,
- pp_setpriority,
- pp_time,
- pp_tms,
- pp_localtime,
- pp_gmtime,
- pp_alarm,
- pp_sleep,
- pp_shmget,
- pp_shmctl,
- pp_shmread,
- pp_shmwrite,
- pp_msgget,
- pp_msgctl,
- pp_msgsnd,
- pp_msgrcv,
- pp_semget,
- pp_semctl,
- pp_semop,
- pp_require,
- pp_dofile,
- pp_entereval,
- pp_leaveeval,
- pp_entertry,
- pp_leavetry,
- pp_ghbyname,
- pp_ghbyaddr,
- pp_ghostent,
- pp_gnbyname,
- pp_gnbyaddr,
- pp_gnetent,
- pp_gpbyname,
- pp_gpbynumber,
- pp_gprotoent,
- pp_gsbyname,
- pp_gsbyport,
- pp_gservent,
- pp_shostent,
- pp_snetent,
- pp_sprotoent,
- pp_sservent,
- pp_ehostent,
- pp_enetent,
- pp_eprotoent,
- pp_eservent,
- pp_gpwnam,
- pp_gpwuid,
- pp_gpwent,
- pp_spwent,
- pp_epwent,
- pp_ggrnam,
- pp_ggrgid,
- pp_ggrent,
- pp_sgrent,
- pp_egrent,
- pp_getlogin,
- pp_syscall,
- pp_lock,
- pp_threadsv,
+ Perl_pp_null,
+ Perl_pp_stub,
+ Perl_pp_scalar,
+ Perl_pp_pushmark,
+ Perl_pp_wantarray,
+ Perl_pp_const,
+ Perl_pp_gvsv,
+ Perl_pp_gv,
+ Perl_pp_gelem,
+ Perl_pp_padsv,
+ Perl_pp_padav,
+ Perl_pp_padhv,
+ Perl_pp_padany,
+ Perl_pp_pushre,
+ Perl_pp_rv2gv,
+ Perl_pp_rv2sv,
+ Perl_pp_av2arylen,
+ Perl_pp_rv2cv,
+ Perl_pp_anoncode,
+ Perl_pp_prototype,
+ Perl_pp_refgen,
+ Perl_pp_srefgen,
+ Perl_pp_ref,
+ Perl_pp_bless,
+ Perl_pp_backtick,
+ Perl_pp_glob,
+ Perl_pp_readline,
+ Perl_pp_rcatline,
+ Perl_pp_regcmaybe,
+ Perl_pp_regcreset,
+ Perl_pp_regcomp,
+ Perl_pp_match,
+ Perl_pp_qr,
+ Perl_pp_subst,
+ Perl_pp_substcont,
+ Perl_pp_trans,
+ Perl_pp_sassign,
+ Perl_pp_aassign,
+ Perl_pp_chop,
+ Perl_pp_schop,
+ Perl_pp_chomp,
+ Perl_pp_schomp,
+ Perl_pp_defined,
+ Perl_pp_undef,
+ Perl_pp_study,
+ Perl_pp_pos,
+ Perl_pp_preinc,
+ Perl_pp_i_preinc,
+ Perl_pp_predec,
+ Perl_pp_i_predec,
+ Perl_pp_postinc,
+ Perl_pp_i_postinc,
+ Perl_pp_postdec,
+ Perl_pp_i_postdec,
+ Perl_pp_pow,
+ Perl_pp_multiply,
+ Perl_pp_i_multiply,
+ Perl_pp_divide,
+ Perl_pp_i_divide,
+ Perl_pp_modulo,
+ Perl_pp_i_modulo,
+ Perl_pp_repeat,
+ Perl_pp_add,
+ Perl_pp_i_add,
+ Perl_pp_subtract,
+ Perl_pp_i_subtract,
+ Perl_pp_concat,
+ Perl_pp_stringify,
+ Perl_pp_left_shift,
+ Perl_pp_right_shift,
+ Perl_pp_lt,
+ Perl_pp_i_lt,
+ Perl_pp_gt,
+ Perl_pp_i_gt,
+ Perl_pp_le,
+ Perl_pp_i_le,
+ Perl_pp_ge,
+ Perl_pp_i_ge,
+ Perl_pp_eq,
+ Perl_pp_i_eq,
+ Perl_pp_ne,
+ Perl_pp_i_ne,
+ Perl_pp_ncmp,
+ Perl_pp_i_ncmp,
+ Perl_pp_slt,
+ Perl_pp_sgt,
+ Perl_pp_sle,
+ Perl_pp_sge,
+ Perl_pp_seq,
+ Perl_pp_sne,
+ Perl_pp_scmp,
+ Perl_pp_bit_and,
+ Perl_pp_bit_xor,
+ Perl_pp_bit_or,
+ Perl_pp_negate,
+ Perl_pp_i_negate,
+ Perl_pp_not,
+ Perl_pp_complement,
+ Perl_pp_atan2,
+ Perl_pp_sin,
+ Perl_pp_cos,
+ Perl_pp_rand,
+ Perl_pp_srand,
+ Perl_pp_exp,
+ Perl_pp_log,
+ Perl_pp_sqrt,
+ Perl_pp_int,
+ Perl_pp_hex,
+ Perl_pp_oct,
+ Perl_pp_abs,
+ Perl_pp_length,
+ Perl_pp_substr,
+ Perl_pp_vec,
+ Perl_pp_index,
+ Perl_pp_rindex,
+ Perl_pp_sprintf,
+ Perl_pp_formline,
+ Perl_pp_ord,
+ Perl_pp_chr,
+ Perl_pp_crypt,
+ Perl_pp_ucfirst,
+ Perl_pp_lcfirst,
+ Perl_pp_uc,
+ Perl_pp_lc,
+ Perl_pp_quotemeta,
+ Perl_pp_rv2av,
+ Perl_pp_aelemfast,
+ Perl_pp_aelem,
+ Perl_pp_aslice,
+ Perl_pp_each,
+ Perl_pp_values,
+ Perl_pp_keys,
+ Perl_pp_delete,
+ Perl_pp_exists,
+ Perl_pp_rv2hv,
+ Perl_pp_helem,
+ Perl_pp_hslice,
+ Perl_pp_unpack,
+ Perl_pp_pack,
+ Perl_pp_split,
+ Perl_pp_join,
+ Perl_pp_list,
+ Perl_pp_lslice,
+ Perl_pp_anonlist,
+ Perl_pp_anonhash,
+ Perl_pp_splice,
+ Perl_pp_push,
+ Perl_pp_pop,
+ Perl_pp_shift,
+ Perl_pp_unshift,
+ Perl_pp_sort,
+ Perl_pp_reverse,
+ Perl_pp_grepstart,
+ Perl_pp_grepwhile,
+ Perl_pp_mapstart,
+ Perl_pp_mapwhile,
+ Perl_pp_range,
+ Perl_pp_flip,
+ Perl_pp_flop,
+ Perl_pp_and,
+ Perl_pp_or,
+ Perl_pp_xor,
+ Perl_pp_cond_expr,
+ Perl_pp_andassign,
+ Perl_pp_orassign,
+ Perl_pp_method,
+ Perl_pp_entersub,
+ Perl_pp_leavesub,
+ Perl_pp_caller,
+ Perl_pp_warn,
+ Perl_pp_die,
+ Perl_pp_reset,
+ Perl_pp_lineseq,
+ Perl_pp_nextstate,
+ Perl_pp_dbstate,
+ Perl_pp_unstack,
+ Perl_pp_enter,
+ Perl_pp_leave,
+ Perl_pp_scope,
+ Perl_pp_enteriter,
+ Perl_pp_iter,
+ Perl_pp_enterloop,
+ Perl_pp_leaveloop,
+ Perl_pp_return,
+ Perl_pp_last,
+ Perl_pp_next,
+ Perl_pp_redo,
+ Perl_pp_dump,
+ Perl_pp_goto,
+ Perl_pp_exit,
+ Perl_pp_open,
+ Perl_pp_close,
+ Perl_pp_pipe_op,
+ Perl_pp_fileno,
+ Perl_pp_umask,
+ Perl_pp_binmode,
+ Perl_pp_tie,
+ Perl_pp_untie,
+ Perl_pp_tied,
+ Perl_pp_dbmopen,
+ Perl_pp_dbmclose,
+ Perl_pp_sselect,
+ Perl_pp_select,
+ Perl_pp_getc,
+ Perl_pp_read,
+ Perl_pp_enterwrite,
+ Perl_pp_leavewrite,
+ Perl_pp_prtf,
+ Perl_pp_print,
+ Perl_pp_sysopen,
+ Perl_pp_sysseek,
+ Perl_pp_sysread,
+ Perl_pp_syswrite,
+ Perl_pp_send,
+ Perl_pp_recv,
+ Perl_pp_eof,
+ Perl_pp_tell,
+ Perl_pp_seek,
+ Perl_pp_truncate,
+ Perl_pp_fcntl,
+ Perl_pp_ioctl,
+ Perl_pp_flock,
+ Perl_pp_socket,
+ Perl_pp_sockpair,
+ Perl_pp_bind,
+ Perl_pp_connect,
+ Perl_pp_listen,
+ Perl_pp_accept,
+ Perl_pp_shutdown,
+ Perl_pp_gsockopt,
+ Perl_pp_ssockopt,
+ Perl_pp_getsockname,
+ Perl_pp_getpeername,
+ Perl_pp_lstat,
+ Perl_pp_stat,
+ Perl_pp_ftrread,
+ Perl_pp_ftrwrite,
+ Perl_pp_ftrexec,
+ Perl_pp_fteread,
+ Perl_pp_ftewrite,
+ Perl_pp_fteexec,
+ Perl_pp_ftis,
+ Perl_pp_fteowned,
+ Perl_pp_ftrowned,
+ Perl_pp_ftzero,
+ Perl_pp_ftsize,
+ Perl_pp_ftmtime,
+ Perl_pp_ftatime,
+ Perl_pp_ftctime,
+ Perl_pp_ftsock,
+ Perl_pp_ftchr,
+ Perl_pp_ftblk,
+ Perl_pp_ftfile,
+ Perl_pp_ftdir,
+ Perl_pp_ftpipe,
+ Perl_pp_ftlink,
+ Perl_pp_ftsuid,
+ Perl_pp_ftsgid,
+ Perl_pp_ftsvtx,
+ Perl_pp_fttty,
+ Perl_pp_fttext,
+ Perl_pp_ftbinary,
+ Perl_pp_chdir,
+ Perl_pp_chown,
+ Perl_pp_chroot,
+ Perl_pp_unlink,
+ Perl_pp_chmod,
+ Perl_pp_utime,
+ Perl_pp_rename,
+ Perl_pp_link,
+ Perl_pp_symlink,
+ Perl_pp_readlink,
+ Perl_pp_mkdir,
+ Perl_pp_rmdir,
+ Perl_pp_open_dir,
+ Perl_pp_readdir,
+ Perl_pp_telldir,
+ Perl_pp_seekdir,
+ Perl_pp_rewinddir,
+ Perl_pp_closedir,
+ Perl_pp_fork,
+ Perl_pp_wait,
+ Perl_pp_waitpid,
+ Perl_pp_system,
+ Perl_pp_exec,
+ Perl_pp_kill,
+ Perl_pp_getppid,
+ Perl_pp_getpgrp,
+ Perl_pp_setpgrp,
+ Perl_pp_getpriority,
+ Perl_pp_setpriority,
+ Perl_pp_time,
+ Perl_pp_tms,
+ Perl_pp_localtime,
+ Perl_pp_gmtime,
+ Perl_pp_alarm,
+ Perl_pp_sleep,
+ Perl_pp_shmget,
+ Perl_pp_shmctl,
+ Perl_pp_shmread,
+ Perl_pp_shmwrite,
+ Perl_pp_msgget,
+ Perl_pp_msgctl,
+ Perl_pp_msgsnd,
+ Perl_pp_msgrcv,
+ Perl_pp_semget,
+ Perl_pp_semctl,
+ Perl_pp_semop,
+ Perl_pp_require,
+ Perl_pp_dofile,
+ Perl_pp_entereval,
+ Perl_pp_leaveeval,
+ Perl_pp_entertry,
+ Perl_pp_leavetry,
+ Perl_pp_ghbyname,
+ Perl_pp_ghbyaddr,
+ Perl_pp_ghostent,
+ Perl_pp_gnbyname,
+ Perl_pp_gnbyaddr,
+ Perl_pp_gnetent,
+ Perl_pp_gpbyname,
+ Perl_pp_gpbynumber,
+ Perl_pp_gprotoent,
+ Perl_pp_gsbyname,
+ Perl_pp_gsbyport,
+ Perl_pp_gservent,
+ Perl_pp_shostent,
+ Perl_pp_snetent,
+ Perl_pp_sprotoent,
+ Perl_pp_sservent,
+ Perl_pp_ehostent,
+ Perl_pp_enetent,
+ Perl_pp_eprotoent,
+ Perl_pp_eservent,
+ Perl_pp_gpwnam,
+ Perl_pp_gpwuid,
+ Perl_pp_gpwent,
+ Perl_pp_spwent,
+ Perl_pp_epwent,
+ Perl_pp_ggrnam,
+ Perl_pp_ggrgid,
+ Perl_pp_ggrent,
+ Perl_pp_sgrent,
+ Perl_pp_egrent,
+ Perl_pp_getlogin,
+ Perl_pp_syscall,
+ Perl_pp_lock,
+ Perl_pp_threadsv,
};
#endif
@@ -1440,354 +1440,354 @@ EXT OP * (CPERLscope(*PL_ppaddr)[])(ARGSproto) = {
EXT OP * (CPERLscope(*PL_check)[]) (OP *op);
#else
EXT OP * (CPERLscope(*PL_check)[]) (OP *op) = {
- ck_null, /* null */
- ck_null, /* stub */
- ck_fun, /* scalar */
- ck_null, /* pushmark */
- ck_null, /* wantarray */
- ck_svconst, /* const */
- ck_null, /* gvsv */
- ck_null, /* gv */
- ck_null, /* gelem */
- ck_null, /* padsv */
- ck_null, /* padav */
- ck_null, /* padhv */
- ck_null, /* padany */
- ck_null, /* pushre */
- ck_rvconst, /* rv2gv */
- ck_rvconst, /* rv2sv */
- ck_null, /* av2arylen */
- ck_rvconst, /* rv2cv */
- ck_anoncode, /* anoncode */
- ck_null, /* prototype */
- ck_spair, /* refgen */
- ck_null, /* srefgen */
- ck_fun, /* ref */
- ck_fun, /* bless */
- ck_null, /* backtick */
- ck_glob, /* glob */
- ck_null, /* readline */
- ck_null, /* rcatline */
- ck_fun, /* regcmaybe */
- ck_fun, /* regcreset */
- ck_null, /* regcomp */
- ck_match, /* match */
- ck_match, /* qr */
- ck_null, /* subst */
- ck_null, /* substcont */
- ck_null, /* trans */
- ck_null, /* sassign */
- ck_null, /* aassign */
- ck_spair, /* chop */
- ck_null, /* schop */
- ck_spair, /* chomp */
- ck_null, /* schomp */
- ck_defined, /* defined */
- ck_lfun, /* undef */
- ck_fun, /* study */
- ck_lfun, /* pos */
- ck_lfun, /* preinc */
- ck_lfun, /* i_preinc */
- ck_lfun, /* predec */
- ck_lfun, /* i_predec */
- ck_lfun, /* postinc */
- ck_lfun, /* i_postinc */
- ck_lfun, /* postdec */
- ck_lfun, /* i_postdec */
- ck_null, /* pow */
- ck_null, /* multiply */
- ck_null, /* i_multiply */
- ck_null, /* divide */
- ck_null, /* i_divide */
- ck_null, /* modulo */
- ck_null, /* i_modulo */
- ck_repeat, /* repeat */
- ck_null, /* add */
- ck_null, /* i_add */
- ck_null, /* subtract */
- ck_null, /* i_subtract */
- ck_concat, /* concat */
- ck_fun, /* stringify */
- ck_bitop, /* left_shift */
- ck_bitop, /* right_shift */
- ck_null, /* lt */
- ck_null, /* i_lt */
- ck_null, /* gt */
- ck_null, /* i_gt */
- ck_null, /* le */
- ck_null, /* i_le */
- ck_null, /* ge */
- ck_null, /* i_ge */
- ck_null, /* eq */
- ck_null, /* i_eq */
- ck_null, /* ne */
- ck_null, /* i_ne */
- ck_null, /* ncmp */
- ck_null, /* i_ncmp */
- ck_scmp, /* slt */
- ck_scmp, /* sgt */
- ck_scmp, /* sle */
- ck_scmp, /* sge */
- ck_null, /* seq */
- ck_null, /* sne */
- ck_scmp, /* scmp */
- ck_bitop, /* bit_and */
- ck_bitop, /* bit_xor */
- ck_bitop, /* bit_or */
- ck_null, /* negate */
- ck_null, /* i_negate */
- ck_null, /* not */
- ck_bitop, /* complement */
- ck_fun, /* atan2 */
- ck_fun, /* sin */
- ck_fun, /* cos */
- ck_fun, /* rand */
- ck_fun, /* srand */
- ck_fun, /* exp */
- ck_fun, /* log */
- ck_fun, /* sqrt */
- ck_fun, /* int */
- ck_fun, /* hex */
- ck_fun, /* oct */
- ck_fun, /* abs */
- ck_lengthconst, /* length */
- ck_fun, /* substr */
- ck_fun, /* vec */
- ck_index, /* index */
- ck_index, /* rindex */
- ck_fun_locale, /* sprintf */
- ck_fun, /* formline */
- ck_fun, /* ord */
- ck_fun, /* chr */
- ck_fun, /* crypt */
- ck_fun_locale, /* ucfirst */
- ck_fun_locale, /* lcfirst */
- ck_fun_locale, /* uc */
- ck_fun_locale, /* lc */
- ck_fun, /* quotemeta */
- ck_rvconst, /* rv2av */
- ck_null, /* aelemfast */
- ck_null, /* aelem */
- ck_null, /* aslice */
- ck_fun, /* each */
- ck_fun, /* values */
- ck_fun, /* keys */
- ck_delete, /* delete */
- ck_exists, /* exists */
- ck_rvconst, /* rv2hv */
- ck_null, /* helem */
- ck_null, /* hslice */
- ck_fun, /* unpack */
- ck_fun, /* pack */
- ck_split, /* split */
- ck_fun, /* join */
- ck_null, /* list */
- ck_null, /* lslice */
- ck_fun, /* anonlist */
- ck_fun, /* anonhash */
- ck_fun, /* splice */
- ck_fun, /* push */
- ck_shift, /* pop */
- ck_shift, /* shift */
- ck_fun, /* unshift */
- ck_sort, /* sort */
- ck_fun, /* reverse */
- ck_grep, /* grepstart */
- ck_null, /* grepwhile */
- ck_grep, /* mapstart */
- ck_null, /* mapwhile */
- ck_null, /* range */
- ck_null, /* flip */
- ck_null, /* flop */
- ck_null, /* and */
- ck_null, /* or */
- ck_null, /* xor */
- ck_null, /* cond_expr */
- ck_null, /* andassign */
- ck_null, /* orassign */
- ck_null, /* method */
- ck_subr, /* entersub */
- ck_null, /* leavesub */
- ck_fun, /* caller */
- ck_fun, /* warn */
- ck_fun, /* die */
- ck_fun, /* reset */
- ck_null, /* lineseq */
- ck_null, /* nextstate */
- ck_null, /* dbstate */
- ck_null, /* unstack */
- ck_null, /* enter */
- ck_null, /* leave */
- ck_null, /* scope */
- ck_null, /* enteriter */
- ck_null, /* iter */
- ck_null, /* enterloop */
- ck_null, /* leaveloop */
- ck_null, /* return */
- ck_null, /* last */
- ck_null, /* next */
- ck_null, /* redo */
- ck_null, /* dump */
- ck_null, /* goto */
- ck_fun, /* exit */
- ck_fun, /* open */
- ck_fun, /* close */
- ck_fun, /* pipe_op */
- ck_fun, /* fileno */
- ck_fun, /* umask */
- ck_fun, /* binmode */
- ck_fun, /* tie */
- ck_fun, /* untie */
- ck_fun, /* tied */
- ck_fun, /* dbmopen */
- ck_fun, /* dbmclose */
- ck_select, /* sselect */
- ck_select, /* select */
- ck_eof, /* getc */
- ck_fun, /* read */
- ck_fun, /* enterwrite */
- ck_null, /* leavewrite */
- ck_listiob, /* prtf */
- ck_listiob, /* print */
- ck_fun, /* sysopen */
- ck_fun, /* sysseek */
- ck_fun, /* sysread */
- ck_fun, /* syswrite */
- ck_fun, /* send */
- ck_fun, /* recv */
- ck_eof, /* eof */
- ck_fun, /* tell */
- ck_fun, /* seek */
- ck_trunc, /* truncate */
- ck_fun, /* fcntl */
- ck_fun, /* ioctl */
- ck_fun, /* flock */
- ck_fun, /* socket */
- ck_fun, /* sockpair */
- ck_fun, /* bind */
- ck_fun, /* connect */
- ck_fun, /* listen */
- ck_fun, /* accept */
- ck_fun, /* shutdown */
- ck_fun, /* gsockopt */
- ck_fun, /* ssockopt */
- ck_fun, /* getsockname */
- ck_fun, /* getpeername */
- ck_ftst, /* lstat */
- ck_ftst, /* stat */
- ck_ftst, /* ftrread */
- ck_ftst, /* ftrwrite */
- ck_ftst, /* ftrexec */
- ck_ftst, /* fteread */
- ck_ftst, /* ftewrite */
- ck_ftst, /* fteexec */
- ck_ftst, /* ftis */
- ck_ftst, /* fteowned */
- ck_ftst, /* ftrowned */
- ck_ftst, /* ftzero */
- ck_ftst, /* ftsize */
- ck_ftst, /* ftmtime */
- ck_ftst, /* ftatime */
- ck_ftst, /* ftctime */
- ck_ftst, /* ftsock */
- ck_ftst, /* ftchr */
- ck_ftst, /* ftblk */
- ck_ftst, /* ftfile */
- ck_ftst, /* ftdir */
- ck_ftst, /* ftpipe */
- ck_ftst, /* ftlink */
- ck_ftst, /* ftsuid */
- ck_ftst, /* ftsgid */
- ck_ftst, /* ftsvtx */
- ck_ftst, /* fttty */
- ck_ftst, /* fttext */
- ck_ftst, /* ftbinary */
- ck_fun, /* chdir */
- ck_fun, /* chown */
- ck_fun, /* chroot */
- ck_fun, /* unlink */
- ck_fun, /* chmod */
- ck_fun, /* utime */
- ck_fun, /* rename */
- ck_fun, /* link */
- ck_fun, /* symlink */
- ck_fun, /* readlink */
- ck_fun, /* mkdir */
- ck_fun, /* rmdir */
- ck_fun, /* open_dir */
- ck_fun, /* readdir */
- ck_fun, /* telldir */
- ck_fun, /* seekdir */
- ck_fun, /* rewinddir */
- ck_fun, /* closedir */
- ck_null, /* fork */
- ck_null, /* wait */
- ck_fun, /* waitpid */
- ck_exec, /* system */
- ck_exec, /* exec */
- ck_fun, /* kill */
- ck_null, /* getppid */
- ck_fun, /* getpgrp */
- ck_fun, /* setpgrp */
- ck_fun, /* getpriority */
- ck_fun, /* setpriority */
- ck_null, /* time */
- ck_null, /* tms */
- ck_fun, /* localtime */
- ck_fun, /* gmtime */
- ck_fun, /* alarm */
- ck_fun, /* sleep */
- ck_fun, /* shmget */
- ck_fun, /* shmctl */
- ck_fun, /* shmread */
- ck_fun, /* shmwrite */
- ck_fun, /* msgget */
- ck_fun, /* msgctl */
- ck_fun, /* msgsnd */
- ck_fun, /* msgrcv */
- ck_fun, /* semget */
- ck_fun, /* semctl */
- ck_fun, /* semop */
- ck_require, /* require */
- ck_fun, /* dofile */
- ck_eval, /* entereval */
- ck_null, /* leaveeval */
- ck_null, /* entertry */
- ck_null, /* leavetry */
- ck_fun, /* ghbyname */
- ck_fun, /* ghbyaddr */
- ck_null, /* ghostent */
- ck_fun, /* gnbyname */
- ck_fun, /* gnbyaddr */
- ck_null, /* gnetent */
- ck_fun, /* gpbyname */
- ck_fun, /* gpbynumber */
- ck_null, /* gprotoent */
- ck_fun, /* gsbyname */
- ck_fun, /* gsbyport */
- ck_null, /* gservent */
- ck_fun, /* shostent */
- ck_fun, /* snetent */
- ck_fun, /* sprotoent */
- ck_fun, /* sservent */
- ck_null, /* ehostent */
- ck_null, /* enetent */
- ck_null, /* eprotoent */
- ck_null, /* eservent */
- ck_fun, /* gpwnam */
- ck_fun, /* gpwuid */
- ck_null, /* gpwent */
- ck_null, /* spwent */
- ck_null, /* epwent */
- ck_fun, /* ggrnam */
- ck_fun, /* ggrgid */
- ck_null, /* ggrent */
- ck_null, /* sgrent */
- ck_null, /* egrent */
- ck_null, /* getlogin */
- ck_fun, /* syscall */
- ck_rfun, /* lock */
- ck_null, /* threadsv */
+ Perl_ck_null, /* null */
+ Perl_ck_null, /* stub */
+ Perl_ck_fun, /* scalar */
+ Perl_ck_null, /* pushmark */
+ Perl_ck_null, /* wantarray */
+ Perl_ck_svconst,/* const */
+ Perl_ck_null, /* gvsv */
+ Perl_ck_null, /* gv */
+ Perl_ck_null, /* gelem */
+ Perl_ck_null, /* padsv */
+ Perl_ck_null, /* padav */
+ Perl_ck_null, /* padhv */
+ Perl_ck_null, /* padany */
+ Perl_ck_null, /* pushre */
+ Perl_ck_rvconst,/* rv2gv */
+ Perl_ck_rvconst,/* rv2sv */
+ Perl_ck_null, /* av2arylen */
+ Perl_ck_rvconst,/* rv2cv */
+ Perl_ck_anoncode,/* anoncode */
+ Perl_ck_null, /* prototype */
+ Perl_ck_spair, /* refgen */
+ Perl_ck_null, /* srefgen */
+ Perl_ck_fun, /* ref */
+ Perl_ck_fun, /* bless */
+ Perl_ck_null, /* backtick */
+ Perl_ck_glob, /* glob */
+ Perl_ck_null, /* readline */
+ Perl_ck_null, /* rcatline */
+ Perl_ck_fun, /* regcmaybe */
+ Perl_ck_fun, /* regcreset */
+ Perl_ck_null, /* regcomp */
+ Perl_ck_match, /* match */
+ Perl_ck_match, /* qr */
+ Perl_ck_null, /* subst */
+ Perl_ck_null, /* substcont */
+ Perl_ck_null, /* trans */
+ Perl_ck_null, /* sassign */
+ Perl_ck_null, /* aassign */
+ Perl_ck_spair, /* chop */
+ Perl_ck_null, /* schop */
+ Perl_ck_spair, /* chomp */
+ Perl_ck_null, /* schomp */
+ Perl_ck_defined,/* defined */
+ Perl_ck_lfun, /* undef */
+ Perl_ck_fun, /* study */
+ Perl_ck_lfun, /* pos */
+ Perl_ck_lfun, /* preinc */
+ Perl_ck_lfun, /* i_preinc */
+ Perl_ck_lfun, /* predec */
+ Perl_ck_lfun, /* i_predec */
+ Perl_ck_lfun, /* postinc */
+ Perl_ck_lfun, /* i_postinc */
+ Perl_ck_lfun, /* postdec */
+ Perl_ck_lfun, /* i_postdec */
+ Perl_ck_null, /* pow */
+ Perl_ck_null, /* multiply */
+ Perl_ck_null, /* i_multiply */
+ Perl_ck_null, /* divide */
+ Perl_ck_null, /* i_divide */
+ Perl_ck_null, /* modulo */
+ Perl_ck_null, /* i_modulo */
+ Perl_ck_repeat, /* repeat */
+ Perl_ck_null, /* add */
+ Perl_ck_null, /* i_add */
+ Perl_ck_null, /* subtract */
+ Perl_ck_null, /* i_subtract */
+ Perl_ck_concat, /* concat */
+ Perl_ck_fun, /* stringify */
+ Perl_ck_bitop, /* left_shift */
+ Perl_ck_bitop, /* right_shift */
+ Perl_ck_null, /* lt */
+ Perl_ck_null, /* i_lt */
+ Perl_ck_null, /* gt */
+ Perl_ck_null, /* i_gt */
+ Perl_ck_null, /* le */
+ Perl_ck_null, /* i_le */
+ Perl_ck_null, /* ge */
+ Perl_ck_null, /* i_ge */
+ Perl_ck_null, /* eq */
+ Perl_ck_null, /* i_eq */
+ Perl_ck_null, /* ne */
+ Perl_ck_null, /* i_ne */
+ Perl_ck_null, /* ncmp */
+ Perl_ck_null, /* i_ncmp */
+ Perl_ck_scmp, /* slt */
+ Perl_ck_scmp, /* sgt */
+ Perl_ck_scmp, /* sle */
+ Perl_ck_scmp, /* sge */
+ Perl_ck_null, /* seq */
+ Perl_ck_null, /* sne */
+ Perl_ck_scmp, /* scmp */
+ Perl_ck_bitop, /* bit_and */
+ Perl_ck_bitop, /* bit_xor */
+ Perl_ck_bitop, /* bit_or */
+ Perl_ck_null, /* negate */
+ Perl_ck_null, /* i_negate */
+ Perl_ck_null, /* not */
+ Perl_ck_bitop, /* complement */
+ Perl_ck_fun, /* atan2 */
+ Perl_ck_fun, /* sin */
+ Perl_ck_fun, /* cos */
+ Perl_ck_fun, /* rand */
+ Perl_ck_fun, /* srand */
+ Perl_ck_fun, /* exp */
+ Perl_ck_fun, /* log */
+ Perl_ck_fun, /* sqrt */
+ Perl_ck_fun, /* int */
+ Perl_ck_fun, /* hex */
+ Perl_ck_fun, /* oct */
+ Perl_ck_fun, /* abs */
+ Perl_ck_lengthconst,/* length */
+ Perl_ck_fun, /* substr */
+ Perl_ck_fun, /* vec */
+ Perl_ck_index, /* index */
+ Perl_ck_index, /* rindex */
+ Perl_ck_fun_locale,/* sprintf */
+ Perl_ck_fun, /* formline */
+ Perl_ck_fun, /* ord */
+ Perl_ck_fun, /* chr */
+ Perl_ck_fun, /* crypt */
+ Perl_ck_fun_locale,/* ucfirst */
+ Perl_ck_fun_locale,/* lcfirst */
+ Perl_ck_fun_locale,/* uc */
+ Perl_ck_fun_locale,/* lc */
+ Perl_ck_fun, /* quotemeta */
+ Perl_ck_rvconst,/* rv2av */
+ Perl_ck_null, /* aelemfast */
+ Perl_ck_null, /* aelem */
+ Perl_ck_null, /* aslice */
+ Perl_ck_fun, /* each */
+ Perl_ck_fun, /* values */
+ Perl_ck_fun, /* keys */
+ Perl_ck_delete, /* delete */
+ Perl_ck_exists, /* exists */
+ Perl_ck_rvconst,/* rv2hv */
+ Perl_ck_null, /* helem */
+ Perl_ck_null, /* hslice */
+ Perl_ck_fun, /* unpack */
+ Perl_ck_fun, /* pack */
+ Perl_ck_split, /* split */
+ Perl_ck_fun, /* join */
+ Perl_ck_null, /* list */
+ Perl_ck_null, /* lslice */
+ Perl_ck_fun, /* anonlist */
+ Perl_ck_fun, /* anonhash */
+ Perl_ck_fun, /* splice */
+ Perl_ck_fun, /* push */
+ Perl_ck_shift, /* pop */
+ Perl_ck_shift, /* shift */
+ Perl_ck_fun, /* unshift */
+ Perl_ck_sort, /* sort */
+ Perl_ck_fun, /* reverse */
+ Perl_ck_grep, /* grepstart */
+ Perl_ck_null, /* grepwhile */
+ Perl_ck_grep, /* mapstart */
+ Perl_ck_null, /* mapwhile */
+ Perl_ck_null, /* range */
+ Perl_ck_null, /* flip */
+ Perl_ck_null, /* flop */
+ Perl_ck_null, /* and */
+ Perl_ck_null, /* or */
+ Perl_ck_null, /* xor */
+ Perl_ck_null, /* cond_expr */
+ Perl_ck_null, /* andassign */
+ Perl_ck_null, /* orassign */
+ Perl_ck_null, /* method */
+ Perl_ck_subr, /* entersub */
+ Perl_ck_null, /* leavesub */
+ Perl_ck_fun, /* caller */
+ Perl_ck_fun, /* warn */
+ Perl_ck_fun, /* die */
+ Perl_ck_fun, /* reset */
+ Perl_ck_null, /* lineseq */
+ Perl_ck_null, /* nextstate */
+ Perl_ck_null, /* dbstate */
+ Perl_ck_null, /* unstack */
+ Perl_ck_null, /* enter */
+ Perl_ck_null, /* leave */
+ Perl_ck_null, /* scope */
+ Perl_ck_null, /* enteriter */
+ Perl_ck_null, /* iter */
+ Perl_ck_null, /* enterloop */
+ Perl_ck_null, /* leaveloop */
+ Perl_ck_null, /* return */
+ Perl_ck_null, /* last */
+ Perl_ck_null, /* next */
+ Perl_ck_null, /* redo */
+ Perl_ck_null, /* dump */
+ Perl_ck_null, /* goto */
+ Perl_ck_fun, /* exit */
+ Perl_ck_fun, /* open */
+ Perl_ck_fun, /* close */
+ Perl_ck_fun, /* pipe_op */
+ Perl_ck_fun, /* fileno */
+ Perl_ck_fun, /* umask */
+ Perl_ck_fun, /* binmode */
+ Perl_ck_fun, /* tie */
+ Perl_ck_fun, /* untie */
+ Perl_ck_fun, /* tied */
+ Perl_ck_fun, /* dbmopen */
+ Perl_ck_fun, /* dbmclose */
+ Perl_ck_select, /* sselect */
+ Perl_ck_select, /* select */
+ Perl_ck_eof, /* getc */
+ Perl_ck_fun, /* read */
+ Perl_ck_fun, /* enterwrite */
+ Perl_ck_null, /* leavewrite */
+ Perl_ck_listiob,/* prtf */
+ Perl_ck_listiob,/* print */
+ Perl_ck_fun, /* sysopen */
+ Perl_ck_fun, /* sysseek */
+ Perl_ck_fun, /* sysread */
+ Perl_ck_fun, /* syswrite */
+ Perl_ck_fun, /* send */
+ Perl_ck_fun, /* recv */
+ Perl_ck_eof, /* eof */
+ Perl_ck_fun, /* tell */
+ Perl_ck_fun, /* seek */
+ Perl_ck_trunc, /* truncate */
+ Perl_ck_fun, /* fcntl */
+ Perl_ck_fun, /* ioctl */
+ Perl_ck_fun, /* flock */
+ Perl_ck_fun, /* socket */
+ Perl_ck_fun, /* sockpair */
+ Perl_ck_fun, /* bind */
+ Perl_ck_fun, /* connect */
+ Perl_ck_fun, /* listen */
+ Perl_ck_fun, /* accept */
+ Perl_ck_fun, /* shutdown */
+ Perl_ck_fun, /* gsockopt */
+ Perl_ck_fun, /* ssockopt */
+ Perl_ck_fun, /* getsockname */
+ Perl_ck_fun, /* getpeername */
+ Perl_ck_ftst, /* lstat */
+ Perl_ck_ftst, /* stat */
+ Perl_ck_ftst, /* ftrread */
+ Perl_ck_ftst, /* ftrwrite */
+ Perl_ck_ftst, /* ftrexec */
+ Perl_ck_ftst, /* fteread */
+ Perl_ck_ftst, /* ftewrite */
+ Perl_ck_ftst, /* fteexec */
+ Perl_ck_ftst, /* ftis */
+ Perl_ck_ftst, /* fteowned */
+ Perl_ck_ftst, /* ftrowned */
+ Perl_ck_ftst, /* ftzero */
+ Perl_ck_ftst, /* ftsize */
+ Perl_ck_ftst, /* ftmtime */
+ Perl_ck_ftst, /* ftatime */
+ Perl_ck_ftst, /* ftctime */
+ Perl_ck_ftst, /* ftsock */
+ Perl_ck_ftst, /* ftchr */
+ Perl_ck_ftst, /* ftblk */
+ Perl_ck_ftst, /* ftfile */
+ Perl_ck_ftst, /* ftdir */
+ Perl_ck_ftst, /* ftpipe */
+ Perl_ck_ftst, /* ftlink */
+ Perl_ck_ftst, /* ftsuid */
+ Perl_ck_ftst, /* ftsgid */
+ Perl_ck_ftst, /* ftsvtx */
+ Perl_ck_ftst, /* fttty */
+ Perl_ck_ftst, /* fttext */
+ Perl_ck_ftst, /* ftbinary */
+ Perl_ck_fun, /* chdir */
+ Perl_ck_fun, /* chown */
+ Perl_ck_fun, /* chroot */
+ Perl_ck_fun, /* unlink */
+ Perl_ck_fun, /* chmod */
+ Perl_ck_fun, /* utime */
+ Perl_ck_fun, /* rename */
+ Perl_ck_fun, /* link */
+ Perl_ck_fun, /* symlink */
+ Perl_ck_fun, /* readlink */
+ Perl_ck_fun, /* mkdir */
+ Perl_ck_fun, /* rmdir */
+ Perl_ck_fun, /* open_dir */
+ Perl_ck_fun, /* readdir */
+ Perl_ck_fun, /* telldir */
+ Perl_ck_fun, /* seekdir */
+ Perl_ck_fun, /* rewinddir */
+ Perl_ck_fun, /* closedir */
+ Perl_ck_null, /* fork */
+ Perl_ck_null, /* wait */
+ Perl_ck_fun, /* waitpid */
+ Perl_ck_exec, /* system */
+ Perl_ck_exec, /* exec */
+ Perl_ck_fun, /* kill */
+ Perl_ck_null, /* getppid */
+ Perl_ck_fun, /* getpgrp */
+ Perl_ck_fun, /* setpgrp */
+ Perl_ck_fun, /* getpriority */
+ Perl_ck_fun, /* setpriority */
+ Perl_ck_null, /* time */
+ Perl_ck_null, /* tms */
+ Perl_ck_fun, /* localtime */
+ Perl_ck_fun, /* gmtime */
+ Perl_ck_fun, /* alarm */
+ Perl_ck_fun, /* sleep */
+ Perl_ck_fun, /* shmget */
+ Perl_ck_fun, /* shmctl */
+ Perl_ck_fun, /* shmread */
+ Perl_ck_fun, /* shmwrite */
+ Perl_ck_fun, /* msgget */
+ Perl_ck_fun, /* msgctl */
+ Perl_ck_fun, /* msgsnd */
+ Perl_ck_fun, /* msgrcv */
+ Perl_ck_fun, /* semget */
+ Perl_ck_fun, /* semctl */
+ Perl_ck_fun, /* semop */
+ Perl_ck_require,/* require */
+ Perl_ck_fun, /* dofile */
+ Perl_ck_eval, /* entereval */
+ Perl_ck_null, /* leaveeval */
+ Perl_ck_null, /* entertry */
+ Perl_ck_null, /* leavetry */
+ Perl_ck_fun, /* ghbyname */
+ Perl_ck_fun, /* ghbyaddr */
+ Perl_ck_null, /* ghostent */
+ Perl_ck_fun, /* gnbyname */
+ Perl_ck_fun, /* gnbyaddr */
+ Perl_ck_null, /* gnetent */
+ Perl_ck_fun, /* gpbyname */
+ Perl_ck_fun, /* gpbynumber */
+ Perl_ck_null, /* gprotoent */
+ Perl_ck_fun, /* gsbyname */
+ Perl_ck_fun, /* gsbyport */
+ Perl_ck_null, /* gservent */
+ Perl_ck_fun, /* shostent */
+ Perl_ck_fun, /* snetent */
+ Perl_ck_fun, /* sprotoent */
+ Perl_ck_fun, /* sservent */
+ Perl_ck_null, /* ehostent */
+ Perl_ck_null, /* enetent */
+ Perl_ck_null, /* eprotoent */
+ Perl_ck_null, /* eservent */
+ Perl_ck_fun, /* gpwnam */
+ Perl_ck_fun, /* gpwuid */
+ Perl_ck_null, /* gpwent */
+ Perl_ck_null, /* spwent */
+ Perl_ck_null, /* epwent */
+ Perl_ck_fun, /* ggrnam */
+ Perl_ck_fun, /* ggrgid */
+ Perl_ck_null, /* ggrent */
+ Perl_ck_null, /* sgrent */
+ Perl_ck_null, /* egrent */
+ Perl_ck_null, /* getlogin */
+ Perl_ck_fun, /* syscall */
+ Perl_ck_rfun, /* lock */
+ Perl_ck_null, /* threadsv */
};
#endif
diff --git a/opcode.pl b/opcode.pl
index 7ca580b744..b9b0b8aaa3 100755
--- a/opcode.pl
+++ b/opcode.pl
@@ -29,10 +29,10 @@ while (<DATA>) {
$i = 0;
print <<"END";
-#define pp_i_preinc pp_preinc
-#define pp_i_predec pp_predec
-#define pp_i_postinc pp_postinc
-#define pp_i_postdec pp_postdec
+#define Perl_pp_i_preinc Perl_pp_preinc
+#define Perl_pp_i_predec Perl_pp_predec
+#define Perl_pp_i_postinc Perl_pp_postinc
+#define Perl_pp_i_postdec Perl_pp_postdec
typedef enum {
END
@@ -82,8 +82,8 @@ START_EXTERN_C
#undef PERL_CKDEF
#undef PERL_PPDEF
-#define PERL_CKDEF(s) OP *s (OP *o);
-#define PERL_PPDEF(s) OP *s (ARGSproto);
+#define PERL_CKDEF(s) OP *s (pTHX_ OP *o);
+#define PERL_PPDEF(s) OP *s (pTHX_ ARGSproto);
#include "pp_proto.h"
@@ -115,7 +115,7 @@ EXT OP * (CPERLscope(*PL_ppaddr)[])(ARGSproto) = {
END
for (@ops) {
- print "\tpp_$_,\n";
+ print "\tPerl_pp_$_,\n";
}
print <<END;
@@ -134,7 +134,7 @@ EXT OP * (CPERLscope(*PL_check)[]) (OP *op) = {
END
for (@ops) {
- print "\t", &tab(3, "$check{$_},"), "/* $_ */\n";
+ print "\t", &tab(3, "Perl_$check{$_},"), "/* $_ */\n";
}
print <<END;
@@ -218,8 +218,8 @@ open PP, '>pp_proto.h' or die "Error creating pp_proto.h: $!";
open PPSYM, '>pp.sym' or die "Error creating pp.sym: $!";
for (sort keys %ckname) {
- print PP "PERL_CKDEF($_)\n";
- print PPSYM "$_\n";
+ print PP "PERL_CKDEF(Perl_$_)\n";
+ print PPSYM "Perl_$_\n";
#OP *\t", &tab(3,$_),"(OP* o);\n";
}
@@ -227,8 +227,8 @@ print PP "\n\n";
for (@ops) {
next if /^i_(pre|post)(inc|dec)$/;
- print PP "PERL_PPDEF(pp_$_)\n";
- print PPSYM "pp_$_\n";
+ print PP "PERL_PPDEF(Perl_pp_$_)\n";
+ print PPSYM "Perl_pp_$_\n";
}
close PP or die "Error closing pp_proto.h: $!";
diff --git a/perl.c b/perl.c
index 7fad9f043f..87aa87082e 100644
--- a/perl.c
+++ b/perl.c
@@ -12,6 +12,7 @@
*/
#include "EXTERN.h"
+#define PERL_IN_PERL_C
#include "perl.h"
/* XXX If this causes problems, set i_unistd=undef in the hint file. */
@@ -43,41 +44,8 @@ char *getenv (char *); /* Usually in <stdlib.h> */
#endif
#ifdef PERL_OBJECT
-static I32 read_e_script (CPerlObj* pPerl, int idx, SV *buf_sv, int maxlen);
-#else
-static void find_beginning (void);
-static void forbid_setid (char *);
-static void incpush (char *, int);
-static void init_interp (void);
-static void init_ids (void);
-static void init_debugger (void);
-static void init_lexer (void);
-static void init_main_stash (void);
-static void *perl_parse_body (va_list args);
-static void *perl_run_body (va_list args);
-static void *perl_call_body (va_list args);
-static void perl_call_xbody (OP *myop, int is_eval);
-static void *call_list_body (va_list args);
-#ifdef USE_THREADS
-static struct perl_thread * init_main_thread (void);
-#endif /* USE_THREADS */
-static void init_perllib (void);
-static void init_postdump_symbols (int, char **, char **);
-static void init_predump_symbols (void);
-static void my_exit_jump (void) __attribute__((noreturn));
-static void nuke_stacks (void);
-static void open_script (char *, bool, SV *, int *fd);
-static void usage (char *);
-#ifdef IAMSUID
-static int fd_on_nosuid_fs (int);
-#endif
-static void validate_suid (char *, char*, int);
-static I32 read_e_script (int idx, SV *buf_sv, int maxlen);
-#endif
-
-#ifdef PERL_OBJECT
CPerlObj* perl_alloc(IPerlMem* ipM, IPerlEnv* ipE, IPerlStdIO* ipStd,
- IPerlLIO* ipLIO, IPerlDir* ipD, IPerlSock* ipS, IPerlProc* ipP)
+ IPerlLIO* ipLIO, IPerlDir* ipD, IPerlSock* ipS, IPerlProc* ipP)
{
CPerlObj* pPerl = new(ipM) CPerlObj(ipM, ipE, ipStd, ipLIO, ipD, ipS, ipP);
if(pPerl != NULL)
@@ -87,7 +55,7 @@ CPerlObj* perl_alloc(IPerlMem* ipM, IPerlEnv* ipE, IPerlStdIO* ipStd,
}
#else
PerlInterpreter *
-perl_alloc(void)
+perl_alloc(pTHX)
{
PerlInterpreter *sv_interp;
@@ -98,11 +66,7 @@ perl_alloc(void)
#endif /* PERL_OBJECT */
void
-#ifdef PERL_OBJECT
-perl_construct(void)
-#else
perl_construct(register PerlInterpreter *sv_interp)
-#endif
{
#ifdef USE_THREADS
int i;
@@ -240,11 +204,7 @@ perl_construct(register PerlInterpreter *sv_interp)
}
void
-#ifdef PERL_OBJECT
-perl_destruct(void)
-#else
perl_destruct(register PerlInterpreter *sv_interp)
-#endif
{
dTHR;
int destruct_level; /* 0=none, 1=full, 2=full with checks */
@@ -602,11 +562,7 @@ perl_destruct(register PerlInterpreter *sv_interp)
}
void
-#ifdef PERL_OBJECT
-perl_free(void)
-#else
perl_free(PerlInterpreter *sv_interp)
-#endif
{
#ifdef PERL_OBJECT
Safefree(this);
@@ -618,11 +574,7 @@ perl_free(PerlInterpreter *sv_interp)
}
void
-#ifdef PERL_OBJECT
-perl_atexit(void (*fn) (CPerlObj*,void *), void *ptr)
-#else
-perl_atexit(void (*fn) (void *), void *ptr)
-#endif
+Perl_call_atexit(pTHX_ ATEXIT_t fn, void *ptr)
{
Renew(PL_exitlist, PL_exitlistlen+1, PerlExitListEntry);
PL_exitlist[PL_exitlistlen].fn = fn;
@@ -630,18 +582,8 @@ perl_atexit(void (*fn) (void *), void *ptr)
++PL_exitlistlen;
}
-#ifdef PERL_OBJECT
- typedef void (*xs_init_t)(CPerlObj*);
-#else
- typedef void (*xs_init_t)(void);
-#endif
-
int
-#ifdef PERL_OBJECT
-perl_parse(xs_init_t xsinit, int argc, char **argv, char **env)
-#else
-perl_parse(PerlInterpreter *sv_interp, xs_init_t xsinit, int argc, char **argv, char **env)
-#endif
+perl_parse(PerlInterpreter *sv_interp, XSINIT_t xsinit, int argc, char **argv, char **env)
{
dTHR;
I32 oldscope;
@@ -696,7 +638,7 @@ setuid perl scripts securely.\n");
oldscope = PL_scopestack_ix;
PL_dowarn = G_WARN_OFF;
- CALLPROTECT(&ret, FUNC_NAME_TO_PTR(perl_parse_body), env, xsinit);
+ CALLPROTECT(&ret, FUNC_NAME_TO_PTR(parse_body), env, xsinit);
switch (ret) {
case 0:
return 0;
@@ -720,7 +662,7 @@ setuid perl scripts securely.\n");
}
STATIC void *
-perl_parse_body(va_list args)
+parse_body(pTHX_ va_list args)
{
dTHR;
int argc = PL_origargc;
@@ -734,7 +676,7 @@ perl_parse_body(va_list args)
register SV *sv;
register char *s;
- xs_init_t xsinit = va_arg(args, xs_init_t);
+ XSINIT_t xsinit = va_arg(args, XSINIT_t);
sv_setpvn(PL_linestr,"",0);
sv = newSVpvn("",0); /* first used for -I flags */
@@ -1032,7 +974,7 @@ print \" \\@INC:\\n @INC\\n\";");
/* now that script is parsed, we can modify record separator */
SvREFCNT_dec(PL_rs);
PL_rs = SvREFCNT_inc(PL_nrs);
- sv_setsv(perl_get_sv("/", TRUE), PL_rs);
+ sv_setsv(get_sv("/", TRUE), PL_rs);
if (PL_do_undump)
my_unexec();
@@ -1053,11 +995,7 @@ print \" \\@INC:\\n @INC\\n\";");
}
int
-#ifdef PERL_OBJECT
-perl_run(void)
-#else
perl_run(PerlInterpreter *sv_interp)
-#endif
{
dTHR;
I32 oldscope;
@@ -1071,7 +1009,7 @@ perl_run(PerlInterpreter *sv_interp)
oldscope = PL_scopestack_ix;
redo_body:
- CALLPROTECT(&ret, FUNC_NAME_TO_PTR(perl_run_body), oldscope);
+ CALLPROTECT(&ret, FUNC_NAME_TO_PTR(run_body), oldscope);
switch (ret) {
case 1:
cxstack_ix = -1; /* start context stack again */
@@ -1104,7 +1042,7 @@ perl_run(PerlInterpreter *sv_interp)
}
STATIC void *
-perl_run_body(va_list args)
+run_body(pTHX_ va_list args)
{
dTHR;
I32 oldscope = va_arg(args, I32);
@@ -1145,7 +1083,7 @@ perl_run_body(va_list args)
}
SV*
-perl_get_sv(const char *name, I32 create)
+Perl_get_sv(pTHX_ const char *name, I32 create)
{
GV *gv;
#ifdef USE_THREADS
@@ -1164,7 +1102,7 @@ perl_get_sv(const char *name, I32 create)
}
AV*
-perl_get_av(const char *name, I32 create)
+Perl_get_av(pTHX_ const char *name, I32 create)
{
GV* gv = gv_fetchpv(name, create, SVt_PVAV);
if (create)
@@ -1175,7 +1113,7 @@ perl_get_av(const char *name, I32 create)
}
HV*
-perl_get_hv(const char *name, I32 create)
+Perl_get_hv(pTHX_ const char *name, I32 create)
{
GV* gv = gv_fetchpv(name, create, SVt_PVHV);
if (create)
@@ -1186,7 +1124,7 @@ perl_get_hv(const char *name, I32 create)
}
CV*
-perl_get_cv(const char *name, I32 create)
+Perl_get_cv(pTHX_ const char *name, I32 create)
{
GV* gv = gv_fetchpv(name, create, SVt_PVCV);
/* XXX unsafe for threads if eval_owner isn't held */
@@ -1206,7 +1144,7 @@ perl_get_cv(const char *name, I32 create)
/* Be sure to refetch the stack pointer after calling these routines. */
I32
-perl_call_argv(const char *sub_name, I32 flags, register char **argv)
+Perl_call_argv(pTHX_ const char *sub_name, I32 flags, register char **argv)
/* See G_* flags in cop.h */
/* null terminated arg list */
@@ -1221,19 +1159,19 @@ perl_call_argv(const char *sub_name, I32 flags, register char **argv)
}
PUTBACK;
}
- return perl_call_pv(sub_name, flags);
+ return call_pv(sub_name, flags);
}
I32
-perl_call_pv(const char *sub_name, I32 flags)
+Perl_call_pv(pTHX_ const char *sub_name, I32 flags)
/* name of the subroutine */
/* See G_* flags in cop.h */
{
- return perl_call_sv((SV*)perl_get_cv(sub_name, TRUE), flags);
+ return call_sv((SV*)get_cv(sub_name, TRUE), flags);
}
I32
-perl_call_method(const char *methname, I32 flags)
+Perl_call_method(pTHX_ const char *methname, I32 flags)
/* name of the subroutine */
/* See G_* flags in cop.h */
{
@@ -1246,12 +1184,12 @@ perl_call_method(const char *methname, I32 flags)
pp_method(ARGS);
if(PL_op == &myop)
PL_op = Nullop;
- return perl_call_sv(*PL_stack_sp--, flags);
+ return call_sv(*PL_stack_sp--, flags);
}
/* May be called with any of a CV, a GV, or an SV containing the name. */
I32
-perl_call_sv(SV *sv, I32 flags)
+Perl_call_sv(pTHX_ SV *sv, I32 flags)
/* See G_* flags in cop.h */
{
@@ -1295,7 +1233,7 @@ perl_call_sv(SV *sv, I32 flags)
if (!(flags & G_EVAL)) {
CATCH_SET(TRUE);
- perl_call_xbody((OP*)&myop, FALSE);
+ call_xbody((OP*)&myop, FALSE);
retval = PL_stack_sp - (PL_stack_base + oldmark);
CATCH_SET(FALSE);
}
@@ -1324,7 +1262,7 @@ perl_call_sv(SV *sv, I32 flags)
PL_markstack_ptr++;
redo_body:
- CALLPROTECT(&ret, FUNC_NAME_TO_PTR(perl_call_body), (OP*)&myop, FALSE);
+ CALLPROTECT(&ret, FUNC_NAME_TO_PTR(call_body), (OP*)&myop, FALSE);
switch (ret) {
case 0:
retval = PL_stack_sp - (PL_stack_base + oldmark);
@@ -1384,17 +1322,17 @@ perl_call_sv(SV *sv, I32 flags)
}
STATIC void *
-perl_call_body(va_list args)
+call_body(pTHX_ va_list args)
{
OP *myop = va_arg(args, OP*);
int is_eval = va_arg(args, int);
- perl_call_xbody(myop, is_eval);
+ call_xbody(myop, is_eval);
return NULL;
}
STATIC void
-perl_call_xbody(OP *myop, int is_eval)
+call_xbody(pTHX_ OP *myop, int is_eval)
{
dTHR;
@@ -1411,7 +1349,7 @@ perl_call_xbody(OP *myop, int is_eval)
/* Eval a string. The G_EVAL flag is always assumed. */
I32
-perl_eval_sv(SV *sv, I32 flags)
+Perl_eval_sv(pTHX_ SV *sv, I32 flags)
/* See G_* flags in cop.h */
{
@@ -1446,7 +1384,7 @@ perl_eval_sv(SV *sv, I32 flags)
myop.op_flags |= OPf_SPECIAL;
redo_body:
- CALLPROTECT(&ret, FUNC_NAME_TO_PTR(perl_call_body), (OP*)&myop, TRUE);
+ CALLPROTECT(&ret, FUNC_NAME_TO_PTR(call_body), (OP*)&myop, TRUE);
switch (ret) {
case 0:
retval = PL_stack_sp - (PL_stack_base + oldmark);
@@ -1491,13 +1429,13 @@ perl_eval_sv(SV *sv, I32 flags)
}
SV*
-perl_eval_pv(const char *p, I32 croak_on_error)
+Perl_eval_pv(pTHX_ const char *p, I32 croak_on_error)
{
dSP;
SV* sv = newSVpv(p, 0);
PUSHMARK(SP);
- perl_eval_sv(sv, G_SCALAR);
+ eval_sv(sv, G_SCALAR);
SvREFCNT_dec(sv);
SPAGAIN;
@@ -1515,7 +1453,7 @@ perl_eval_pv(const char *p, I32 croak_on_error)
/* Require a module. */
void
-perl_require_pv(const char *pv)
+Perl_require_pv(pTHX_ const char *pv)
{
SV* sv;
dSP;
@@ -1525,13 +1463,13 @@ perl_require_pv(const char *pv)
sv_setpv(sv, "require '");
sv_catpv(sv, pv);
sv_catpv(sv, "'");
- perl_eval_sv(sv, G_DISCARD);
+ eval_sv(sv, G_DISCARD);
SPAGAIN;
POPSTACK;
}
void
-magicname(char *sym, char *name, I32 namlen)
+Perl_magicname(pTHX_ char *sym, char *name, I32 namlen)
{
register GV *gv;
@@ -1540,8 +1478,7 @@ magicname(char *sym, char *name, I32 namlen)
}
STATIC void
-usage(char *name) /* XXX move this out into a module ? */
-
+usage(pTHX_ char *name) /* XXX move this out into a module ? */
{
/* This message really ought to be max 23 lines.
* Removed -h because the user already knows that opton. Others? */
@@ -1583,7 +1520,7 @@ NULL
/* This routine handles any switches that can be given during run */
char *
-moreswitches(char *s)
+Perl_moreswitches(pTHX_ char *s)
{
I32 numlen;
U32 rschar;
@@ -1873,7 +1810,7 @@ Internet, point your browser at http://www.perl.com/, the Perl Home Page.\n\n");
/* Known to work with -DUNEXEC and using unexelf.c from GNU emacs-20.2 */
void
-my_unexec(void)
+Perl_my_unexec(pTHX)
{
#ifdef UNEXEC
SV* prog;
@@ -1901,7 +1838,7 @@ my_unexec(void)
/* initialize curinterp */
STATIC void
-init_interp(void)
+init_interp(pTHX)
{
#ifdef PERL_OBJECT /* XXX kludge */
@@ -1968,7 +1905,7 @@ init_interp(void)
}
STATIC void
-init_main_stash(void)
+init_main_stash(pTHX)
{
dTHR;
GV *gv;
@@ -2007,11 +1944,11 @@ init_main_stash(void)
PL_debstash = GvHV(gv_fetchpv("DB::", GV_ADDMULTI, SVt_PVHV));
PL_globalstash = GvHV(gv_fetchpv("CORE::GLOBAL::", GV_ADDMULTI, SVt_PVHV));
/* We must init $/ before switches are processed. */
- sv_setpvn(perl_get_sv("/", TRUE), "\n", 1);
+ sv_setpvn(get_sv("/", TRUE), "\n", 1);
}
STATIC void
-open_script(char *scriptname, bool dosearch, SV *sv, int *fdscript)
+open_script(pTHX_ char *scriptname, bool dosearch, SV *sv, int *fdscript)
{
dTHR;
register char *s;
@@ -2174,8 +2111,8 @@ sed %s -e \"/^[^#]/b\" \
* here so that metaconfig picks them up. */
#ifdef IAMSUID
-static int
-fd_on_nosuid_fs(int fd)
+STATIC int
+fd_on_nosuid_fs(pTHX_ int fd)
{
int on_nosuid = 0;
int check_okay = 0;
@@ -2238,7 +2175,7 @@ fd_on_nosuid_fs(int fd)
#endif /* IAMSUID */
STATIC void
-validate_suid(char *validarg, char *scriptname, int fdscript)
+validate_suid(pTHX_ char *validarg, char *scriptname, int fdscript)
{
int which;
@@ -2483,7 +2420,7 @@ FIX YOUR KERNEL, PUT A C WRAPPER AROUND THIS SCRIPT, OR USE -u AND UNDUMP!\n");
}
STATIC void
-find_beginning(void)
+find_beginning(pTHX)
{
register char *s, *s2;
@@ -2513,7 +2450,7 @@ find_beginning(void)
STATIC void
-init_ids(void)
+init_ids(pTHX)
{
PL_uid = (int)PerlProc_getuid();
PL_euid = (int)PerlProc_geteuid();
@@ -2527,7 +2464,7 @@ init_ids(void)
}
STATIC void
-forbid_setid(char *s)
+forbid_setid(pTHX_ char *s)
{
if (PL_euid != PL_uid)
croak("No %s allowed while running setuid", s);
@@ -2536,7 +2473,7 @@ forbid_setid(char *s)
}
STATIC void
-init_debugger(void)
+init_debugger(pTHX)
{
dTHR;
PL_curstash = PL_debstash;
@@ -2561,7 +2498,7 @@ init_debugger(void)
#endif
void
-init_stacks(ARGSproto)
+Perl_init_stacks(pTHX_ ARGSproto)
{
/* start with 128-item stack and 8K cxstack */
PL_curstackinfo = new_stackinfo(REASONABLE(128),
@@ -2601,7 +2538,7 @@ init_stacks(ARGSproto)
#undef REASONABLE
STATIC void
-nuke_stacks(void)
+nuke_stacks(pTHX)
{
dTHR;
while (PL_curstackinfo->si_next)
@@ -2629,7 +2566,7 @@ static PerlIO *tmpfp; /* moved outside init_lexer() because of UNICOS bug */
#endif
STATIC void
-init_lexer(void)
+init_lexer(pTHX)
{
#ifdef PERL_OBJECT
PerlIO *tmpfp;
@@ -2642,13 +2579,13 @@ init_lexer(void)
}
STATIC void
-init_predump_symbols(void)
+init_predump_symbols(pTHX)
{
dTHR;
GV *tmpgv;
GV *othergv;
- sv_setpvn(perl_get_sv("\"", TRUE), " ", 1);
+ sv_setpvn(get_sv("\"", TRUE), " ", 1);
PL_stdingv = gv_fetchpv("STDIN",TRUE, SVt_PVIO);
GvMULTI_on(PL_stdingv);
IoIFP(GvIOp(PL_stdingv)) = PerlIO_stdin();
@@ -2678,7 +2615,7 @@ init_predump_symbols(void)
}
STATIC void
-init_postdump_symbols(register int argc, register char **argv, register char **env)
+init_postdump_symbols(pTHX_ register int argc, register char **argv, register char **env)
{
dTHR;
char *s;
@@ -2766,7 +2703,7 @@ init_postdump_symbols(register int argc, register char **argv, register char **e
}
STATIC void
-init_perllib(void)
+init_perllib(pTHX)
{
char *s;
if (!PL_tainting) {
@@ -2837,7 +2774,7 @@ init_perllib(void)
#endif
STATIC void
-incpush(char *p, int addsubdirs)
+incpush(pTHX_ char *p, int addsubdirs)
{
SV *subdir = Nullsv;
@@ -2925,7 +2862,7 @@ incpush(char *p, int addsubdirs)
#ifdef USE_THREADS
STATIC struct perl_thread *
-init_main_thread()
+init_main_thread(pTHX)
{
struct perl_thread *thr;
XPV *xpv;
@@ -2996,7 +2933,7 @@ init_main_thread()
#endif /* USE_THREADS */
void
-call_list(I32 oldscope, AV *paramList)
+Perl_call_list(pTHX_ I32 oldscope, AV *paramList)
{
dTHR;
SV *atsv = ERRSV;
@@ -3059,18 +2996,18 @@ call_list(I32 oldscope, AV *paramList)
}
STATIC void *
-call_list_body(va_list args)
+call_list_body(pTHX_ va_list args)
{
dTHR;
CV *cv = va_arg(args, CV*);
PUSHMARK(PL_stack_sp);
- perl_call_sv((SV*)cv, G_EVAL|G_DISCARD);
+ call_sv((SV*)cv, G_EVAL|G_DISCARD);
return NULL;
}
void
-my_exit(U32 status)
+Perl_my_exit(pTHX_ U32 status)
{
dTHR;
@@ -3091,7 +3028,7 @@ my_exit(U32 status)
}
void
-my_failure_exit(void)
+Perl_my_failure_exit(pTHX)
{
#ifdef VMS
if (vaxc$errno & 1) {
@@ -3120,7 +3057,7 @@ my_failure_exit(void)
}
STATIC void
-my_exit_jump(void)
+my_exit_jump(pTHX)
{
dTHR;
register PERL_CONTEXT *cx;
@@ -3149,12 +3086,8 @@ my_exit_jump(void)
#include "XSUB.h"
-static I32
-#ifdef PERL_OBJECT
-read_e_script(CPerlObj *pPerl, int idx, SV *buf_sv, int maxlen)
-#else
-read_e_script(int idx, SV *buf_sv, int maxlen)
-#endif
+STATIC I32
+read_e_script(pTHX_ int idx, SV *buf_sv, int maxlen)
{
char *p, *nl;
p = SvPVX(PL_e_script);
diff --git a/perl.h b/perl.h
index 4ecfcde001..cd46b7d471 100644
--- a/perl.h
+++ b/perl.h
@@ -1522,6 +1522,22 @@ union any {
(PerlLIO_setmode(PerlIO_fileno(fp), O_BINARY) != -1 ? TRUE : NULL)
#endif
+#ifndef pTHX
+# define pTHX void
+# define pTHX_
+# define _pTHX
+#endif
+
+#ifndef aTHX
+# define aTHX
+# define aTHX_
+# define _aTHX
+#endif
+
+#ifndef STATIC
+# define STATIC static
+#endif
+
#include "regexp.h"
#include "sv.h"
#include "util.h"
@@ -1565,7 +1581,8 @@ struct _sublex_info {
typedef struct magic_state MGS; /* struct magic_state defined in mg.c */
-#ifdef PERL_OBJECT
+/* Length of a variant. */
+
typedef struct {
I32 len_min;
I32 len_delta;
@@ -1585,7 +1602,6 @@ typedef struct {
} scan_data_t;
typedef I32 CHECKPOINT;
-#endif /* PERL_OBJECT */
#if defined(iAPX286) || defined(M_I286) || defined(I80286)
# define I286
@@ -2377,8 +2393,46 @@ typedef void *Thread;
#include "thread.h"
#include "pp.h"
+
+#ifndef PERL_CALLCONV
+# define PERL_CALLCONV
+#endif
+
+#ifdef PERL_OBJECT
+# define VIRTUAL virtual PERL_CALLCONV
+#else
+# define VIRTUAL PERL_CALLCONV
+START_EXTERN_C
+#endif
+
+#ifndef NEXT30_NO_ATTRIBUTE
+# ifndef HASATTRIBUTE /* disable GNU-cc attribute checking? */
+# ifdef __attribute__ /* Avoid possible redefinition errors */
+# undef __attribute__
+# endif
+# define __attribute__(attr)
+# endif
+#endif
+
+#ifdef USE_PURE_BISON
+int Perl_yylex(pTHX_ YYSTYPE *lvalp, int *lcharp);
+#endif
+
+typedef void (*DESTRUCTORFUNC_t) (pTHX_ void*);
+typedef void (*SVFUNC_t) (pTHX_ SV*);
+typedef I32 (*SVCOMPARE_t) (pTHX_ SV*, SV*);
+typedef void (*XSINIT_t) (pTHX);
+typedef void (*ATEXIT_t) (pTHX_ void*);
+typedef void (*XSUBADDR_t) (pTHX_ CV *);
+
#include "proto.h"
+#include "pp_proto.h"
+
+#ifndef PERL_OBJECT
+END_EXTERN_C
+#endif
+
/* The following must follow proto.h as #defines mess up syntax */
#if !defined(PERL_FOR_X2P)
@@ -2733,14 +2787,14 @@ typedef struct am_table_short AMTS;
#define SET_NUMERIC_STANDARD() \
STMT_START { \
- if (! PL_numeric_standard) \
- perl_set_numeric_standard(); \
+ if (! PL_numeric_standard) \
+ set_numeric_standard(); \
} STMT_END
#define SET_NUMERIC_LOCAL() \
STMT_START { \
if (! PL_numeric_local) \
- perl_set_numeric_local(); \
+ set_numeric_local(); \
} STMT_END
#else /* !USE_LOCALE_NUMERIC */
diff --git a/perl_exp.SH b/perl_exp.SH
index 5a15ed43fc..ffacdac551 100644
--- a/perl_exp.SH
+++ b/perl_exp.SH
@@ -54,7 +54,7 @@ echo "#!" > perl.exp
syms="global.sym pp.sym"
-sed -n '/^[A-Za-z]/ s/^/Perl_/p' $syms >> perl.exp
+cat $syms >> perl.exp
sed -n '/^[A-Za-z]/ s/^/PL_/p' globvar.sym >> perl.exp
sed -n 's/^PERLVAR.*(G\([^[,]*\).*/PL_\1/p' perlvars.h >> perl.exp
@@ -75,36 +75,8 @@ fi
# not actually be defined, but there's no harm in that).
#
-cat >>perl.exp <<END
-perl_init_i18nl10n
-perl_init_i18nl14n
-perl_new_collate
-perl_new_ctype
-perl_new_numeric
-perl_set_numeric_local
-perl_set_numeric_standard
-perl_alloc
-perl_construct
-perl_destruct
-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
-Perl_malloc
-Perl_calloc
-Perl_realloc
-Perl_mfree
-END
+#cat >>perl.exp <<END
+#END
# The shebang line nicely sorts as the first one.
sort -o perl.exp -u perl.exp
diff --git a/perlio.c b/perlio.c
index e1f4353a9b..a71acba783 100644
--- a/perlio.c
+++ b/perlio.c
@@ -21,6 +21,7 @@
*/
#include "EXTERN.h"
+#define PERL_IN_PERLIO_C
#include "perl.h"
#ifdef PERLIO_IS_STDIO
diff --git a/perly.c b/perly.c
index 938a5745c5..8b77303f1e 100644
--- a/perly.c
+++ b/perly.c
@@ -4,6 +4,7 @@ static char yysccsid[] = "@(#)yaccpar 1.8 (Berkeley) 01/20/91";
#define YYBYACC 1
#line 16 "perly.y"
#include "EXTERN.h"
+#define PERL_IN_PERLY_C
#include "perl.h"
#define yydebug PL_yydebug
@@ -13,20 +14,7 @@ static char yysccsid[] = "@(#)yaccpar 1.8 (Berkeley) 01/20/91";
#define yyval PL_yyval
#define yylval PL_yylval
-#ifdef PERL_OBJECT
-static void
-Dep(CPerlObj *pPerl)
-{
- pPerl->deprecate("\"do\" to call subroutines");
-}
-#define dep() Dep(this)
-#else
-static void
-dep(void)
-{
- deprecate("\"do\" to call subroutines");
-}
-#endif
+#define dep() deprecate("\"do\" to call subroutines")
#line 30 "perly.y"
#define YYERRCODE 256
@@ -1329,7 +1317,7 @@ struct ysv {
};
void
-yydestruct(void *ptr)
+Perl_yydestruct(pTHX_ void *ptr)
{
struct ysv* ysave = (struct ysv*)ptr;
if (ysave->yyss) Safefree(ysave->yyss);
@@ -1344,7 +1332,7 @@ yydestruct(void *ptr)
}
int
-yyparse(void)
+Perl_yyparse(pTHX)
{
register int yym, yyn, yystate;
register short *yyssp;
diff --git a/perly.y b/perly.y
index 565439bcdf..f1de7c751e 100644
--- a/perly.y
+++ b/perly.y
@@ -14,13 +14,10 @@
%{
#include "EXTERN.h"
+#define PERL_IN_PERLY_C
#include "perl.h"
-static void
-dep(void)
-{
- deprecate("\"do\" to call subroutines");
-}
+#define dep() deprecate("\"do\" to call subroutines")
%}
diff --git a/pp.c b/pp.c
index 7a3e3cbcd7..fed72bba70 100644
--- a/pp.c
+++ b/pp.c
@@ -13,6 +13,7 @@
*/
#include "EXTERN.h"
+#define PERL_IN_PP_C
#include "perl.h"
/*
@@ -110,12 +111,6 @@ typedef unsigned UBW;
# define CAT32(sv,p) sv_catpvn(sv, (char*)(p), SIZE32)
#endif
-#ifndef PERL_OBJECT
-static void doencodes (SV* sv, char* s, I32 len);
-static SV* refto (SV* sv);
-static U32 seed (void);
-#endif
-
/* variations on pp_null */
#ifdef I_UNISTD
@@ -521,7 +516,7 @@ PP(pp_refgen)
}
STATIC SV*
-refto(SV *sv)
+refto(pTHX_ SV *sv)
{
SV* rv;
@@ -1707,7 +1702,7 @@ PP(pp_srand)
}
STATIC U32
-seed(void)
+seed(pTHX)
{
/*
* This is really just a quick hack which grabs various garbage
@@ -2895,7 +2890,7 @@ PP(pp_splice)
PUSHMARK(MARK);
PUTBACK;
ENTER;
- perl_call_method("SPLICE",GIMME_V);
+ call_method("SPLICE",GIMME_V);
LEAVE;
SPAGAIN;
RETURN;
@@ -3089,7 +3084,7 @@ PP(pp_push)
PUSHMARK(MARK);
PUTBACK;
ENTER;
- perl_call_method("PUSH",G_SCALAR|G_DISCARD);
+ call_method("PUSH",G_SCALAR|G_DISCARD);
LEAVE;
SPAGAIN;
}
@@ -3145,7 +3140,7 @@ PP(pp_unshift)
PUSHMARK(MARK);
PUTBACK;
ENTER;
- perl_call_method("UNSHIFT",G_SCALAR|G_DISCARD);
+ call_method("UNSHIFT",G_SCALAR|G_DISCARD);
LEAVE;
SPAGAIN;
}
@@ -3229,8 +3224,8 @@ PP(pp_reverse)
RETURN;
}
-STATIC SV *
-mul128(SV *sv, U8 m)
+STATIC SV *
+mul128(pTHX_ SV *sv, U8 m)
{
STRLEN len;
char *s = SvPV(sv, len);
@@ -4215,7 +4210,7 @@ PP(pp_unpack)
}
STATIC void
-doencodes(register SV *sv, register char *s, register I32 len)
+doencodes(pTHX_ register SV *sv, register char *s, register I32 len)
{
char hunk[5];
@@ -4243,7 +4238,7 @@ doencodes(register SV *sv, register char *s, register I32 len)
}
STATIC SV *
-is_an_int(char *s, STRLEN l)
+is_an_int(pTHX_ char *s, STRLEN l)
{
STRLEN n_a;
SV *result = newSVpvn(s, l);
@@ -4291,10 +4286,9 @@ is_an_int(char *s, STRLEN l)
return (result);
}
+/* pnum must be '\0' terminated */
STATIC int
-div128(SV *pnum, bool *done)
- /* must be '\0' terminated */
-
+div128(pTHX_ SV *pnum, bool *done)
{
STRLEN len;
char *s = SvPV(pnum, len);
@@ -5115,7 +5109,7 @@ PP(pp_split)
else {
PUTBACK;
ENTER;
- perl_call_method("PUSH",G_SCALAR|G_DISCARD);
+ call_method("PUSH",G_SCALAR|G_DISCARD);
LEAVE;
SPAGAIN;
if (gimme == G_ARRAY) {
@@ -5143,7 +5137,7 @@ PP(pp_split)
#ifdef USE_THREADS
void
-unlock_condpair(void *svv)
+Perl_unlock_condpair(pTHX_ void *svv)
{
dTHR;
MAGIC *mg = mg_find((SV*)svv, 'm');
diff --git a/pp.sym b/pp.sym
index 609739bba3..d3747af05d 100644
--- a/pp.sym
+++ b/pp.sym
@@ -1,377 +1,377 @@
-ck_anoncode
-ck_bitop
-ck_concat
-ck_defined
-ck_delete
-ck_eof
-ck_eval
-ck_exec
-ck_exists
-ck_ftst
-ck_fun
-ck_fun_locale
-ck_glob
-ck_grep
-ck_index
-ck_lengthconst
-ck_lfun
-ck_listiob
-ck_match
-ck_null
-ck_repeat
-ck_require
-ck_rfun
-ck_rvconst
-ck_scmp
-ck_select
-ck_shift
-ck_sort
-ck_spair
-ck_split
-ck_subr
-ck_svconst
-ck_trunc
-pp_null
-pp_stub
-pp_scalar
-pp_pushmark
-pp_wantarray
-pp_const
-pp_gvsv
-pp_gv
-pp_gelem
-pp_padsv
-pp_padav
-pp_padhv
-pp_padany
-pp_pushre
-pp_rv2gv
-pp_rv2sv
-pp_av2arylen
-pp_rv2cv
-pp_anoncode
-pp_prototype
-pp_refgen
-pp_srefgen
-pp_ref
-pp_bless
-pp_backtick
-pp_glob
-pp_readline
-pp_rcatline
-pp_regcmaybe
-pp_regcreset
-pp_regcomp
-pp_match
-pp_qr
-pp_subst
-pp_substcont
-pp_trans
-pp_sassign
-pp_aassign
-pp_chop
-pp_schop
-pp_chomp
-pp_schomp
-pp_defined
-pp_undef
-pp_study
-pp_pos
-pp_preinc
-pp_predec
-pp_postinc
-pp_postdec
-pp_pow
-pp_multiply
-pp_i_multiply
-pp_divide
-pp_i_divide
-pp_modulo
-pp_i_modulo
-pp_repeat
-pp_add
-pp_i_add
-pp_subtract
-pp_i_subtract
-pp_concat
-pp_stringify
-pp_left_shift
-pp_right_shift
-pp_lt
-pp_i_lt
-pp_gt
-pp_i_gt
-pp_le
-pp_i_le
-pp_ge
-pp_i_ge
-pp_eq
-pp_i_eq
-pp_ne
-pp_i_ne
-pp_ncmp
-pp_i_ncmp
-pp_slt
-pp_sgt
-pp_sle
-pp_sge
-pp_seq
-pp_sne
-pp_scmp
-pp_bit_and
-pp_bit_xor
-pp_bit_or
-pp_negate
-pp_i_negate
-pp_not
-pp_complement
-pp_atan2
-pp_sin
-pp_cos
-pp_rand
-pp_srand
-pp_exp
-pp_log
-pp_sqrt
-pp_int
-pp_hex
-pp_oct
-pp_abs
-pp_length
-pp_substr
-pp_vec
-pp_index
-pp_rindex
-pp_sprintf
-pp_formline
-pp_ord
-pp_chr
-pp_crypt
-pp_ucfirst
-pp_lcfirst
-pp_uc
-pp_lc
-pp_quotemeta
-pp_rv2av
-pp_aelemfast
-pp_aelem
-pp_aslice
-pp_each
-pp_values
-pp_keys
-pp_delete
-pp_exists
-pp_rv2hv
-pp_helem
-pp_hslice
-pp_unpack
-pp_pack
-pp_split
-pp_join
-pp_list
-pp_lslice
-pp_anonlist
-pp_anonhash
-pp_splice
-pp_push
-pp_pop
-pp_shift
-pp_unshift
-pp_sort
-pp_reverse
-pp_grepstart
-pp_grepwhile
-pp_mapstart
-pp_mapwhile
-pp_range
-pp_flip
-pp_flop
-pp_and
-pp_or
-pp_xor
-pp_cond_expr
-pp_andassign
-pp_orassign
-pp_method
-pp_entersub
-pp_leavesub
-pp_caller
-pp_warn
-pp_die
-pp_reset
-pp_lineseq
-pp_nextstate
-pp_dbstate
-pp_unstack
-pp_enter
-pp_leave
-pp_scope
-pp_enteriter
-pp_iter
-pp_enterloop
-pp_leaveloop
-pp_return
-pp_last
-pp_next
-pp_redo
-pp_dump
-pp_goto
-pp_exit
-pp_open
-pp_close
-pp_pipe_op
-pp_fileno
-pp_umask
-pp_binmode
-pp_tie
-pp_untie
-pp_tied
-pp_dbmopen
-pp_dbmclose
-pp_sselect
-pp_select
-pp_getc
-pp_read
-pp_enterwrite
-pp_leavewrite
-pp_prtf
-pp_print
-pp_sysopen
-pp_sysseek
-pp_sysread
-pp_syswrite
-pp_send
-pp_recv
-pp_eof
-pp_tell
-pp_seek
-pp_truncate
-pp_fcntl
-pp_ioctl
-pp_flock
-pp_socket
-pp_sockpair
-pp_bind
-pp_connect
-pp_listen
-pp_accept
-pp_shutdown
-pp_gsockopt
-pp_ssockopt
-pp_getsockname
-pp_getpeername
-pp_lstat
-pp_stat
-pp_ftrread
-pp_ftrwrite
-pp_ftrexec
-pp_fteread
-pp_ftewrite
-pp_fteexec
-pp_ftis
-pp_fteowned
-pp_ftrowned
-pp_ftzero
-pp_ftsize
-pp_ftmtime
-pp_ftatime
-pp_ftctime
-pp_ftsock
-pp_ftchr
-pp_ftblk
-pp_ftfile
-pp_ftdir
-pp_ftpipe
-pp_ftlink
-pp_ftsuid
-pp_ftsgid
-pp_ftsvtx
-pp_fttty
-pp_fttext
-pp_ftbinary
-pp_chdir
-pp_chown
-pp_chroot
-pp_unlink
-pp_chmod
-pp_utime
-pp_rename
-pp_link
-pp_symlink
-pp_readlink
-pp_mkdir
-pp_rmdir
-pp_open_dir
-pp_readdir
-pp_telldir
-pp_seekdir
-pp_rewinddir
-pp_closedir
-pp_fork
-pp_wait
-pp_waitpid
-pp_system
-pp_exec
-pp_kill
-pp_getppid
-pp_getpgrp
-pp_setpgrp
-pp_getpriority
-pp_setpriority
-pp_time
-pp_tms
-pp_localtime
-pp_gmtime
-pp_alarm
-pp_sleep
-pp_shmget
-pp_shmctl
-pp_shmread
-pp_shmwrite
-pp_msgget
-pp_msgctl
-pp_msgsnd
-pp_msgrcv
-pp_semget
-pp_semctl
-pp_semop
-pp_require
-pp_dofile
-pp_entereval
-pp_leaveeval
-pp_entertry
-pp_leavetry
-pp_ghbyname
-pp_ghbyaddr
-pp_ghostent
-pp_gnbyname
-pp_gnbyaddr
-pp_gnetent
-pp_gpbyname
-pp_gpbynumber
-pp_gprotoent
-pp_gsbyname
-pp_gsbyport
-pp_gservent
-pp_shostent
-pp_snetent
-pp_sprotoent
-pp_sservent
-pp_ehostent
-pp_enetent
-pp_eprotoent
-pp_eservent
-pp_gpwnam
-pp_gpwuid
-pp_gpwent
-pp_spwent
-pp_epwent
-pp_ggrnam
-pp_ggrgid
-pp_ggrent
-pp_sgrent
-pp_egrent
-pp_getlogin
-pp_syscall
-pp_lock
-pp_threadsv
+Perl_ck_anoncode
+Perl_ck_bitop
+Perl_ck_concat
+Perl_ck_defined
+Perl_ck_delete
+Perl_ck_eof
+Perl_ck_eval
+Perl_ck_exec
+Perl_ck_exists
+Perl_ck_ftst
+Perl_ck_fun
+Perl_ck_fun_locale
+Perl_ck_glob
+Perl_ck_grep
+Perl_ck_index
+Perl_ck_lengthconst
+Perl_ck_lfun
+Perl_ck_listiob
+Perl_ck_match
+Perl_ck_null
+Perl_ck_repeat
+Perl_ck_require
+Perl_ck_rfun
+Perl_ck_rvconst
+Perl_ck_scmp
+Perl_ck_select
+Perl_ck_shift
+Perl_ck_sort
+Perl_ck_spair
+Perl_ck_split
+Perl_ck_subr
+Perl_ck_svconst
+Perl_ck_trunc
+Perl_pp_null
+Perl_pp_stub
+Perl_pp_scalar
+Perl_pp_pushmark
+Perl_pp_wantarray
+Perl_pp_const
+Perl_pp_gvsv
+Perl_pp_gv
+Perl_pp_gelem
+Perl_pp_padsv
+Perl_pp_padav
+Perl_pp_padhv
+Perl_pp_padany
+Perl_pp_pushre
+Perl_pp_rv2gv
+Perl_pp_rv2sv
+Perl_pp_av2arylen
+Perl_pp_rv2cv
+Perl_pp_anoncode
+Perl_pp_prototype
+Perl_pp_refgen
+Perl_pp_srefgen
+Perl_pp_ref
+Perl_pp_bless
+Perl_pp_backtick
+Perl_pp_glob
+Perl_pp_readline
+Perl_pp_rcatline
+Perl_pp_regcmaybe
+Perl_pp_regcreset
+Perl_pp_regcomp
+Perl_pp_match
+Perl_pp_qr
+Perl_pp_subst
+Perl_pp_substcont
+Perl_pp_trans
+Perl_pp_sassign
+Perl_pp_aassign
+Perl_pp_chop
+Perl_pp_schop
+Perl_pp_chomp
+Perl_pp_schomp
+Perl_pp_defined
+Perl_pp_undef
+Perl_pp_study
+Perl_pp_pos
+Perl_pp_preinc
+Perl_pp_predec
+Perl_pp_postinc
+Perl_pp_postdec
+Perl_pp_pow
+Perl_pp_multiply
+Perl_pp_i_multiply
+Perl_pp_divide
+Perl_pp_i_divide
+Perl_pp_modulo
+Perl_pp_i_modulo
+Perl_pp_repeat
+Perl_pp_add
+Perl_pp_i_add
+Perl_pp_subtract
+Perl_pp_i_subtract
+Perl_pp_concat
+Perl_pp_stringify
+Perl_pp_left_shift
+Perl_pp_right_shift
+Perl_pp_lt
+Perl_pp_i_lt
+Perl_pp_gt
+Perl_pp_i_gt
+Perl_pp_le
+Perl_pp_i_le
+Perl_pp_ge
+Perl_pp_i_ge
+Perl_pp_eq
+Perl_pp_i_eq
+Perl_pp_ne
+Perl_pp_i_ne
+Perl_pp_ncmp
+Perl_pp_i_ncmp
+Perl_pp_slt
+Perl_pp_sgt
+Perl_pp_sle
+Perl_pp_sge
+Perl_pp_seq
+Perl_pp_sne
+Perl_pp_scmp
+Perl_pp_bit_and
+Perl_pp_bit_xor
+Perl_pp_bit_or
+Perl_pp_negate
+Perl_pp_i_negate
+Perl_pp_not
+Perl_pp_complement
+Perl_pp_atan2
+Perl_pp_sin
+Perl_pp_cos
+Perl_pp_rand
+Perl_pp_srand
+Perl_pp_exp
+Perl_pp_log
+Perl_pp_sqrt
+Perl_pp_int
+Perl_pp_hex
+Perl_pp_oct
+Perl_pp_abs
+Perl_pp_length
+Perl_pp_substr
+Perl_pp_vec
+Perl_pp_index
+Perl_pp_rindex
+Perl_pp_sprintf
+Perl_pp_formline
+Perl_pp_ord
+Perl_pp_chr
+Perl_pp_crypt
+Perl_pp_ucfirst
+Perl_pp_lcfirst
+Perl_pp_uc
+Perl_pp_lc
+Perl_pp_quotemeta
+Perl_pp_rv2av
+Perl_pp_aelemfast
+Perl_pp_aelem
+Perl_pp_aslice
+Perl_pp_each
+Perl_pp_values
+Perl_pp_keys
+Perl_pp_delete
+Perl_pp_exists
+Perl_pp_rv2hv
+Perl_pp_helem
+Perl_pp_hslice
+Perl_pp_unpack
+Perl_pp_pack
+Perl_pp_split
+Perl_pp_join
+Perl_pp_list
+Perl_pp_lslice
+Perl_pp_anonlist
+Perl_pp_anonhash
+Perl_pp_splice
+Perl_pp_push
+Perl_pp_pop
+Perl_pp_shift
+Perl_pp_unshift
+Perl_pp_sort
+Perl_pp_reverse
+Perl_pp_grepstart
+Perl_pp_grepwhile
+Perl_pp_mapstart
+Perl_pp_mapwhile
+Perl_pp_range
+Perl_pp_flip
+Perl_pp_flop
+Perl_pp_and
+Perl_pp_or
+Perl_pp_xor
+Perl_pp_cond_expr
+Perl_pp_andassign
+Perl_pp_orassign
+Perl_pp_method
+Perl_pp_entersub
+Perl_pp_leavesub
+Perl_pp_caller
+Perl_pp_warn
+Perl_pp_die
+Perl_pp_reset
+Perl_pp_lineseq
+Perl_pp_nextstate
+Perl_pp_dbstate
+Perl_pp_unstack
+Perl_pp_enter
+Perl_pp_leave
+Perl_pp_scope
+Perl_pp_enteriter
+Perl_pp_iter
+Perl_pp_enterloop
+Perl_pp_leaveloop
+Perl_pp_return
+Perl_pp_last
+Perl_pp_next
+Perl_pp_redo
+Perl_pp_dump
+Perl_pp_goto
+Perl_pp_exit
+Perl_pp_open
+Perl_pp_close
+Perl_pp_pipe_op
+Perl_pp_fileno
+Perl_pp_umask
+Perl_pp_binmode
+Perl_pp_tie
+Perl_pp_untie
+Perl_pp_tied
+Perl_pp_dbmopen
+Perl_pp_dbmclose
+Perl_pp_sselect
+Perl_pp_select
+Perl_pp_getc
+Perl_pp_read
+Perl_pp_enterwrite
+Perl_pp_leavewrite
+Perl_pp_prtf
+Perl_pp_print
+Perl_pp_sysopen
+Perl_pp_sysseek
+Perl_pp_sysread
+Perl_pp_syswrite
+Perl_pp_send
+Perl_pp_recv
+Perl_pp_eof
+Perl_pp_tell
+Perl_pp_seek
+Perl_pp_truncate
+Perl_pp_fcntl
+Perl_pp_ioctl
+Perl_pp_flock
+Perl_pp_socket
+Perl_pp_sockpair
+Perl_pp_bind
+Perl_pp_connect
+Perl_pp_listen
+Perl_pp_accept
+Perl_pp_shutdown
+Perl_pp_gsockopt
+Perl_pp_ssockopt
+Perl_pp_getsockname
+Perl_pp_getpeername
+Perl_pp_lstat
+Perl_pp_stat
+Perl_pp_ftrread
+Perl_pp_ftrwrite
+Perl_pp_ftrexec
+Perl_pp_fteread
+Perl_pp_ftewrite
+Perl_pp_fteexec
+Perl_pp_ftis
+Perl_pp_fteowned
+Perl_pp_ftrowned
+Perl_pp_ftzero
+Perl_pp_ftsize
+Perl_pp_ftmtime
+Perl_pp_ftatime
+Perl_pp_ftctime
+Perl_pp_ftsock
+Perl_pp_ftchr
+Perl_pp_ftblk
+Perl_pp_ftfile
+Perl_pp_ftdir
+Perl_pp_ftpipe
+Perl_pp_ftlink
+Perl_pp_ftsuid
+Perl_pp_ftsgid
+Perl_pp_ftsvtx
+Perl_pp_fttty
+Perl_pp_fttext
+Perl_pp_ftbinary
+Perl_pp_chdir
+Perl_pp_chown
+Perl_pp_chroot
+Perl_pp_unlink
+Perl_pp_chmod
+Perl_pp_utime
+Perl_pp_rename
+Perl_pp_link
+Perl_pp_symlink
+Perl_pp_readlink
+Perl_pp_mkdir
+Perl_pp_rmdir
+Perl_pp_open_dir
+Perl_pp_readdir
+Perl_pp_telldir
+Perl_pp_seekdir
+Perl_pp_rewinddir
+Perl_pp_closedir
+Perl_pp_fork
+Perl_pp_wait
+Perl_pp_waitpid
+Perl_pp_system
+Perl_pp_exec
+Perl_pp_kill
+Perl_pp_getppid
+Perl_pp_getpgrp
+Perl_pp_setpgrp
+Perl_pp_getpriority
+Perl_pp_setpriority
+Perl_pp_time
+Perl_pp_tms
+Perl_pp_localtime
+Perl_pp_gmtime
+Perl_pp_alarm
+Perl_pp_sleep
+Perl_pp_shmget
+Perl_pp_shmctl
+Perl_pp_shmread
+Perl_pp_shmwrite
+Perl_pp_msgget
+Perl_pp_msgctl
+Perl_pp_msgsnd
+Perl_pp_msgrcv
+Perl_pp_semget
+Perl_pp_semctl
+Perl_pp_semop
+Perl_pp_require
+Perl_pp_dofile
+Perl_pp_entereval
+Perl_pp_leaveeval
+Perl_pp_entertry
+Perl_pp_leavetry
+Perl_pp_ghbyname
+Perl_pp_ghbyaddr
+Perl_pp_ghostent
+Perl_pp_gnbyname
+Perl_pp_gnbyaddr
+Perl_pp_gnetent
+Perl_pp_gpbyname
+Perl_pp_gpbynumber
+Perl_pp_gprotoent
+Perl_pp_gsbyname
+Perl_pp_gsbyport
+Perl_pp_gservent
+Perl_pp_shostent
+Perl_pp_snetent
+Perl_pp_sprotoent
+Perl_pp_sservent
+Perl_pp_ehostent
+Perl_pp_enetent
+Perl_pp_eprotoent
+Perl_pp_eservent
+Perl_pp_gpwnam
+Perl_pp_gpwuid
+Perl_pp_gpwent
+Perl_pp_spwent
+Perl_pp_epwent
+Perl_pp_ggrnam
+Perl_pp_ggrgid
+Perl_pp_ggrent
+Perl_pp_sgrent
+Perl_pp_egrent
+Perl_pp_getlogin
+Perl_pp_syscall
+Perl_pp_lock
+Perl_pp_threadsv
diff --git a/pp_ctl.c b/pp_ctl.c
index d44a4900c0..f6baf4e1be 100644
--- a/pp_ctl.c
+++ b/pp_ctl.c
@@ -17,6 +17,7 @@
*/
#include "EXTERN.h"
+#define PERL_IN_PP_CTL_C
#include "perl.h"
#ifndef WORD_ALIGN
@@ -29,27 +30,6 @@
#define CALLOP this->*PL_op
#else
#define CALLOP *PL_op
-static void *docatch_body (va_list args);
-static OP *docatch (OP *o);
-static OP *dofindlabel (OP *o, char *label, OP **opstack, OP **oplimit);
-static void doparseform (SV *sv);
-static I32 dopoptoeval (I32 startingblock);
-static I32 dopoptolabel (char *label);
-static I32 dopoptoloop (I32 startingblock);
-static I32 dopoptosub (I32 startingblock);
-static I32 dopoptosub_at (PERL_CONTEXT *cxstk, I32 startingblock);
-static void save_lines (AV *array, SV *sv);
-static I32 sortcv (SV *a, SV *b);
-static void qsortsv (SV **array, size_t num_elts, I32 (*fun)(SV *a, SV *b));
-static OP *doeval (int gimme, OP** startop);
-static PerlIO *doopen_pmc (const char *name, const char *mode);
-static I32 sv_ncmp (SV *a, SV *b);
-static I32 sv_i_ncmp (SV *a, SV *b);
-static I32 amagic_ncmp (SV *a, SV *b);
-static I32 amagic_i_ncmp (SV *a, SV *b);
-static I32 amagic_cmp (SV *str1, SV *str2);
-static I32 amagic_cmp_locale (SV *str1, SV *str2);
-static void free_closures (void);
#endif
PP(pp_wantarray)
@@ -218,7 +198,7 @@ PP(pp_substcont)
}
void
-rxres_save(void **rsp, REGEXP *rx)
+Perl_rxres_save(pTHX_ void **rsp, REGEXP *rx)
{
UV *p = (UV*)*rsp;
U32 i;
@@ -246,7 +226,7 @@ rxres_save(void **rsp, REGEXP *rx)
}
void
-rxres_restore(void **rsp, REGEXP *rx)
+Perl_rxres_restore(pTHX_ void **rsp, REGEXP *rx)
{
UV *p = (UV*)*rsp;
U32 i;
@@ -267,7 +247,7 @@ rxres_restore(void **rsp, REGEXP *rx)
}
void
-rxres_free(void **rsp)
+Perl_rxres_free(pTHX_ void **rsp)
{
UV *p = (UV*)*rsp;
@@ -762,14 +742,15 @@ PP(pp_mapwhile)
}
STATIC I32
-sv_ncmp (SV *a, SV *b)
+sv_ncmp(pTHX_ SV *a, SV *b)
{
double nv1 = SvNV(a);
double nv2 = SvNV(b);
return nv1 < nv2 ? -1 : nv1 > nv2 ? 1 : 0;
}
+
STATIC I32
-sv_i_ncmp (SV *a, SV *b)
+sv_i_ncmp(pTHX_ SV *a, SV *b)
{
IV iv1 = SvIV(a);
IV iv2 = SvIV(b);
@@ -787,7 +768,7 @@ sv_i_ncmp (SV *a, SV *b)
} STMT_END
STATIC I32
-amagic_ncmp(register SV *a, register SV *b)
+amagic_ncmp(pTHX_ register SV *a, register SV *b)
{
SV *tmpsv;
tryCALL_AMAGICbin(a,b,ncmp,&tmpsv);
@@ -809,7 +790,7 @@ amagic_ncmp(register SV *a, register SV *b)
}
STATIC I32
-amagic_i_ncmp(register SV *a, register SV *b)
+amagic_i_ncmp(pTHX_ register SV *a, register SV *b)
{
SV *tmpsv;
tryCALL_AMAGICbin(a,b,ncmp,&tmpsv);
@@ -831,7 +812,7 @@ amagic_i_ncmp(register SV *a, register SV *b)
}
STATIC I32
-amagic_cmp(register SV *str1, register SV *str2)
+amagic_cmp(pTHX_ register SV *str1, register SV *str2)
{
SV *tmpsv;
tryCALL_AMAGICbin(str1,str2,scmp,&tmpsv);
@@ -853,7 +834,7 @@ amagic_cmp(register SV *str1, register SV *str2)
}
STATIC I32
-amagic_cmp_locale(register SV *str1, register SV *str2)
+amagic_cmp_locale(pTHX_ register SV *str1, register SV *str2)
{
SV *tmpsv;
tryCALL_AMAGICbin(str1,str2,scmp,&tmpsv);
@@ -1135,7 +1116,7 @@ PP(pp_flop)
/* Control. */
STATIC I32
-dopoptolabel(char *label)
+dopoptolabel(pTHX_ char *label)
{
dTHR;
register I32 i;
@@ -1179,14 +1160,14 @@ dopoptolabel(char *label)
}
I32
-dowantarray(void)
+Perl_dowantarray(pTHX)
{
I32 gimme = block_gimme();
return (gimme == G_VOID) ? G_SCALAR : gimme;
}
I32
-block_gimme(void)
+Perl_block_gimme(pTHX)
{
dTHR;
I32 cxix;
@@ -1210,14 +1191,14 @@ block_gimme(void)
}
STATIC I32
-dopoptosub(I32 startingblock)
+dopoptosub(pTHX_ I32 startingblock)
{
dTHR;
return dopoptosub_at(cxstack, startingblock);
}
STATIC I32
-dopoptosub_at(PERL_CONTEXT *cxstk, I32 startingblock)
+dopoptosub_at(pTHX_ PERL_CONTEXT *cxstk, I32 startingblock)
{
dTHR;
I32 i;
@@ -1237,7 +1218,7 @@ dopoptosub_at(PERL_CONTEXT *cxstk, I32 startingblock)
}
STATIC I32
-dopoptoeval(I32 startingblock)
+dopoptoeval(pTHX_ I32 startingblock)
{
dTHR;
I32 i;
@@ -1256,7 +1237,7 @@ dopoptoeval(I32 startingblock)
}
STATIC I32
-dopoptoloop(I32 startingblock)
+dopoptoloop(pTHX_ I32 startingblock)
{
dTHR;
I32 i;
@@ -1293,7 +1274,7 @@ dopoptoloop(I32 startingblock)
}
void
-dounwind(I32 cxix)
+Perl_dounwind(pTHX_ I32 cxix)
{
dTHR;
register PERL_CONTEXT *cx;
@@ -1335,7 +1316,7 @@ dounwind(I32 cxix)
* relying on the incidental global values.
*/
STATIC void
-free_closures(void)
+free_closures(pTHX)
{
dTHR;
SV **svp = AvARRAY(PL_comppad_name);
@@ -1362,7 +1343,7 @@ free_closures(void)
}
OP *
-die_where(char *message, STRLEN msglen)
+Perl_die_where(pTHX_ char *message, STRLEN msglen)
{
dSP;
STRLEN n_a;
@@ -1596,7 +1577,7 @@ PP(pp_caller)
}
STATIC I32
-sortcv(SV *a, SV *b)
+sortcv(pTHX_ SV *a, SV *b)
{
dTHR;
I32 oldsaveix = PL_savestack_ix;
@@ -2029,7 +2010,7 @@ PP(pp_redo)
}
STATIC OP *
-dofindlabel(OP *o, char *label, OP **opstack, OP **oplimit)
+dofindlabel(pTHX_ OP *o, char *label, OP **opstack, OP **oplimit)
{
OP *kid;
OP **ops = opstack;
@@ -2335,9 +2316,9 @@ PP(pp_goto)
gv_efullname3(sv, CvGV(cv), Nullch);
}
if ( PERLDB_GOTO
- && (gotocv = perl_get_cv("DB::goto", FALSE)) ) {
+ && (gotocv = get_cv("DB::goto", FALSE)) ) {
PUSHMARK( PL_stack_sp );
- perl_call_sv((SV*)gotocv, G_SCALAR | G_NODEBUG);
+ call_sv((SV*)gotocv, G_SCALAR | G_NODEBUG);
PL_stack_sp--;
}
}
@@ -2513,7 +2494,7 @@ PP(pp_cswitch)
/* Eval. */
STATIC void
-save_lines(AV *array, SV *sv)
+save_lines(pTHX_ AV *array, SV *sv)
{
register char *s = SvPVX(sv);
register char *send = SvPVX(sv) + SvCUR(sv);
@@ -2537,14 +2518,14 @@ save_lines(AV *array, SV *sv)
}
STATIC void *
-docatch_body(va_list args)
+docatch_body(pTHX_ va_list args)
{
CALLRUNOPS();
return NULL;
}
STATIC OP *
-docatch(OP *o)
+docatch(pTHX_ OP *o)
{
dTHR;
int ret;
@@ -2576,7 +2557,7 @@ docatch(OP *o)
}
OP *
-sv_compile_2op(SV *sv, OP** startop, char *code, AV** avp)
+Perl_sv_compile_2op(pTHX_ SV *sv, OP** startop, char *code, AV** avp)
/* sv Text to convert to OP tree. */
/* startop op_free() this to undo. */
/* code Short string id of the caller. */
@@ -2644,7 +2625,7 @@ sv_compile_2op(SV *sv, OP** startop, char *code, AV** avp)
/* With USE_THREADS, eval_owner must be held on entry to doeval */
STATIC OP *
-doeval(int gimme, OP** startop)
+doeval(pTHX_ int gimme, OP** startop)
{
dSP;
OP *saveop = PL_op;
@@ -2795,13 +2776,13 @@ doeval(int gimme, OP** startop)
/* Register with debugger: */
if (PERLDB_INTER && saveop->op_type == OP_REQUIRE) {
- CV *cv = perl_get_cv("DB::postponed", FALSE);
+ CV *cv = get_cv("DB::postponed", FALSE);
if (cv) {
dSP;
PUSHMARK(SP);
XPUSHs((SV*)PL_compiling.cop_filegv);
PUTBACK;
- perl_call_sv((SV*)cv, G_DISCARD);
+ call_sv((SV*)cv, G_DISCARD);
}
}
@@ -2821,7 +2802,7 @@ doeval(int gimme, OP** startop)
}
STATIC PerlIO *
-doopen_pmc(const char *name, const char *mode)
+doopen_pmc(pTHX_ const char *name, const char *mode)
{
STRLEN namelen = strlen(name);
PerlIO *fp;
@@ -3218,7 +3199,7 @@ PP(pp_leavetry)
}
STATIC void
-doparseform(SV *sv)
+doparseform(pTHX_ SV *sv)
{
STRLEN len;
register char *s = SvPV_force(sv, len);
@@ -3506,7 +3487,7 @@ struct partition_stack_entry {
((this->*compare)(array[elt1], array[elt2]))
#else
#define qsort_cmp(elt1, elt2) \
- ((*compare)(array[elt1], array[elt2]))
+ ((*compare)(aTHX_ array[elt1], array[elt2]))
#endif
#ifdef QSORT_ORDER_GUESS
@@ -3588,11 +3569,7 @@ doqsort_all_asserts(
/* ****************************************************************** qsort */
STATIC void
-#ifdef PERL_OBJECT
-qsortsv(SV ** array, size_t num_elts, SVCOMPARE compare)
-#else
-qsortsv(SV ** array, size_t num_elts, I32 (*compare)(SV *a, SV *b))
-#endif
+qsortsv(pTHX_ SV ** array, size_t num_elts, SVCOMPARE_t compare)
{
register SV * temp;
diff --git a/pp_hot.c b/pp_hot.c
index e6de9bd613..36a33ff04d 100644
--- a/pp_hot.c
+++ b/pp_hot.c
@@ -16,6 +16,7 @@
*/
#include "EXTERN.h"
+#define PERL_IN_PP_HOT_C
#include "perl.h"
#ifdef I_UNISTD
@@ -33,8 +34,8 @@
/* Hot code. */
#ifdef USE_THREADS
-static void
-unset_cvowner(void *cvarg)
+STATIC void
+unset_cvowner(pTHX_ void *cvarg)
{
register CV* cv = (CV *) cvarg;
#ifdef DEBUGGING
@@ -338,7 +339,7 @@ PP(pp_print)
*MARK = SvTIED_obj((SV*)gv, mg);
PUTBACK;
ENTER;
- perl_call_method("PRINT", G_SCALAR);
+ call_method("PRINT", G_SCALAR);
LEAVE;
SPAGAIN;
MARK = ORIGMARK + 1;
@@ -1119,7 +1120,7 @@ ret_no:
}
OP *
-do_readline(void)
+Perl_do_readline(pTHX)
{
dSP; dTARGETSTACKED;
register SV *sv;
@@ -1136,7 +1137,7 @@ do_readline(void)
XPUSHs(SvTIED_obj((SV*)PL_last_in_gv, mg));
PUTBACK;
ENTER;
- perl_call_method("READLINE", gimme);
+ call_method("READLINE", gimme);
LEAVE;
SPAGAIN;
if (gimme == G_SCALAR)
@@ -2040,7 +2041,7 @@ PP(pp_leavesub)
}
STATIC CV *
-get_db_sub(SV **svp, CV *cv)
+get_db_sub(pTHX_ SV **svp, CV *cv)
{
dTHR;
SV *dbsv = GvSV(PL_DBsub);
@@ -2108,7 +2109,7 @@ PP(pp_entersub)
DIE(PL_no_usym, "a subroutine");
if (PL_op->op_private & HINT_STRICT_REFS)
DIE(PL_no_symref, sym, "a subroutine");
- cv = perl_get_cv(sym, TRUE);
+ cv = get_cv(sym, TRUE);
break;
}
{
@@ -2511,7 +2512,7 @@ try_autoload:
}
void
-sub_crush_depth(CV *cv)
+Perl_sub_crush_depth(pTHX_ CV *cv)
{
if (CvANON(cv))
warner(WARN_RECURSION, "Deep recursion on anonymous subroutine");
@@ -2566,7 +2567,7 @@ PP(pp_aelem)
}
void
-vivify_ref(SV *sv, U32 to_what)
+Perl_vivify_ref(pTHX_ SV *sv, U32 to_what)
{
if (SvGMAGICAL(sv))
mg_get(sv);
diff --git a/pp_proto.h b/pp_proto.h
index 9beb6817fe..b3d092b8fb 100644
--- a/pp_proto.h
+++ b/pp_proto.h
@@ -1,379 +1,379 @@
-PERL_CKDEF(ck_anoncode)
-PERL_CKDEF(ck_bitop)
-PERL_CKDEF(ck_concat)
-PERL_CKDEF(ck_defined)
-PERL_CKDEF(ck_delete)
-PERL_CKDEF(ck_eof)
-PERL_CKDEF(ck_eval)
-PERL_CKDEF(ck_exec)
-PERL_CKDEF(ck_exists)
-PERL_CKDEF(ck_ftst)
-PERL_CKDEF(ck_fun)
-PERL_CKDEF(ck_fun_locale)
-PERL_CKDEF(ck_glob)
-PERL_CKDEF(ck_grep)
-PERL_CKDEF(ck_index)
-PERL_CKDEF(ck_lengthconst)
-PERL_CKDEF(ck_lfun)
-PERL_CKDEF(ck_listiob)
-PERL_CKDEF(ck_match)
-PERL_CKDEF(ck_null)
-PERL_CKDEF(ck_repeat)
-PERL_CKDEF(ck_require)
-PERL_CKDEF(ck_rfun)
-PERL_CKDEF(ck_rvconst)
-PERL_CKDEF(ck_scmp)
-PERL_CKDEF(ck_select)
-PERL_CKDEF(ck_shift)
-PERL_CKDEF(ck_sort)
-PERL_CKDEF(ck_spair)
-PERL_CKDEF(ck_split)
-PERL_CKDEF(ck_subr)
-PERL_CKDEF(ck_svconst)
-PERL_CKDEF(ck_trunc)
+PERL_CKDEF(Perl_ck_anoncode)
+PERL_CKDEF(Perl_ck_bitop)
+PERL_CKDEF(Perl_ck_concat)
+PERL_CKDEF(Perl_ck_defined)
+PERL_CKDEF(Perl_ck_delete)
+PERL_CKDEF(Perl_ck_eof)
+PERL_CKDEF(Perl_ck_eval)
+PERL_CKDEF(Perl_ck_exec)
+PERL_CKDEF(Perl_ck_exists)
+PERL_CKDEF(Perl_ck_ftst)
+PERL_CKDEF(Perl_ck_fun)
+PERL_CKDEF(Perl_ck_fun_locale)
+PERL_CKDEF(Perl_ck_glob)
+PERL_CKDEF(Perl_ck_grep)
+PERL_CKDEF(Perl_ck_index)
+PERL_CKDEF(Perl_ck_lengthconst)
+PERL_CKDEF(Perl_ck_lfun)
+PERL_CKDEF(Perl_ck_listiob)
+PERL_CKDEF(Perl_ck_match)
+PERL_CKDEF(Perl_ck_null)
+PERL_CKDEF(Perl_ck_repeat)
+PERL_CKDEF(Perl_ck_require)
+PERL_CKDEF(Perl_ck_rfun)
+PERL_CKDEF(Perl_ck_rvconst)
+PERL_CKDEF(Perl_ck_scmp)
+PERL_CKDEF(Perl_ck_select)
+PERL_CKDEF(Perl_ck_shift)
+PERL_CKDEF(Perl_ck_sort)
+PERL_CKDEF(Perl_ck_spair)
+PERL_CKDEF(Perl_ck_split)
+PERL_CKDEF(Perl_ck_subr)
+PERL_CKDEF(Perl_ck_svconst)
+PERL_CKDEF(Perl_ck_trunc)
-PERL_PPDEF(pp_null)
-PERL_PPDEF(pp_stub)
-PERL_PPDEF(pp_scalar)
-PERL_PPDEF(pp_pushmark)
-PERL_PPDEF(pp_wantarray)
-PERL_PPDEF(pp_const)
-PERL_PPDEF(pp_gvsv)
-PERL_PPDEF(pp_gv)
-PERL_PPDEF(pp_gelem)
-PERL_PPDEF(pp_padsv)
-PERL_PPDEF(pp_padav)
-PERL_PPDEF(pp_padhv)
-PERL_PPDEF(pp_padany)
-PERL_PPDEF(pp_pushre)
-PERL_PPDEF(pp_rv2gv)
-PERL_PPDEF(pp_rv2sv)
-PERL_PPDEF(pp_av2arylen)
-PERL_PPDEF(pp_rv2cv)
-PERL_PPDEF(pp_anoncode)
-PERL_PPDEF(pp_prototype)
-PERL_PPDEF(pp_refgen)
-PERL_PPDEF(pp_srefgen)
-PERL_PPDEF(pp_ref)
-PERL_PPDEF(pp_bless)
-PERL_PPDEF(pp_backtick)
-PERL_PPDEF(pp_glob)
-PERL_PPDEF(pp_readline)
-PERL_PPDEF(pp_rcatline)
-PERL_PPDEF(pp_regcmaybe)
-PERL_PPDEF(pp_regcreset)
-PERL_PPDEF(pp_regcomp)
-PERL_PPDEF(pp_match)
-PERL_PPDEF(pp_qr)
-PERL_PPDEF(pp_subst)
-PERL_PPDEF(pp_substcont)
-PERL_PPDEF(pp_trans)
-PERL_PPDEF(pp_sassign)
-PERL_PPDEF(pp_aassign)
-PERL_PPDEF(pp_chop)
-PERL_PPDEF(pp_schop)
-PERL_PPDEF(pp_chomp)
-PERL_PPDEF(pp_schomp)
-PERL_PPDEF(pp_defined)
-PERL_PPDEF(pp_undef)
-PERL_PPDEF(pp_study)
-PERL_PPDEF(pp_pos)
-PERL_PPDEF(pp_preinc)
-PERL_PPDEF(pp_predec)
-PERL_PPDEF(pp_postinc)
-PERL_PPDEF(pp_postdec)
-PERL_PPDEF(pp_pow)
-PERL_PPDEF(pp_multiply)
-PERL_PPDEF(pp_i_multiply)
-PERL_PPDEF(pp_divide)
-PERL_PPDEF(pp_i_divide)
-PERL_PPDEF(pp_modulo)
-PERL_PPDEF(pp_i_modulo)
-PERL_PPDEF(pp_repeat)
-PERL_PPDEF(pp_add)
-PERL_PPDEF(pp_i_add)
-PERL_PPDEF(pp_subtract)
-PERL_PPDEF(pp_i_subtract)
-PERL_PPDEF(pp_concat)
-PERL_PPDEF(pp_stringify)
-PERL_PPDEF(pp_left_shift)
-PERL_PPDEF(pp_right_shift)
-PERL_PPDEF(pp_lt)
-PERL_PPDEF(pp_i_lt)
-PERL_PPDEF(pp_gt)
-PERL_PPDEF(pp_i_gt)
-PERL_PPDEF(pp_le)
-PERL_PPDEF(pp_i_le)
-PERL_PPDEF(pp_ge)
-PERL_PPDEF(pp_i_ge)
-PERL_PPDEF(pp_eq)
-PERL_PPDEF(pp_i_eq)
-PERL_PPDEF(pp_ne)
-PERL_PPDEF(pp_i_ne)
-PERL_PPDEF(pp_ncmp)
-PERL_PPDEF(pp_i_ncmp)
-PERL_PPDEF(pp_slt)
-PERL_PPDEF(pp_sgt)
-PERL_PPDEF(pp_sle)
-PERL_PPDEF(pp_sge)
-PERL_PPDEF(pp_seq)
-PERL_PPDEF(pp_sne)
-PERL_PPDEF(pp_scmp)
-PERL_PPDEF(pp_bit_and)
-PERL_PPDEF(pp_bit_xor)
-PERL_PPDEF(pp_bit_or)
-PERL_PPDEF(pp_negate)
-PERL_PPDEF(pp_i_negate)
-PERL_PPDEF(pp_not)
-PERL_PPDEF(pp_complement)
-PERL_PPDEF(pp_atan2)
-PERL_PPDEF(pp_sin)
-PERL_PPDEF(pp_cos)
-PERL_PPDEF(pp_rand)
-PERL_PPDEF(pp_srand)
-PERL_PPDEF(pp_exp)
-PERL_PPDEF(pp_log)
-PERL_PPDEF(pp_sqrt)
-PERL_PPDEF(pp_int)
-PERL_PPDEF(pp_hex)
-PERL_PPDEF(pp_oct)
-PERL_PPDEF(pp_abs)
-PERL_PPDEF(pp_length)
-PERL_PPDEF(pp_substr)
-PERL_PPDEF(pp_vec)
-PERL_PPDEF(pp_index)
-PERL_PPDEF(pp_rindex)
-PERL_PPDEF(pp_sprintf)
-PERL_PPDEF(pp_formline)
-PERL_PPDEF(pp_ord)
-PERL_PPDEF(pp_chr)
-PERL_PPDEF(pp_crypt)
-PERL_PPDEF(pp_ucfirst)
-PERL_PPDEF(pp_lcfirst)
-PERL_PPDEF(pp_uc)
-PERL_PPDEF(pp_lc)
-PERL_PPDEF(pp_quotemeta)
-PERL_PPDEF(pp_rv2av)
-PERL_PPDEF(pp_aelemfast)
-PERL_PPDEF(pp_aelem)
-PERL_PPDEF(pp_aslice)
-PERL_PPDEF(pp_each)
-PERL_PPDEF(pp_values)
-PERL_PPDEF(pp_keys)
-PERL_PPDEF(pp_delete)
-PERL_PPDEF(pp_exists)
-PERL_PPDEF(pp_rv2hv)
-PERL_PPDEF(pp_helem)
-PERL_PPDEF(pp_hslice)
-PERL_PPDEF(pp_unpack)
-PERL_PPDEF(pp_pack)
-PERL_PPDEF(pp_split)
-PERL_PPDEF(pp_join)
-PERL_PPDEF(pp_list)
-PERL_PPDEF(pp_lslice)
-PERL_PPDEF(pp_anonlist)
-PERL_PPDEF(pp_anonhash)
-PERL_PPDEF(pp_splice)
-PERL_PPDEF(pp_push)
-PERL_PPDEF(pp_pop)
-PERL_PPDEF(pp_shift)
-PERL_PPDEF(pp_unshift)
-PERL_PPDEF(pp_sort)
-PERL_PPDEF(pp_reverse)
-PERL_PPDEF(pp_grepstart)
-PERL_PPDEF(pp_grepwhile)
-PERL_PPDEF(pp_mapstart)
-PERL_PPDEF(pp_mapwhile)
-PERL_PPDEF(pp_range)
-PERL_PPDEF(pp_flip)
-PERL_PPDEF(pp_flop)
-PERL_PPDEF(pp_and)
-PERL_PPDEF(pp_or)
-PERL_PPDEF(pp_xor)
-PERL_PPDEF(pp_cond_expr)
-PERL_PPDEF(pp_andassign)
-PERL_PPDEF(pp_orassign)
-PERL_PPDEF(pp_method)
-PERL_PPDEF(pp_entersub)
-PERL_PPDEF(pp_leavesub)
-PERL_PPDEF(pp_caller)
-PERL_PPDEF(pp_warn)
-PERL_PPDEF(pp_die)
-PERL_PPDEF(pp_reset)
-PERL_PPDEF(pp_lineseq)
-PERL_PPDEF(pp_nextstate)
-PERL_PPDEF(pp_dbstate)
-PERL_PPDEF(pp_unstack)
-PERL_PPDEF(pp_enter)
-PERL_PPDEF(pp_leave)
-PERL_PPDEF(pp_scope)
-PERL_PPDEF(pp_enteriter)
-PERL_PPDEF(pp_iter)
-PERL_PPDEF(pp_enterloop)
-PERL_PPDEF(pp_leaveloop)
-PERL_PPDEF(pp_return)
-PERL_PPDEF(pp_last)
-PERL_PPDEF(pp_next)
-PERL_PPDEF(pp_redo)
-PERL_PPDEF(pp_dump)
-PERL_PPDEF(pp_goto)
-PERL_PPDEF(pp_exit)
-PERL_PPDEF(pp_open)
-PERL_PPDEF(pp_close)
-PERL_PPDEF(pp_pipe_op)
-PERL_PPDEF(pp_fileno)
-PERL_PPDEF(pp_umask)
-PERL_PPDEF(pp_binmode)
-PERL_PPDEF(pp_tie)
-PERL_PPDEF(pp_untie)
-PERL_PPDEF(pp_tied)
-PERL_PPDEF(pp_dbmopen)
-PERL_PPDEF(pp_dbmclose)
-PERL_PPDEF(pp_sselect)
-PERL_PPDEF(pp_select)
-PERL_PPDEF(pp_getc)
-PERL_PPDEF(pp_read)
-PERL_PPDEF(pp_enterwrite)
-PERL_PPDEF(pp_leavewrite)
-PERL_PPDEF(pp_prtf)
-PERL_PPDEF(pp_print)
-PERL_PPDEF(pp_sysopen)
-PERL_PPDEF(pp_sysseek)
-PERL_PPDEF(pp_sysread)
-PERL_PPDEF(pp_syswrite)
-PERL_PPDEF(pp_send)
-PERL_PPDEF(pp_recv)
-PERL_PPDEF(pp_eof)
-PERL_PPDEF(pp_tell)
-PERL_PPDEF(pp_seek)
-PERL_PPDEF(pp_truncate)
-PERL_PPDEF(pp_fcntl)
-PERL_PPDEF(pp_ioctl)
-PERL_PPDEF(pp_flock)
-PERL_PPDEF(pp_socket)
-PERL_PPDEF(pp_sockpair)
-PERL_PPDEF(pp_bind)
-PERL_PPDEF(pp_connect)
-PERL_PPDEF(pp_listen)
-PERL_PPDEF(pp_accept)
-PERL_PPDEF(pp_shutdown)
-PERL_PPDEF(pp_gsockopt)
-PERL_PPDEF(pp_ssockopt)
-PERL_PPDEF(pp_getsockname)
-PERL_PPDEF(pp_getpeername)
-PERL_PPDEF(pp_lstat)
-PERL_PPDEF(pp_stat)
-PERL_PPDEF(pp_ftrread)
-PERL_PPDEF(pp_ftrwrite)
-PERL_PPDEF(pp_ftrexec)
-PERL_PPDEF(pp_fteread)
-PERL_PPDEF(pp_ftewrite)
-PERL_PPDEF(pp_fteexec)
-PERL_PPDEF(pp_ftis)
-PERL_PPDEF(pp_fteowned)
-PERL_PPDEF(pp_ftrowned)
-PERL_PPDEF(pp_ftzero)
-PERL_PPDEF(pp_ftsize)
-PERL_PPDEF(pp_ftmtime)
-PERL_PPDEF(pp_ftatime)
-PERL_PPDEF(pp_ftctime)
-PERL_PPDEF(pp_ftsock)
-PERL_PPDEF(pp_ftchr)
-PERL_PPDEF(pp_ftblk)
-PERL_PPDEF(pp_ftfile)
-PERL_PPDEF(pp_ftdir)
-PERL_PPDEF(pp_ftpipe)
-PERL_PPDEF(pp_ftlink)
-PERL_PPDEF(pp_ftsuid)
-PERL_PPDEF(pp_ftsgid)
-PERL_PPDEF(pp_ftsvtx)
-PERL_PPDEF(pp_fttty)
-PERL_PPDEF(pp_fttext)
-PERL_PPDEF(pp_ftbinary)
-PERL_PPDEF(pp_chdir)
-PERL_PPDEF(pp_chown)
-PERL_PPDEF(pp_chroot)
-PERL_PPDEF(pp_unlink)
-PERL_PPDEF(pp_chmod)
-PERL_PPDEF(pp_utime)
-PERL_PPDEF(pp_rename)
-PERL_PPDEF(pp_link)
-PERL_PPDEF(pp_symlink)
-PERL_PPDEF(pp_readlink)
-PERL_PPDEF(pp_mkdir)
-PERL_PPDEF(pp_rmdir)
-PERL_PPDEF(pp_open_dir)
-PERL_PPDEF(pp_readdir)
-PERL_PPDEF(pp_telldir)
-PERL_PPDEF(pp_seekdir)
-PERL_PPDEF(pp_rewinddir)
-PERL_PPDEF(pp_closedir)
-PERL_PPDEF(pp_fork)
-PERL_PPDEF(pp_wait)
-PERL_PPDEF(pp_waitpid)
-PERL_PPDEF(pp_system)
-PERL_PPDEF(pp_exec)
-PERL_PPDEF(pp_kill)
-PERL_PPDEF(pp_getppid)
-PERL_PPDEF(pp_getpgrp)
-PERL_PPDEF(pp_setpgrp)
-PERL_PPDEF(pp_getpriority)
-PERL_PPDEF(pp_setpriority)
-PERL_PPDEF(pp_time)
-PERL_PPDEF(pp_tms)
-PERL_PPDEF(pp_localtime)
-PERL_PPDEF(pp_gmtime)
-PERL_PPDEF(pp_alarm)
-PERL_PPDEF(pp_sleep)
-PERL_PPDEF(pp_shmget)
-PERL_PPDEF(pp_shmctl)
-PERL_PPDEF(pp_shmread)
-PERL_PPDEF(pp_shmwrite)
-PERL_PPDEF(pp_msgget)
-PERL_PPDEF(pp_msgctl)
-PERL_PPDEF(pp_msgsnd)
-PERL_PPDEF(pp_msgrcv)
-PERL_PPDEF(pp_semget)
-PERL_PPDEF(pp_semctl)
-PERL_PPDEF(pp_semop)
-PERL_PPDEF(pp_require)
-PERL_PPDEF(pp_dofile)
-PERL_PPDEF(pp_entereval)
-PERL_PPDEF(pp_leaveeval)
-PERL_PPDEF(pp_entertry)
-PERL_PPDEF(pp_leavetry)
-PERL_PPDEF(pp_ghbyname)
-PERL_PPDEF(pp_ghbyaddr)
-PERL_PPDEF(pp_ghostent)
-PERL_PPDEF(pp_gnbyname)
-PERL_PPDEF(pp_gnbyaddr)
-PERL_PPDEF(pp_gnetent)
-PERL_PPDEF(pp_gpbyname)
-PERL_PPDEF(pp_gpbynumber)
-PERL_PPDEF(pp_gprotoent)
-PERL_PPDEF(pp_gsbyname)
-PERL_PPDEF(pp_gsbyport)
-PERL_PPDEF(pp_gservent)
-PERL_PPDEF(pp_shostent)
-PERL_PPDEF(pp_snetent)
-PERL_PPDEF(pp_sprotoent)
-PERL_PPDEF(pp_sservent)
-PERL_PPDEF(pp_ehostent)
-PERL_PPDEF(pp_enetent)
-PERL_PPDEF(pp_eprotoent)
-PERL_PPDEF(pp_eservent)
-PERL_PPDEF(pp_gpwnam)
-PERL_PPDEF(pp_gpwuid)
-PERL_PPDEF(pp_gpwent)
-PERL_PPDEF(pp_spwent)
-PERL_PPDEF(pp_epwent)
-PERL_PPDEF(pp_ggrnam)
-PERL_PPDEF(pp_ggrgid)
-PERL_PPDEF(pp_ggrent)
-PERL_PPDEF(pp_sgrent)
-PERL_PPDEF(pp_egrent)
-PERL_PPDEF(pp_getlogin)
-PERL_PPDEF(pp_syscall)
-PERL_PPDEF(pp_lock)
-PERL_PPDEF(pp_threadsv)
+PERL_PPDEF(Perl_pp_null)
+PERL_PPDEF(Perl_pp_stub)
+PERL_PPDEF(Perl_pp_scalar)
+PERL_PPDEF(Perl_pp_pushmark)
+PERL_PPDEF(Perl_pp_wantarray)
+PERL_PPDEF(Perl_pp_const)
+PERL_PPDEF(Perl_pp_gvsv)
+PERL_PPDEF(Perl_pp_gv)
+PERL_PPDEF(Perl_pp_gelem)
+PERL_PPDEF(Perl_pp_padsv)
+PERL_PPDEF(Perl_pp_padav)
+PERL_PPDEF(Perl_pp_padhv)
+PERL_PPDEF(Perl_pp_padany)
+PERL_PPDEF(Perl_pp_pushre)
+PERL_PPDEF(Perl_pp_rv2gv)
+PERL_PPDEF(Perl_pp_rv2sv)
+PERL_PPDEF(Perl_pp_av2arylen)
+PERL_PPDEF(Perl_pp_rv2cv)
+PERL_PPDEF(Perl_pp_anoncode)
+PERL_PPDEF(Perl_pp_prototype)
+PERL_PPDEF(Perl_pp_refgen)
+PERL_PPDEF(Perl_pp_srefgen)
+PERL_PPDEF(Perl_pp_ref)
+PERL_PPDEF(Perl_pp_bless)
+PERL_PPDEF(Perl_pp_backtick)
+PERL_PPDEF(Perl_pp_glob)
+PERL_PPDEF(Perl_pp_readline)
+PERL_PPDEF(Perl_pp_rcatline)
+PERL_PPDEF(Perl_pp_regcmaybe)
+PERL_PPDEF(Perl_pp_regcreset)
+PERL_PPDEF(Perl_pp_regcomp)
+PERL_PPDEF(Perl_pp_match)
+PERL_PPDEF(Perl_pp_qr)
+PERL_PPDEF(Perl_pp_subst)
+PERL_PPDEF(Perl_pp_substcont)
+PERL_PPDEF(Perl_pp_trans)
+PERL_PPDEF(Perl_pp_sassign)
+PERL_PPDEF(Perl_pp_aassign)
+PERL_PPDEF(Perl_pp_chop)
+PERL_PPDEF(Perl_pp_schop)
+PERL_PPDEF(Perl_pp_chomp)
+PERL_PPDEF(Perl_pp_schomp)
+PERL_PPDEF(Perl_pp_defined)
+PERL_PPDEF(Perl_pp_undef)
+PERL_PPDEF(Perl_pp_study)
+PERL_PPDEF(Perl_pp_pos)
+PERL_PPDEF(Perl_pp_preinc)
+PERL_PPDEF(Perl_pp_predec)
+PERL_PPDEF(Perl_pp_postinc)
+PERL_PPDEF(Perl_pp_postdec)
+PERL_PPDEF(Perl_pp_pow)
+PERL_PPDEF(Perl_pp_multiply)
+PERL_PPDEF(Perl_pp_i_multiply)
+PERL_PPDEF(Perl_pp_divide)
+PERL_PPDEF(Perl_pp_i_divide)
+PERL_PPDEF(Perl_pp_modulo)
+PERL_PPDEF(Perl_pp_i_modulo)
+PERL_PPDEF(Perl_pp_repeat)
+PERL_PPDEF(Perl_pp_add)
+PERL_PPDEF(Perl_pp_i_add)
+PERL_PPDEF(Perl_pp_subtract)
+PERL_PPDEF(Perl_pp_i_subtract)
+PERL_PPDEF(Perl_pp_concat)
+PERL_PPDEF(Perl_pp_stringify)
+PERL_PPDEF(Perl_pp_left_shift)
+PERL_PPDEF(Perl_pp_right_shift)
+PERL_PPDEF(Perl_pp_lt)
+PERL_PPDEF(Perl_pp_i_lt)
+PERL_PPDEF(Perl_pp_gt)
+PERL_PPDEF(Perl_pp_i_gt)
+PERL_PPDEF(Perl_pp_le)
+PERL_PPDEF(Perl_pp_i_le)
+PERL_PPDEF(Perl_pp_ge)
+PERL_PPDEF(Perl_pp_i_ge)
+PERL_PPDEF(Perl_pp_eq)
+PERL_PPDEF(Perl_pp_i_eq)
+PERL_PPDEF(Perl_pp_ne)
+PERL_PPDEF(Perl_pp_i_ne)
+PERL_PPDEF(Perl_pp_ncmp)
+PERL_PPDEF(Perl_pp_i_ncmp)
+PERL_PPDEF(Perl_pp_slt)
+PERL_PPDEF(Perl_pp_sgt)
+PERL_PPDEF(Perl_pp_sle)
+PERL_PPDEF(Perl_pp_sge)
+PERL_PPDEF(Perl_pp_seq)
+PERL_PPDEF(Perl_pp_sne)
+PERL_PPDEF(Perl_pp_scmp)
+PERL_PPDEF(Perl_pp_bit_and)
+PERL_PPDEF(Perl_pp_bit_xor)
+PERL_PPDEF(Perl_pp_bit_or)
+PERL_PPDEF(Perl_pp_negate)
+PERL_PPDEF(Perl_pp_i_negate)
+PERL_PPDEF(Perl_pp_not)
+PERL_PPDEF(Perl_pp_complement)
+PERL_PPDEF(Perl_pp_atan2)
+PERL_PPDEF(Perl_pp_sin)
+PERL_PPDEF(Perl_pp_cos)
+PERL_PPDEF(Perl_pp_rand)
+PERL_PPDEF(Perl_pp_srand)
+PERL_PPDEF(Perl_pp_exp)
+PERL_PPDEF(Perl_pp_log)
+PERL_PPDEF(Perl_pp_sqrt)
+PERL_PPDEF(Perl_pp_int)
+PERL_PPDEF(Perl_pp_hex)
+PERL_PPDEF(Perl_pp_oct)
+PERL_PPDEF(Perl_pp_abs)
+PERL_PPDEF(Perl_pp_length)
+PERL_PPDEF(Perl_pp_substr)
+PERL_PPDEF(Perl_pp_vec)
+PERL_PPDEF(Perl_pp_index)
+PERL_PPDEF(Perl_pp_rindex)
+PERL_PPDEF(Perl_pp_sprintf)
+PERL_PPDEF(Perl_pp_formline)
+PERL_PPDEF(Perl_pp_ord)
+PERL_PPDEF(Perl_pp_chr)
+PERL_PPDEF(Perl_pp_crypt)
+PERL_PPDEF(Perl_pp_ucfirst)
+PERL_PPDEF(Perl_pp_lcfirst)
+PERL_PPDEF(Perl_pp_uc)
+PERL_PPDEF(Perl_pp_lc)
+PERL_PPDEF(Perl_pp_quotemeta)
+PERL_PPDEF(Perl_pp_rv2av)
+PERL_PPDEF(Perl_pp_aelemfast)
+PERL_PPDEF(Perl_pp_aelem)
+PERL_PPDEF(Perl_pp_aslice)
+PERL_PPDEF(Perl_pp_each)
+PERL_PPDEF(Perl_pp_values)
+PERL_PPDEF(Perl_pp_keys)
+PERL_PPDEF(Perl_pp_delete)
+PERL_PPDEF(Perl_pp_exists)
+PERL_PPDEF(Perl_pp_rv2hv)
+PERL_PPDEF(Perl_pp_helem)
+PERL_PPDEF(Perl_pp_hslice)
+PERL_PPDEF(Perl_pp_unpack)
+PERL_PPDEF(Perl_pp_pack)
+PERL_PPDEF(Perl_pp_split)
+PERL_PPDEF(Perl_pp_join)
+PERL_PPDEF(Perl_pp_list)
+PERL_PPDEF(Perl_pp_lslice)
+PERL_PPDEF(Perl_pp_anonlist)
+PERL_PPDEF(Perl_pp_anonhash)
+PERL_PPDEF(Perl_pp_splice)
+PERL_PPDEF(Perl_pp_push)
+PERL_PPDEF(Perl_pp_pop)
+PERL_PPDEF(Perl_pp_shift)
+PERL_PPDEF(Perl_pp_unshift)
+PERL_PPDEF(Perl_pp_sort)
+PERL_PPDEF(Perl_pp_reverse)
+PERL_PPDEF(Perl_pp_grepstart)
+PERL_PPDEF(Perl_pp_grepwhile)
+PERL_PPDEF(Perl_pp_mapstart)
+PERL_PPDEF(Perl_pp_mapwhile)
+PERL_PPDEF(Perl_pp_range)
+PERL_PPDEF(Perl_pp_flip)
+PERL_PPDEF(Perl_pp_flop)
+PERL_PPDEF(Perl_pp_and)
+PERL_PPDEF(Perl_pp_or)
+PERL_PPDEF(Perl_pp_xor)
+PERL_PPDEF(Perl_pp_cond_expr)
+PERL_PPDEF(Perl_pp_andassign)
+PERL_PPDEF(Perl_pp_orassign)
+PERL_PPDEF(Perl_pp_method)
+PERL_PPDEF(Perl_pp_entersub)
+PERL_PPDEF(Perl_pp_leavesub)
+PERL_PPDEF(Perl_pp_caller)
+PERL_PPDEF(Perl_pp_warn)
+PERL_PPDEF(Perl_pp_die)
+PERL_PPDEF(Perl_pp_reset)
+PERL_PPDEF(Perl_pp_lineseq)
+PERL_PPDEF(Perl_pp_nextstate)
+PERL_PPDEF(Perl_pp_dbstate)
+PERL_PPDEF(Perl_pp_unstack)
+PERL_PPDEF(Perl_pp_enter)
+PERL_PPDEF(Perl_pp_leave)
+PERL_PPDEF(Perl_pp_scope)
+PERL_PPDEF(Perl_pp_enteriter)
+PERL_PPDEF(Perl_pp_iter)
+PERL_PPDEF(Perl_pp_enterloop)
+PERL_PPDEF(Perl_pp_leaveloop)
+PERL_PPDEF(Perl_pp_return)
+PERL_PPDEF(Perl_pp_last)
+PERL_PPDEF(Perl_pp_next)
+PERL_PPDEF(Perl_pp_redo)
+PERL_PPDEF(Perl_pp_dump)
+PERL_PPDEF(Perl_pp_goto)
+PERL_PPDEF(Perl_pp_exit)
+PERL_PPDEF(Perl_pp_open)
+PERL_PPDEF(Perl_pp_close)
+PERL_PPDEF(Perl_pp_pipe_op)
+PERL_PPDEF(Perl_pp_fileno)
+PERL_PPDEF(Perl_pp_umask)
+PERL_PPDEF(Perl_pp_binmode)
+PERL_PPDEF(Perl_pp_tie)
+PERL_PPDEF(Perl_pp_untie)
+PERL_PPDEF(Perl_pp_tied)
+PERL_PPDEF(Perl_pp_dbmopen)
+PERL_PPDEF(Perl_pp_dbmclose)
+PERL_PPDEF(Perl_pp_sselect)
+PERL_PPDEF(Perl_pp_select)
+PERL_PPDEF(Perl_pp_getc)
+PERL_PPDEF(Perl_pp_read)
+PERL_PPDEF(Perl_pp_enterwrite)
+PERL_PPDEF(Perl_pp_leavewrite)
+PERL_PPDEF(Perl_pp_prtf)
+PERL_PPDEF(Perl_pp_print)
+PERL_PPDEF(Perl_pp_sysopen)
+PERL_PPDEF(Perl_pp_sysseek)
+PERL_PPDEF(Perl_pp_sysread)
+PERL_PPDEF(Perl_pp_syswrite)
+PERL_PPDEF(Perl_pp_send)
+PERL_PPDEF(Perl_pp_recv)
+PERL_PPDEF(Perl_pp_eof)
+PERL_PPDEF(Perl_pp_tell)
+PERL_PPDEF(Perl_pp_seek)
+PERL_PPDEF(Perl_pp_truncate)
+PERL_PPDEF(Perl_pp_fcntl)
+PERL_PPDEF(Perl_pp_ioctl)
+PERL_PPDEF(Perl_pp_flock)
+PERL_PPDEF(Perl_pp_socket)
+PERL_PPDEF(Perl_pp_sockpair)
+PERL_PPDEF(Perl_pp_bind)
+PERL_PPDEF(Perl_pp_connect)
+PERL_PPDEF(Perl_pp_listen)
+PERL_PPDEF(Perl_pp_accept)
+PERL_PPDEF(Perl_pp_shutdown)
+PERL_PPDEF(Perl_pp_gsockopt)
+PERL_PPDEF(Perl_pp_ssockopt)
+PERL_PPDEF(Perl_pp_getsockname)
+PERL_PPDEF(Perl_pp_getpeername)
+PERL_PPDEF(Perl_pp_lstat)
+PERL_PPDEF(Perl_pp_stat)
+PERL_PPDEF(Perl_pp_ftrread)
+PERL_PPDEF(Perl_pp_ftrwrite)
+PERL_PPDEF(Perl_pp_ftrexec)
+PERL_PPDEF(Perl_pp_fteread)
+PERL_PPDEF(Perl_pp_ftewrite)
+PERL_PPDEF(Perl_pp_fteexec)
+PERL_PPDEF(Perl_pp_ftis)
+PERL_PPDEF(Perl_pp_fteowned)
+PERL_PPDEF(Perl_pp_ftrowned)
+PERL_PPDEF(Perl_pp_ftzero)
+PERL_PPDEF(Perl_pp_ftsize)
+PERL_PPDEF(Perl_pp_ftmtime)
+PERL_PPDEF(Perl_pp_ftatime)
+PERL_PPDEF(Perl_pp_ftctime)
+PERL_PPDEF(Perl_pp_ftsock)
+PERL_PPDEF(Perl_pp_ftchr)
+PERL_PPDEF(Perl_pp_ftblk)
+PERL_PPDEF(Perl_pp_ftfile)
+PERL_PPDEF(Perl_pp_ftdir)
+PERL_PPDEF(Perl_pp_ftpipe)
+PERL_PPDEF(Perl_pp_ftlink)
+PERL_PPDEF(Perl_pp_ftsuid)
+PERL_PPDEF(Perl_pp_ftsgid)
+PERL_PPDEF(Perl_pp_ftsvtx)
+PERL_PPDEF(Perl_pp_fttty)
+PERL_PPDEF(Perl_pp_fttext)
+PERL_PPDEF(Perl_pp_ftbinary)
+PERL_PPDEF(Perl_pp_chdir)
+PERL_PPDEF(Perl_pp_chown)
+PERL_PPDEF(Perl_pp_chroot)
+PERL_PPDEF(Perl_pp_unlink)
+PERL_PPDEF(Perl_pp_chmod)
+PERL_PPDEF(Perl_pp_utime)
+PERL_PPDEF(Perl_pp_rename)
+PERL_PPDEF(Perl_pp_link)
+PERL_PPDEF(Perl_pp_symlink)
+PERL_PPDEF(Perl_pp_readlink)
+PERL_PPDEF(Perl_pp_mkdir)
+PERL_PPDEF(Perl_pp_rmdir)
+PERL_PPDEF(Perl_pp_open_dir)
+PERL_PPDEF(Perl_pp_readdir)
+PERL_PPDEF(Perl_pp_telldir)
+PERL_PPDEF(Perl_pp_seekdir)
+PERL_PPDEF(Perl_pp_rewinddir)
+PERL_PPDEF(Perl_pp_closedir)
+PERL_PPDEF(Perl_pp_fork)
+PERL_PPDEF(Perl_pp_wait)
+PERL_PPDEF(Perl_pp_waitpid)
+PERL_PPDEF(Perl_pp_system)
+PERL_PPDEF(Perl_pp_exec)
+PERL_PPDEF(Perl_pp_kill)
+PERL_PPDEF(Perl_pp_getppid)
+PERL_PPDEF(Perl_pp_getpgrp)
+PERL_PPDEF(Perl_pp_setpgrp)
+PERL_PPDEF(Perl_pp_getpriority)
+PERL_PPDEF(Perl_pp_setpriority)
+PERL_PPDEF(Perl_pp_time)
+PERL_PPDEF(Perl_pp_tms)
+PERL_PPDEF(Perl_pp_localtime)
+PERL_PPDEF(Perl_pp_gmtime)
+PERL_PPDEF(Perl_pp_alarm)
+PERL_PPDEF(Perl_pp_sleep)
+PERL_PPDEF(Perl_pp_shmget)
+PERL_PPDEF(Perl_pp_shmctl)
+PERL_PPDEF(Perl_pp_shmread)
+PERL_PPDEF(Perl_pp_shmwrite)
+PERL_PPDEF(Perl_pp_msgget)
+PERL_PPDEF(Perl_pp_msgctl)
+PERL_PPDEF(Perl_pp_msgsnd)
+PERL_PPDEF(Perl_pp_msgrcv)
+PERL_PPDEF(Perl_pp_semget)
+PERL_PPDEF(Perl_pp_semctl)
+PERL_PPDEF(Perl_pp_semop)
+PERL_PPDEF(Perl_pp_require)
+PERL_PPDEF(Perl_pp_dofile)
+PERL_PPDEF(Perl_pp_entereval)
+PERL_PPDEF(Perl_pp_leaveeval)
+PERL_PPDEF(Perl_pp_entertry)
+PERL_PPDEF(Perl_pp_leavetry)
+PERL_PPDEF(Perl_pp_ghbyname)
+PERL_PPDEF(Perl_pp_ghbyaddr)
+PERL_PPDEF(Perl_pp_ghostent)
+PERL_PPDEF(Perl_pp_gnbyname)
+PERL_PPDEF(Perl_pp_gnbyaddr)
+PERL_PPDEF(Perl_pp_gnetent)
+PERL_PPDEF(Perl_pp_gpbyname)
+PERL_PPDEF(Perl_pp_gpbynumber)
+PERL_PPDEF(Perl_pp_gprotoent)
+PERL_PPDEF(Perl_pp_gsbyname)
+PERL_PPDEF(Perl_pp_gsbyport)
+PERL_PPDEF(Perl_pp_gservent)
+PERL_PPDEF(Perl_pp_shostent)
+PERL_PPDEF(Perl_pp_snetent)
+PERL_PPDEF(Perl_pp_sprotoent)
+PERL_PPDEF(Perl_pp_sservent)
+PERL_PPDEF(Perl_pp_ehostent)
+PERL_PPDEF(Perl_pp_enetent)
+PERL_PPDEF(Perl_pp_eprotoent)
+PERL_PPDEF(Perl_pp_eservent)
+PERL_PPDEF(Perl_pp_gpwnam)
+PERL_PPDEF(Perl_pp_gpwuid)
+PERL_PPDEF(Perl_pp_gpwent)
+PERL_PPDEF(Perl_pp_spwent)
+PERL_PPDEF(Perl_pp_epwent)
+PERL_PPDEF(Perl_pp_ggrnam)
+PERL_PPDEF(Perl_pp_ggrgid)
+PERL_PPDEF(Perl_pp_ggrent)
+PERL_PPDEF(Perl_pp_sgrent)
+PERL_PPDEF(Perl_pp_egrent)
+PERL_PPDEF(Perl_pp_getlogin)
+PERL_PPDEF(Perl_pp_syscall)
+PERL_PPDEF(Perl_pp_lock)
+PERL_PPDEF(Perl_pp_threadsv)
diff --git a/pp_sys.c b/pp_sys.c
index 054645e33b..7ffc1c2787 100644
--- a/pp_sys.c
+++ b/pp_sys.c
@@ -15,6 +15,7 @@
*/
#include "EXTERN.h"
+#define PERL_IN_PP_SYS_C
#include "perl.h"
#ifdef I_SHADOW
@@ -124,10 +125,6 @@ extern int h_errno;
# endif
#endif
-#if !defined(HAS_MKDIR) || !defined(HAS_RMDIR)
-static int dooneliner (char *cmd, char *filename);
-#endif
-
#ifdef HAS_CHSIZE
# ifdef my_chsize /* Probably #defined to Perl_my_chsize in embed.h */
# undef my_chsize
@@ -230,7 +227,7 @@ static char zero_but_true[ZBTLEN + 1] = "0 but true";
|| defined(HAS_SETREGID) || defined(HAS_SETRESGID))
/* The Hard Way. */
STATIC int
-emulate_eaccess (const char* path, int mode)
+emulate_eaccess(pTHX_ const char* path, int mode)
{
Uid_t ruid = getuid();
Uid_t euid = geteuid();
@@ -295,7 +292,7 @@ emulate_eaccess (const char* path, int mode)
#if !defined(PERL_EFF_ACCESS_R_OK)
STATIC int
-emulate_eaccess (const char* path, int mode)
+emulate_eaccess(pTHX_ const char* path, int mode)
{
croak("switching effective uid is not implemented");
/*NOTREACHED*/
@@ -474,8 +471,8 @@ PP(pp_die)
PUSHs(file);
PUSHs(line);
PUTBACK;
- perl_call_sv((SV*)GvCV(gv),
- G_SCALAR|G_EVAL|G_KEEPERR);
+ call_sv((SV*)GvCV(gv),
+ G_SCALAR|G_EVAL|G_KEEPERR);
sv_setsv(error,*PL_stack_sp--);
}
}
@@ -539,7 +536,7 @@ PP(pp_open)
XPUSHs(sv);
PUTBACK;
ENTER;
- perl_call_method("OPEN", G_SCALAR);
+ call_method("OPEN", G_SCALAR);
LEAVE;
SPAGAIN;
RETURN;
@@ -571,7 +568,7 @@ PP(pp_close)
XPUSHs(SvTIED_obj((SV*)gv, mg));
PUTBACK;
ENTER;
- perl_call_method("CLOSE", G_SCALAR);
+ call_method("CLOSE", G_SCALAR);
LEAVE;
SPAGAIN;
RETURN;
@@ -653,7 +650,7 @@ PP(pp_fileno)
XPUSHs(SvTIED_obj((SV*)gv, mg));
PUTBACK;
ENTER;
- perl_call_method("FILENO", G_SCALAR);
+ call_method("FILENO", G_SCALAR);
LEAVE;
SPAGAIN;
RETURN;
@@ -708,7 +705,7 @@ PP(pp_binmode)
XPUSHs(SvTIED_obj((SV*)gv, mg));
PUTBACK;
ENTER;
- perl_call_method("BINMODE", G_SCALAR);
+ call_method("BINMODE", G_SCALAR);
LEAVE;
SPAGAIN;
RETURN;
@@ -765,10 +762,10 @@ PP(pp_tie)
while (items--)
PUSHs(*MARK++);
PUTBACK;
- perl_call_method(methname, G_SCALAR);
+ call_method(methname, G_SCALAR);
}
else {
- /* Not clear why we don't call perl_call_method here too.
+ /* Not clear why we don't call call_method here too.
* perhaps to get different error message ?
*/
stash = gv_stashsv(*MARK, FALSE);
@@ -783,7 +780,7 @@ PP(pp_tie)
while (items--)
PUSHs(*MARK++);
PUTBACK;
- perl_call_sv((SV*)GvCV(gv), G_SCALAR);
+ call_sv((SV*)GvCV(gv), G_SCALAR);
}
SPAGAIN;
@@ -852,7 +849,7 @@ PP(pp_dbmopen)
stash = gv_stashsv(sv, FALSE);
if (!stash || !(gv = gv_fetchmethod(stash, "TIEHASH"))) {
PUTBACK;
- perl_require_pv("AnyDBM_File.pm");
+ require_pv("AnyDBM_File.pm");
SPAGAIN;
if (!(gv = gv_fetchmethod(stash, "TIEHASH")))
DIE("No dbm on this machine");
@@ -870,7 +867,7 @@ PP(pp_dbmopen)
PUSHs(sv_2mortal(newSViv(O_RDWR)));
PUSHs(right);
PUTBACK;
- perl_call_sv((SV*)GvCV(gv), G_SCALAR);
+ call_sv((SV*)GvCV(gv), G_SCALAR);
SPAGAIN;
if (!sv_isobject(TOPs)) {
@@ -881,7 +878,7 @@ PP(pp_dbmopen)
PUSHs(sv_2mortal(newSViv(O_RDONLY)));
PUSHs(right);
PUTBACK;
- perl_call_sv((SV*)GvCV(gv), G_SCALAR);
+ call_sv((SV*)GvCV(gv), G_SCALAR);
SPAGAIN;
}
@@ -1040,7 +1037,7 @@ PP(pp_sselect)
}
void
-setdefout(GV *gv)
+Perl_setdefout(pTHX_ GV *gv)
{
dTHR;
if (gv)
@@ -1103,7 +1100,7 @@ PP(pp_getc)
XPUSHs(SvTIED_obj((SV*)gv, mg));
PUTBACK;
ENTER;
- perl_call_method("GETC", gimme);
+ call_method("GETC", gimme);
LEAVE;
SPAGAIN;
if (gimme == G_SCALAR)
@@ -1125,7 +1122,7 @@ PP(pp_read)
}
STATIC OP *
-doform(CV *cv, GV *gv, OP *retop)
+doform(pTHX_ CV *cv, GV *gv, OP *retop)
{
dTHR;
register PERL_CONTEXT *cx;
@@ -1327,7 +1324,7 @@ PP(pp_prtf)
*MARK = SvTIED_obj((SV*)gv, mg);
PUTBACK;
ENTER;
- perl_call_method("PRINTF", G_SCALAR);
+ call_method("PRINTF", G_SCALAR);
LEAVE;
SPAGAIN;
MARK = ORIGMARK + 1;
@@ -1437,7 +1434,7 @@ PP(pp_sysread)
PUSHMARK(MARK-1);
*MARK = SvTIED_obj((SV*)gv, mg);
ENTER;
- perl_call_method("READ", G_SCALAR);
+ call_method("READ", G_SCALAR);
LEAVE;
SPAGAIN;
sv = POPs;
@@ -1587,7 +1584,7 @@ PP(pp_send)
PUSHMARK(MARK-1);
*MARK = SvTIED_obj((SV*)gv, mg);
ENTER;
- perl_call_method("WRITE", G_SCALAR);
+ call_method("WRITE", G_SCALAR);
LEAVE;
SPAGAIN;
sv = POPs;
@@ -1685,7 +1682,7 @@ PP(pp_eof)
XPUSHs(SvTIED_obj((SV*)gv, mg));
PUTBACK;
ENTER;
- perl_call_method("EOF", G_SCALAR);
+ call_method("EOF", G_SCALAR);
LEAVE;
SPAGAIN;
RETURN;
@@ -1711,7 +1708,7 @@ PP(pp_tell)
XPUSHs(SvTIED_obj((SV*)gv, mg));
PUTBACK;
ENTER;
- perl_call_method("TELL", G_SCALAR);
+ call_method("TELL", G_SCALAR);
LEAVE;
SPAGAIN;
RETURN;
@@ -1743,7 +1740,7 @@ PP(pp_sysseek)
XPUSHs(sv_2mortal(newSViv((IV) whence)));
PUTBACK;
ENTER;
- perl_call_method("SEEK", G_SCALAR);
+ call_method("SEEK", G_SCALAR);
LEAVE;
SPAGAIN;
RETURN;
@@ -3178,7 +3175,7 @@ PP(pp_readlink)
#if !defined(HAS_MKDIR) || !defined(HAS_RMDIR)
STATIC int
-dooneliner(char *cmd, char *filename)
+dooneliner(pTHX_ char *cmd, char *filename)
{
char *save_filename = filename;
char *cmdline;
@@ -4909,8 +4906,8 @@ PP(pp_syscall)
What's really needed is a good file locking module.
*/
-static int
-fcntl_emulate_flock(int fd, int operation)
+STATIC int
+fcntl_emulate_flock(pTHX_ int fd, int operation)
{
struct flock flock;
@@ -4967,7 +4964,7 @@ fcntl_emulate_flock(int fd, int operation)
# endif
STATIC int
-lockf_emulate_flock (int fd, int operation)
+lockf_emulate_flock(pTHX_ int fd, int operation)
{
int i;
int save_errno;
diff --git a/proto.h b/proto.h
index 97e209b12f..95b0831503 100644
--- a/proto.h
+++ b/proto.h
@@ -1,982 +1,1354 @@
-#ifndef PERL_CALLCONV
-# define PERL_CALLCONV
-#endif
-
-#ifdef PERL_OBJECT
-#define VIRTUAL virtual PERL_CALLCONV
-#else
-#define VIRTUAL PERL_CALLCONV
-START_EXTERN_C
-#endif
-
-/* NOTE!!! When new virtual functions are added, they must be added at
- * the end of this file to maintain binary compatibility with PERL_OBJECT
- */
-
-
-#ifndef NEXT30_NO_ATTRIBUTE
-#ifndef HASATTRIBUTE /* disable GNU-cc attribute checking? */
-#ifdef __attribute__ /* Avoid possible redefinition errors */
-#undef __attribute__
-#endif
-#define __attribute__(attr)
-#endif
-#endif
-VIRTUAL SV* amagic_call (SV* left,SV* right,int method,int dir);
-VIRTUAL bool Gv_AMupdate (HV* stash);
-VIRTUAL OP* append_elem (I32 optype, OP* head, OP* tail);
-VIRTUAL OP* append_list (I32 optype, LISTOP* first, LISTOP* last);
-VIRTUAL I32 apply (I32 type, SV** mark, SV** sp);
-VIRTUAL void assertref (OP* o);
-VIRTUAL bool avhv_exists_ent (AV *ar, SV* keysv, U32 hash);
-VIRTUAL SV** avhv_fetch_ent (AV *ar, SV* keysv, I32 lval, U32 hash);
-VIRTUAL HE* avhv_iternext (AV *ar);
-VIRTUAL SV* avhv_iterval (AV *ar, HE* entry);
-VIRTUAL HV* avhv_keys (AV *ar);
-VIRTUAL void av_clear (AV* ar);
-VIRTUAL void av_extend (AV* ar, I32 key);
-VIRTUAL AV* av_fake (I32 size, SV** svp);
-VIRTUAL SV** av_fetch (AV* ar, I32 key, I32 lval);
-VIRTUAL void av_fill (AV* ar, I32 fill);
-VIRTUAL I32 av_len (AV* ar);
-VIRTUAL AV* av_make (I32 size, SV** svp);
-VIRTUAL SV* av_pop (AV* ar);
-VIRTUAL void av_push (AV* ar, SV* val);
-VIRTUAL void av_reify (AV* ar);
-VIRTUAL SV* av_shift (AV* ar);
-VIRTUAL SV** av_store (AV* ar, I32 key, SV* val);
-VIRTUAL void av_undef (AV* ar);
-VIRTUAL void av_unshift (AV* ar, I32 num);
-VIRTUAL OP* bind_match (I32 type, OP* left, OP* pat);
-VIRTUAL OP* block_end (I32 floor, OP* seq);
-VIRTUAL I32 block_gimme (void);
-VIRTUAL int block_start (int full);
-VIRTUAL void boot_core_UNIVERSAL (void);
-VIRTUAL void call_list (I32 oldscope, AV* av_list);
-VIRTUAL I32 cando (I32 bit, I32 effective, Stat_t* statbufp);
-VIRTUAL U32 cast_ulong (double f);
-VIRTUAL I32 cast_i32 (double f);
-VIRTUAL IV cast_iv (double f);
-VIRTUAL UV cast_uv (double f);
-#if !defined(HAS_TRUNCATE) && !defined(HAS_CHSIZE) && defined(F_FREESP)
-VIRTUAL I32 my_chsize (int fd, Off_t length);
-#endif
-
-#ifdef USE_THREADS
-VIRTUAL MAGIC * condpair_magic (SV *sv);
-#endif
-VIRTUAL OP* convert (I32 optype, I32 flags, OP* o);
-VIRTUAL void croak (const char* pat,...) __attribute__((noreturn));
-VIRTUAL void cv_ckproto (CV* cv, GV* gv, char* p);
-VIRTUAL CV* cv_clone (CV* proto);
-VIRTUAL SV* cv_const_sv (CV* cv);
-VIRTUAL SV* op_const_sv (OP* o, CV* cv);
-VIRTUAL void cv_undef (CV* cv);
-VIRTUAL void cx_dump (PERL_CONTEXT* cs);
-VIRTUAL SV* filter_add (filter_t funcp, SV* datasv);
-VIRTUAL void filter_del (filter_t funcp);
-VIRTUAL I32 filter_read (int idx, SV* buffer, int maxlen);
-VIRTUAL char ** get_op_descs (void);
-VIRTUAL char ** get_op_names (void);
-VIRTUAL char * get_no_modify (void);
-VIRTUAL U32 * get_opargs (void);
-VIRTUAL I32 cxinc (void);
-VIRTUAL void deb (const char* pat,...);
-VIRTUAL void deb_growlevel (void);
-VIRTUAL void debprofdump (void);
-VIRTUAL I32 debop (OP* o);
-VIRTUAL I32 debstack (void);
-VIRTUAL I32 debstackptrs (void);
-VIRTUAL char* delimcpy (char* to, char* toend, char* from, char* fromend,
- int delim, I32* retlen);
-VIRTUAL void deprecate (char* s);
-VIRTUAL OP* die (const char* pat,...);
-VIRTUAL OP* die_where (char* message, STRLEN msglen);
-VIRTUAL void dounwind (I32 cxix);
-VIRTUAL bool do_aexec (SV* really, SV** mark, SV** sp);
-VIRTUAL int do_binmode (PerlIO *fp, int iotype, int flag);
-VIRTUAL void do_chop (SV* asv, SV* sv);
-VIRTUAL bool do_close (GV* gv, bool not_implicit);
-VIRTUAL bool do_eof (GV* gv);
-VIRTUAL bool do_exec (char* cmd);
-#ifndef WIN32
-VIRTUAL bool do_exec3 (char* cmd, int fd, int flag);
-#endif
-VIRTUAL void do_execfree (void);
+#if defined(WIN32)
+int& Perl_ErrorNo(pTHX);
+#endif
+#if defined(PERL_GLOBAL_STRUCT)
+struct perl_vars * Perl_GetVars(pTHX);
+#endif
+bool Perl_Gv_AMupdate(pTHX_ HV* stash);
+SV* Perl_amagic_call(pTHX_ SV* left, SV* right, int method, int dir);
+OP* Perl_append_elem(pTHX_ I32 optype, OP* head, OP* tail);
+OP* Perl_append_list(pTHX_ I32 optype, LISTOP* first, LISTOP* last);
+I32 Perl_apply(pTHX_ I32 type, SV** mark, SV** sp);
+void Perl_assertref(pTHX_ OP* o);
+void Perl_av_clear(pTHX_ AV* ar);
+void Perl_av_extend(pTHX_ AV* ar, I32 key);
+AV* Perl_av_fake(pTHX_ I32 size, SV** svp);
+SV** Perl_av_fetch(pTHX_ AV* ar, I32 key, I32 lval);
+void Perl_av_fill(pTHX_ AV* ar, I32 fill);
+I32 Perl_av_len(pTHX_ AV* ar);
+AV* Perl_av_make(pTHX_ I32 size, SV** svp);
+SV* Perl_av_pop(pTHX_ AV* ar);
+void Perl_av_push(pTHX_ AV* ar, SV* val);
+void Perl_av_reify(pTHX_ AV* ar);
+SV* Perl_av_shift(pTHX_ AV* ar);
+SV** Perl_av_store(pTHX_ AV* ar, I32 key, SV* val);
+void Perl_av_undef(pTHX_ AV* ar);
+void Perl_av_unshift(pTHX_ AV* ar, I32 num);
+bool Perl_avhv_exists_ent(pTHX_ AV *ar, SV* keysv, U32 hash);
+SV** Perl_avhv_fetch_ent(pTHX_ AV *ar, SV* keysv, I32 lval, U32 hash);
+HE* Perl_avhv_iternext(pTHX_ AV *ar);
+SV* Perl_avhv_iterval(pTHX_ AV *ar, HE* entry);
+HV* Perl_avhv_keys(pTHX_ AV *ar);
+OP* Perl_bind_match(pTHX_ I32 type, OP* left, OP* pat);
+OP* Perl_block_end(pTHX_ I32 floor, OP* seq);
+I32 Perl_block_gimme(pTHX);
+int Perl_block_start(pTHX_ int full);
+void Perl_boot_core_UNIVERSAL(pTHX);
+void* Perl_bset_obj_store(pTHX_ void *obj, I32 ix);
+I32 Perl_call_argv(pTHX_ const char* sub_name, I32 flags, char** argv);
+void Perl_call_atexit(pTHX_ ATEXIT_t fn, void *ptr);
+void Perl_call_list(pTHX_ I32 oldscope, AV* av_list);
+I32 Perl_call_method(pTHX_ const char* methname, I32 flags);
+I32 Perl_call_pv(pTHX_ const char* sub_name, I32 flags);
+I32 Perl_call_sv(pTHX_ SV* sv, I32 flags);
+#if defined(MYMALLOC)
+Malloc_t Perl_calloc(pTHX_ MEM_SIZE elements, MEM_SIZE size);
+#endif
+I32 Perl_cando(pTHX_ I32 bit, I32 effective, Stat_t* statbufp);
+I32 Perl_cast_i32(pTHX_ double f);
+IV Perl_cast_iv(pTHX_ double f);
+U32 Perl_cast_ulong(pTHX_ double f);
+UV Perl_cast_uv(pTHX_ double f);
+#if defined(USE_THREADS)
+MAGIC* Perl_condpair_magic(pTHX_ SV *sv);
+#endif
+OP* Perl_convert(pTHX_ I32 optype, I32 flags, OP* o);
+void Perl_croak(pTHX_ const char* pat, ...) __attribute__((noreturn));
+void Perl_cv_ckproto(pTHX_ CV* cv, GV* gv, char* p);
+CV* Perl_cv_clone(pTHX_ CV* proto);
+SV* Perl_cv_const_sv(pTHX_ CV* cv);
+void Perl_cv_undef(pTHX_ CV* cv);
+void Perl_cx_dump(pTHX_ PERL_CONTEXT* cs);
+I32 Perl_cxinc(pTHX);
+void Perl_deb(pTHX_ const char* pat, ...);
+void Perl_deb_growlevel(pTHX);
+I32 Perl_debop(pTHX_ OP* o);
+void Perl_debprofdump(pTHX);
+I32 Perl_debstack(pTHX);
+I32 Perl_debstackptrs(pTHX);
+void* Perl_default_protect(pTHX_ int *excpt, protect_body_t body, ...);
+char* Perl_delimcpy(pTHX_ char* to, char* toend, char* from, char* fromend, int delim, I32* retlen);
+void Perl_deprecate(pTHX_ char* s);
+OP* Perl_die(pTHX_ const char* pat, ...);
+OP* Perl_die_where(pTHX_ char* message, STRLEN msglen);
+bool Perl_do_aexec(pTHX_ SV* really, SV** mark, SV** sp);
+int Perl_do_binmode(pTHX_ PerlIO *fp, int iotype, int flag);
+I32 Perl_do_chomp(pTHX_ SV* sv);
+void Perl_do_chop(pTHX_ SV* asv, SV* sv);
+bool Perl_do_close(pTHX_ GV* gv, bool not_implicit);
+bool Perl_do_eof(pTHX_ GV* gv);
+bool Perl_do_exec(pTHX_ char* cmd);
+#if !defined(WIN32)
+bool Perl_do_exec3(pTHX_ char* cmd, int fd, int flag);
+#endif
+void Perl_do_execfree(pTHX);
+void 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);
+void Perl_do_hv_dump(pTHX_ I32 level, PerlIO *file, char *name, HV *sv);
+#if defined(HAS_MSG) || defined(HAS_SEM) || defined(HAS_SHM)
+I32 Perl_do_ipcctl(pTHX_ I32 optype, SV** mark, SV** sp);
+#endif
#if defined(HAS_MSG) || defined(HAS_SEM) || defined(HAS_SHM)
-VIRTUAL I32 do_ipcctl (I32 optype, SV** mark, SV** sp);
-VIRTUAL I32 do_ipcget (I32 optype, SV** mark, SV** sp);
+I32 Perl_do_ipcget(pTHX_ I32 optype, SV** mark, SV** sp);
#endif
-VIRTUAL void do_join (SV* sv, SV* del, SV** mark, SV** sp);
-VIRTUAL OP* do_kv (ARGSproto);
+void Perl_do_join(pTHX_ SV* sv, SV* del, SV** mark, SV** sp);
+OP* Perl_do_kv(pTHX_ ARGSproto);
+void Perl_do_magic_dump(pTHX_ I32 level, PerlIO *file, MAGIC *mg, I32 nest, I32 maxnest, bool dumpops, STRLEN pvlim);
#if defined(HAS_MSG) || defined(HAS_SEM) || defined(HAS_SHM)
-VIRTUAL I32 do_msgrcv (SV** mark, SV** sp);
-VIRTUAL I32 do_msgsnd (SV** mark, SV** sp);
-#endif
-VIRTUAL bool do_open (GV* gv, char* name, I32 len,
- int as_raw, int rawmode, int rawperm, PerlIO* supplied_fp);
-VIRTUAL void do_pipe (SV* sv, GV* rgv, GV* wgv);
-VIRTUAL bool do_print (SV* sv, PerlIO* fp);
-VIRTUAL OP* do_readline (void);
-VIRTUAL I32 do_chomp (SV* sv);
-VIRTUAL bool do_seek (GV* gv, Off_t pos, int whence);
+I32 Perl_do_msgrcv(pTHX_ SV** mark, SV** sp);
+#endif
#if defined(HAS_MSG) || defined(HAS_SEM) || defined(HAS_SHM)
-VIRTUAL I32 do_semop (SV** mark, SV** sp);
-VIRTUAL I32 do_shmio (I32 optype, SV** mark, SV** sp);
-#endif
-VIRTUAL void do_sprintf (SV* sv, I32 len, SV** sarg);
-VIRTUAL Off_t do_sysseek (GV* gv, Off_t pos, int whence);
-VIRTUAL Off_t do_tell (GV* gv);
-VIRTUAL I32 do_trans (SV* sv);
-VIRTUAL void do_vecset (SV* sv);
-VIRTUAL void do_vop (I32 optype, SV* sv, SV* left, SV* right);
-VIRTUAL OP* dofile (OP* term);
-VIRTUAL I32 dowantarray (void);
-VIRTUAL void dump_all (void);
-VIRTUAL void dump_eval (void);
-#ifdef DUMP_FDS /* See util.c */
-VIRTUAL void dump_fds (char* s);
-#endif
-VIRTUAL void dump_form (GV* gv);
-VIRTUAL void gv_dump (GV* gv);
-#ifdef MYMALLOC
-VIRTUAL void dump_mstats (char* s);
-#endif
-VIRTUAL void op_dump (OP* arg);
-VIRTUAL void pmop_dump (PMOP* pm);
-VIRTUAL void dump_packsubs (HV* stash);
-VIRTUAL void dump_sub (GV* gv);
-VIRTUAL void fbm_compile (SV* sv, U32 flags);
-VIRTUAL char* fbm_instr (unsigned char* big, unsigned char* bigend, SV* littlesv, U32 flags);
-VIRTUAL char* find_script (char *scriptname, bool dosearch, char **search_ext, I32 flags);
-#ifdef USE_THREADS
-VIRTUAL PADOFFSET find_threadsv (const char *name);
-#endif
-VIRTUAL OP* force_list (OP* arg);
-VIRTUAL OP* fold_constants (OP* arg);
-VIRTUAL char* form (const char* pat, ...);
-VIRTUAL void free_tmps (void);
-VIRTUAL OP* gen_constant_list (OP* o);
-#ifndef HAS_GETENV_LEN
-VIRTUAL char* getenv_len (char* key, unsigned long *len);
-#endif
-VIRTUAL void gp_free (GV* gv);
-VIRTUAL GP* gp_ref (GP* gp);
-VIRTUAL GV* gv_AVadd (GV* gv);
-VIRTUAL GV* gv_HVadd (GV* gv);
-VIRTUAL GV* gv_IOadd (GV* gv);
-VIRTUAL GV* gv_autoload4 (HV* stash, const char* name, STRLEN len, I32 method);
-VIRTUAL void gv_check (HV* stash);
-VIRTUAL void gv_efullname (SV* sv, GV* gv);
-VIRTUAL void gv_efullname3 (SV* sv, GV* gv, const char* prefix);
-VIRTUAL GV* gv_fetchfile (const char* name);
-VIRTUAL GV* gv_fetchmeth (HV* stash, const char* name, STRLEN len, I32 level);
-VIRTUAL GV* gv_fetchmethod (HV* stash, const char* name);
-VIRTUAL GV* gv_fetchmethod_autoload (HV* stash, const char* name, I32 autoload);
-VIRTUAL GV* gv_fetchpv (const char* name, I32 add, I32 sv_type);
-VIRTUAL void gv_fullname (SV* sv, GV* gv);
-VIRTUAL void gv_fullname3 (SV* sv, GV* gv, const char* prefix);
-VIRTUAL void gv_init (GV* gv, HV* stash, const char* name, STRLEN len, int multi);
-VIRTUAL HV* gv_stashpv (const char* name, I32 create);
-VIRTUAL HV* gv_stashpvn (const char* name, U32 namelen, I32 create);
-VIRTUAL HV* gv_stashsv (SV* sv, I32 create);
-VIRTUAL void hv_clear (HV* tb);
-VIRTUAL void hv_delayfree_ent (HV* hv, HE* entry);
-VIRTUAL SV* hv_delete (HV* tb, const char* key, U32 klen, I32 flags);
-VIRTUAL SV* hv_delete_ent (HV* tb, SV* key, I32 flags, U32 hash);
-VIRTUAL bool hv_exists (HV* tb, const char* key, U32 klen);
-VIRTUAL bool hv_exists_ent (HV* tb, SV* key, U32 hash);
-VIRTUAL SV** hv_fetch (HV* tb, const char* key, U32 klen, I32 lval);
-VIRTUAL HE* hv_fetch_ent (HV* tb, SV* key, I32 lval, U32 hash);
-VIRTUAL void hv_free_ent (HV* hv, HE* entry);
-VIRTUAL I32 hv_iterinit (HV* tb);
-VIRTUAL char* hv_iterkey (HE* entry, I32* retlen);
-VIRTUAL SV* hv_iterkeysv (HE* entry);
-VIRTUAL HE* hv_iternext (HV* tb);
-VIRTUAL SV* hv_iternextsv (HV* hv, char** key, I32* retlen);
-VIRTUAL SV* hv_iterval (HV* tb, HE* entry);
-VIRTUAL void hv_ksplit (HV* hv, IV newmax);
-VIRTUAL void hv_magic (HV* hv, GV* gv, int how);
-VIRTUAL SV** hv_store (HV* tb, const char* key, U32 klen, SV* val, U32 hash);
-VIRTUAL HE* hv_store_ent (HV* tb, SV* key, SV* val, U32 hash);
-VIRTUAL void hv_undef (HV* tb);
-VIRTUAL I32 ibcmp (const char* a, const char* b, I32 len);
-VIRTUAL I32 ibcmp_locale (const char* a, const char* b, I32 len);
-VIRTUAL I32 ingroup (I32 testgid, I32 effective);
-VIRTUAL void init_stacks (ARGSproto);
-VIRTUAL U32 intro_my (void);
-VIRTUAL char* instr (const char* big, const char* little);
-VIRTUAL bool io_close (IO* io);
-VIRTUAL OP* invert (OP* cmd);
-VIRTUAL bool is_uni_alnum (U32 c);
-VIRTUAL bool is_uni_idfirst (U32 c);
-VIRTUAL bool is_uni_alpha (U32 c);
-VIRTUAL bool is_uni_space (U32 c);
-VIRTUAL bool is_uni_digit (U32 c);
-VIRTUAL bool is_uni_upper (U32 c);
-VIRTUAL bool is_uni_lower (U32 c);
-VIRTUAL bool is_uni_print (U32 c);
-VIRTUAL U32 to_uni_upper (U32 c);
-VIRTUAL U32 to_uni_title (U32 c);
-VIRTUAL U32 to_uni_lower (U32 c);
-VIRTUAL bool is_uni_alnum_lc (U32 c);
-VIRTUAL bool is_uni_idfirst_lc (U32 c);
-VIRTUAL bool is_uni_alpha_lc (U32 c);
-VIRTUAL bool is_uni_space_lc (U32 c);
-VIRTUAL bool is_uni_digit_lc (U32 c);
-VIRTUAL bool is_uni_upper_lc (U32 c);
-VIRTUAL bool is_uni_lower_lc (U32 c);
-VIRTUAL bool is_uni_print_lc (U32 c);
-VIRTUAL U32 to_uni_upper_lc (U32 c);
-VIRTUAL U32 to_uni_title_lc (U32 c);
-VIRTUAL U32 to_uni_lower_lc (U32 c);
-VIRTUAL bool is_utf8_alnum (U8 *p);
-VIRTUAL bool is_utf8_idfirst (U8 *p);
-VIRTUAL bool is_utf8_alpha (U8 *p);
-VIRTUAL bool is_utf8_space (U8 *p);
-VIRTUAL bool is_utf8_digit (U8 *p);
-VIRTUAL bool is_utf8_upper (U8 *p);
-VIRTUAL bool is_utf8_lower (U8 *p);
-VIRTUAL bool is_utf8_print (U8 *p);
-VIRTUAL bool is_utf8_mark (U8 *p);
-VIRTUAL OP* jmaybe (OP* arg);
-VIRTUAL I32 keyword (char* d, I32 len);
-VIRTUAL void leave_scope (I32 base);
-VIRTUAL void lex_end (void);
-VIRTUAL void lex_start (SV* line);
-VIRTUAL OP* linklist (OP* o);
-VIRTUAL OP* list (OP* o);
-VIRTUAL OP* listkids (OP* o);
-VIRTUAL OP* localize (OP* arg, I32 lexical);
-VIRTUAL I32 looks_like_number (SV* sv);
-VIRTUAL int magic_clearenv (SV* sv, MAGIC* mg);
-VIRTUAL int magic_clear_all_env (SV* sv, MAGIC* mg);
-VIRTUAL int magic_clearpack (SV* sv, MAGIC* mg);
-VIRTUAL int magic_clearsig (SV* sv, MAGIC* mg);
-VIRTUAL int magic_existspack (SV* sv, MAGIC* mg);
-VIRTUAL int magic_freeregexp (SV* sv, MAGIC* mg);
-VIRTUAL int magic_get (SV* sv, MAGIC* mg);
-VIRTUAL int magic_getarylen (SV* sv, MAGIC* mg);
-VIRTUAL int magic_getdefelem (SV* sv, MAGIC* mg);
-VIRTUAL int magic_getglob (SV* sv, MAGIC* mg);
-VIRTUAL int magic_getnkeys (SV* sv, MAGIC* mg);
-VIRTUAL int magic_getpack (SV* sv, MAGIC* mg);
-VIRTUAL int magic_getpos (SV* sv, MAGIC* mg);
-VIRTUAL int magic_getsig (SV* sv, MAGIC* mg);
-VIRTUAL int magic_getsubstr (SV* sv, MAGIC* mg);
-VIRTUAL int magic_gettaint (SV* sv, MAGIC* mg);
-VIRTUAL int magic_getuvar (SV* sv, MAGIC* mg);
-VIRTUAL int magic_getvec (SV* sv, MAGIC* mg);
-VIRTUAL U32 magic_len (SV* sv, MAGIC* mg);
-#ifdef USE_THREADS
-VIRTUAL int magic_mutexfree (SV* sv, MAGIC* mg);
-#endif /* USE_THREADS */
-VIRTUAL int magic_nextpack (SV* sv, MAGIC* mg, SV* key);
-VIRTUAL U32 magic_regdata_cnt (SV* sv, MAGIC* mg);
-VIRTUAL int magic_regdatum_get (SV* sv, MAGIC* mg);
-VIRTUAL int magic_set (SV* sv, MAGIC* mg);
-VIRTUAL int magic_setamagic (SV* sv, MAGIC* mg);
-VIRTUAL int magic_setarylen (SV* sv, MAGIC* mg);
-VIRTUAL int magic_setbm (SV* sv, MAGIC* mg);
-VIRTUAL int magic_setdbline (SV* sv, MAGIC* mg);
-#ifdef USE_LOCALE_COLLATE
-VIRTUAL int magic_setcollxfrm (SV* sv, MAGIC* mg);
-#endif
-VIRTUAL int magic_setdefelem (SV* sv, MAGIC* mg);
-VIRTUAL int magic_setenv (SV* sv, MAGIC* mg);
-VIRTUAL int magic_setfm (SV* sv, MAGIC* mg);
-VIRTUAL int magic_setisa (SV* sv, MAGIC* mg);
-VIRTUAL int magic_setglob (SV* sv, MAGIC* mg);
-VIRTUAL int magic_setmglob (SV* sv, MAGIC* mg);
-VIRTUAL int magic_setnkeys (SV* sv, MAGIC* mg);
-VIRTUAL int magic_setpack (SV* sv, MAGIC* mg);
-VIRTUAL int magic_setpos (SV* sv, MAGIC* mg);
-VIRTUAL int magic_setsig (SV* sv, MAGIC* mg);
-VIRTUAL int magic_setsubstr (SV* sv, MAGIC* mg);
-VIRTUAL int magic_settaint (SV* sv, MAGIC* mg);
-VIRTUAL int magic_setuvar (SV* sv, MAGIC* mg);
-VIRTUAL int magic_setvec (SV* sv, MAGIC* mg);
-VIRTUAL int magic_set_all_env (SV* sv, MAGIC* mg);
-VIRTUAL U32 magic_sizepack (SV* sv, MAGIC* mg);
-VIRTUAL int magic_wipepack (SV* sv, MAGIC* mg);
-VIRTUAL void magicname (char* sym, char* name, I32 namlen);
-int main (int argc, char** argv, char** env);
-#ifdef MYMALLOC
-VIRTUAL MEM_SIZE malloced_size (void *p);
-#endif
-VIRTUAL void markstack_grow (void);
-#ifdef USE_LOCALE_COLLATE
-VIRTUAL char* mem_collxfrm (const char* s, STRLEN len, STRLEN* xlen);
-#endif
-VIRTUAL SV* mess (const char* pat, va_list* args);
-VIRTUAL int mg_clear (SV* sv);
-VIRTUAL int mg_copy (SV* sv, SV* nsv, const char* key, I32 klen);
-VIRTUAL MAGIC* mg_find (SV* sv, int type);
-VIRTUAL int mg_free (SV* sv);
-VIRTUAL int mg_get (SV* sv);
-VIRTUAL U32 mg_length (SV* sv);
-VIRTUAL void mg_magical (SV* sv);
-VIRTUAL int mg_set (SV* sv);
-VIRTUAL I32 mg_size (SV* sv);
-VIRTUAL OP* mod (OP* o, I32 type);
-VIRTUAL char* moreswitches (char* s);
-VIRTUAL OP* my (OP* o);
+I32 Perl_do_msgsnd(pTHX_ SV** mark, SV** sp);
+#endif
+void Perl_do_op_dump(pTHX_ I32 level, PerlIO *file, OP *o);
+bool Perl_do_open(pTHX_ GV* gv, char* name, I32 len, int as_raw, int rawmode, int rawperm, PerlIO* supplied_fp);
+void Perl_do_pipe(pTHX_ SV* sv, GV* rgv, GV* wgv);
+void Perl_do_pmop_dump(pTHX_ I32 level, PerlIO *file, PMOP *pm);
+bool Perl_do_print(pTHX_ SV* sv, PerlIO* fp);
+OP* Perl_do_readline(pTHX);
+bool Perl_do_seek(pTHX_ GV* gv, Off_t pos, int whence);
+#if defined(HAS_MSG) || defined(HAS_SEM) || defined(HAS_SHM)
+I32 Perl_do_semop(pTHX_ SV** mark, SV** sp);
+#endif
+#if defined(HAS_MSG) || defined(HAS_SEM) || defined(HAS_SHM)
+I32 Perl_do_shmio(pTHX_ I32 optype, SV** mark, SV** sp);
+#endif
+void Perl_do_sprintf(pTHX_ SV* sv, I32 len, SV** sarg);
+void Perl_do_sv_dump(pTHX_ I32 level, PerlIO *file, SV *sv, I32 nest, I32 maxnest, bool dumpops, STRLEN pvlim);
+Off_t Perl_do_sysseek(pTHX_ GV* gv, Off_t pos, int whence);
+Off_t Perl_do_tell(pTHX_ GV* gv);
+I32 Perl_do_trans(pTHX_ SV* sv);
+void Perl_do_vecset(pTHX_ SV* sv);
+void Perl_do_vop(pTHX_ I32 optype, SV* sv, SV* left, SV* right);
+OP* Perl_dofile(pTHX_ OP* term);
+void Perl_dounwind(pTHX_ I32 cxix);
+I32 Perl_dowantarray(pTHX);
+void Perl_dump_all(pTHX);
+void Perl_dump_eval(pTHX);
+#if defined(DUMP_FDS)
+void Perl_dump_fds(pTHX_ char* s);
+#endif
+void Perl_dump_form(pTHX_ GV* gv);
+void Perl_dump_indent(pTHX_ I32 level, PerlIO *file, const char* pat, ...);
+#if defined(MYMALLOC)
+void Perl_dump_mstats(pTHX_ char* s);
+#endif
+void Perl_dump_packsubs(pTHX_ HV* stash);
+void Perl_dump_sub(pTHX_ GV* gv);
+SV* Perl_eval_pv(pTHX_ const char* p, I32 croak_on_error);
+I32 Perl_eval_sv(pTHX_ SV* sv, I32 flags);
+void Perl_fbm_compile(pTHX_ SV* sv, U32 flags);
+char* Perl_fbm_instr(pTHX_ unsigned char* big, unsigned char* bigend, SV* littlesv, U32 flags);
+SV* Perl_filter_add(pTHX_ filter_t funcp, SV* datasv);
+void Perl_filter_del(pTHX_ filter_t funcp);
+I32 Perl_filter_read(pTHX_ int idx, SV* buffer, int maxlen);
+char* Perl_find_script(pTHX_ char *scriptname, bool dosearch, char **search_ext, I32 flags);
+#if defined(USE_THREADS)
+PADOFFSET Perl_find_threadsv(pTHX_ const char *name);
+#endif
+OP* Perl_fold_constants(pTHX_ OP* arg);
+OP* Perl_force_list(pTHX_ OP* arg);
+char* Perl_form(pTHX_ const char* pat, ...);
+void Perl_free_tmps(pTHX);
+OP* Perl_gen_constant_list(pTHX_ OP* o);
+AV* Perl_get_av(pTHX_ const char* name, I32 create);
+CV* Perl_get_cv(pTHX_ const char* name, I32 create);
+HV* Perl_get_hv(pTHX_ const char* name, I32 create);
+char* Perl_get_no_modify(pTHX);
+char** Perl_get_op_descs(pTHX);
+char** Perl_get_op_names(pTHX);
+U32* Perl_get_opargs(pTHX);
+SV* Perl_get_sv(pTHX_ const char* name, I32 create);
+MGVTBL* Perl_get_vtbl(pTHX_ int vtbl_id);
+#if !defined(HAS_GETENV_LEN)
+char* Perl_getenv_len(pTHX_ char* key, unsigned long *len);
+#endif
+void Perl_gp_free(pTHX_ GV* gv);
+GP* Perl_gp_ref(pTHX_ GP* gp);
+GV* Perl_gv_AVadd(pTHX_ GV* gv);
+GV* Perl_gv_HVadd(pTHX_ GV* gv);
+GV* Perl_gv_IOadd(pTHX_ GV* gv);
+GV* Perl_gv_autoload4(pTHX_ HV* stash, const char* name, STRLEN len, I32 method);
+void Perl_gv_check(pTHX_ HV* stash);
+void Perl_gv_dump(pTHX_ GV* gv);
+void Perl_gv_efullname(pTHX_ SV* sv, GV* gv);
+void Perl_gv_efullname3(pTHX_ SV* sv, GV* gv, const char* prefix);
+GV* Perl_gv_fetchfile(pTHX_ const char* name);
+GV* Perl_gv_fetchmeth(pTHX_ HV* stash, const char* name, STRLEN len, I32 level);
+GV* Perl_gv_fetchmethod(pTHX_ HV* stash, const char* name);
+GV* Perl_gv_fetchmethod_autoload(pTHX_ HV* stash, const char* name, I32 autoload);
+GV* Perl_gv_fetchpv(pTHX_ const char* name, I32 add, I32 sv_type);
+void Perl_gv_fullname(pTHX_ SV* sv, GV* gv);
+void Perl_gv_fullname3(pTHX_ SV* sv, GV* gv, const char* prefix);
+void Perl_gv_init(pTHX_ GV* gv, HV* stash, const char* name, STRLEN len, int multi);
+HV* Perl_gv_stashpv(pTHX_ const char* name, I32 create);
+HV* Perl_gv_stashpvn(pTHX_ const char* name, U32 namelen, I32 create);
+HV* Perl_gv_stashsv(pTHX_ SV* sv, I32 create);
+void Perl_hv_clear(pTHX_ HV* tb);
+void Perl_hv_delayfree_ent(pTHX_ HV* hv, HE* entry);
+SV* Perl_hv_delete(pTHX_ HV* tb, const char* key, U32 klen, I32 flags);
+SV* Perl_hv_delete_ent(pTHX_ HV* tb, SV* key, I32 flags, U32 hash);
+bool Perl_hv_exists(pTHX_ HV* tb, const char* key, U32 klen);
+bool Perl_hv_exists_ent(pTHX_ HV* tb, SV* key, U32 hash);
+SV** Perl_hv_fetch(pTHX_ HV* tb, const char* key, U32 klen, I32 lval);
+HE* Perl_hv_fetch_ent(pTHX_ HV* tb, SV* key, I32 lval, U32 hash);
+void Perl_hv_free_ent(pTHX_ HV* hv, HE* entry);
+I32 Perl_hv_iterinit(pTHX_ HV* tb);
+char* Perl_hv_iterkey(pTHX_ HE* entry, I32* retlen);
+SV* Perl_hv_iterkeysv(pTHX_ HE* entry);
+HE* Perl_hv_iternext(pTHX_ HV* tb);
+SV* Perl_hv_iternextsv(pTHX_ HV* hv, char** key, I32* retlen);
+SV* Perl_hv_iterval(pTHX_ HV* tb, HE* entry);
+void Perl_hv_ksplit(pTHX_ HV* hv, IV newmax);
+void Perl_hv_magic(pTHX_ HV* hv, GV* gv, int how);
+SV** Perl_hv_store(pTHX_ HV* tb, const char* key, U32 klen, SV* val, U32 hash);
+HE* Perl_hv_store_ent(pTHX_ HV* tb, SV* key, SV* val, U32 hash);
+void Perl_hv_undef(pTHX_ HV* tb);
+I32 Perl_ibcmp(pTHX_ const char* a, const char* b, I32 len);
+I32 Perl_ibcmp_locale(pTHX_ const char* a, const char* b, I32 len);
+I32 Perl_ingroup(pTHX_ I32 testgid, I32 effective);
+int Perl_init_i18nl10n(pTHX_ int printwarn);
+int Perl_init_i18nl14n(pTHX_ int printwarn);
+void Perl_init_stacks(pTHX_ ARGSproto);
+char* Perl_instr(pTHX_ const char* big, const char* little);
+U32 Perl_intro_my(pTHX);
+OP* Perl_invert(pTHX_ OP* cmd);
+bool Perl_io_close(pTHX_ IO* io);
+bool Perl_is_uni_alnum(pTHX_ U32 c);
+bool Perl_is_uni_alnum_lc(pTHX_ U32 c);
+bool Perl_is_uni_alpha(pTHX_ U32 c);
+bool Perl_is_uni_alpha_lc(pTHX_ U32 c);
+bool Perl_is_uni_digit(pTHX_ U32 c);
+bool Perl_is_uni_digit_lc(pTHX_ U32 c);
+bool Perl_is_uni_idfirst(pTHX_ U32 c);
+bool Perl_is_uni_idfirst_lc(pTHX_ U32 c);
+bool Perl_is_uni_lower(pTHX_ U32 c);
+bool Perl_is_uni_lower_lc(pTHX_ U32 c);
+bool Perl_is_uni_print(pTHX_ U32 c);
+bool Perl_is_uni_print_lc(pTHX_ U32 c);
+bool Perl_is_uni_space(pTHX_ U32 c);
+bool Perl_is_uni_space_lc(pTHX_ U32 c);
+bool Perl_is_uni_upper(pTHX_ U32 c);
+bool Perl_is_uni_upper_lc(pTHX_ U32 c);
+bool Perl_is_utf8_alnum(pTHX_ U8 *p);
+bool Perl_is_utf8_alpha(pTHX_ U8 *p);
+bool Perl_is_utf8_digit(pTHX_ U8 *p);
+bool Perl_is_utf8_idfirst(pTHX_ U8 *p);
+bool Perl_is_utf8_lower(pTHX_ U8 *p);
+bool Perl_is_utf8_mark(pTHX_ U8 *p);
+bool Perl_is_utf8_print(pTHX_ U8 *p);
+bool Perl_is_utf8_space(pTHX_ U8 *p);
+bool Perl_is_utf8_upper(pTHX_ U8 *p);
+OP* Perl_jmaybe(pTHX_ OP* arg);
+I32 Perl_keyword(pTHX_ char* d, I32 len);
+void Perl_leave_scope(pTHX_ I32 base);
+void Perl_lex_end(pTHX);
+void Perl_lex_start(pTHX_ SV* line);
+OP* Perl_linklist(pTHX_ OP* o);
+OP* Perl_list(pTHX_ OP* o);
+OP* Perl_listkids(pTHX_ OP* o);
+OP* Perl_localize(pTHX_ OP* arg, I32 lexical);
+I32 Perl_looks_like_number(pTHX_ SV* sv);
+int Perl_magic_clear_all_env(pTHX_ SV* sv, MAGIC* mg);
+int Perl_magic_clearenv(pTHX_ SV* sv, MAGIC* mg);
+int Perl_magic_clearpack(pTHX_ SV* sv, MAGIC* mg);
+int Perl_magic_clearsig(pTHX_ SV* sv, MAGIC* mg);
+void Perl_magic_dump(pTHX_ MAGIC *mg);
+int Perl_magic_existspack(pTHX_ SV* sv, MAGIC* mg);
+int Perl_magic_freeregexp(pTHX_ SV* sv, MAGIC* mg);
+int Perl_magic_get(pTHX_ SV* sv, MAGIC* mg);
+int Perl_magic_getarylen(pTHX_ SV* sv, MAGIC* mg);
+int Perl_magic_getdefelem(pTHX_ SV* sv, MAGIC* mg);
+int Perl_magic_getglob(pTHX_ SV* sv, MAGIC* mg);
+int Perl_magic_getnkeys(pTHX_ SV* sv, MAGIC* mg);
+int Perl_magic_getpack(pTHX_ SV* sv, MAGIC* mg);
+int Perl_magic_getpos(pTHX_ SV* sv, MAGIC* mg);
+int Perl_magic_getsig(pTHX_ SV* sv, MAGIC* mg);
+int Perl_magic_getsubstr(pTHX_ SV* sv, MAGIC* mg);
+int Perl_magic_gettaint(pTHX_ SV* sv, MAGIC* mg);
+int Perl_magic_getuvar(pTHX_ SV* sv, MAGIC* mg);
+int Perl_magic_getvec(pTHX_ SV* sv, MAGIC* mg);
+int Perl_magic_killbackrefs(pTHX_ SV *sv, MAGIC *mg);
+U32 Perl_magic_len(pTHX_ SV* sv, MAGIC* mg);
+#if defined(USE_THREADS)
+int Perl_magic_mutexfree(pTHX_ SV* sv, MAGIC* mg);
+#endif
+int Perl_magic_nextpack(pTHX_ SV* sv, MAGIC* mg, SV* key);
+U32 Perl_magic_regdata_cnt(pTHX_ SV* sv, MAGIC* mg);
+int Perl_magic_regdatum_get(pTHX_ SV* sv, MAGIC* mg);
+int Perl_magic_set(pTHX_ SV* sv, MAGIC* mg);
+int Perl_magic_set_all_env(pTHX_ SV* sv, MAGIC* mg);
+int Perl_magic_setamagic(pTHX_ SV* sv, MAGIC* mg);
+int Perl_magic_setarylen(pTHX_ SV* sv, MAGIC* mg);
+int Perl_magic_setbm(pTHX_ SV* sv, MAGIC* mg);
+#if defined(USE_LOCALE_COLLATE)
+int Perl_magic_setcollxfrm(pTHX_ SV* sv, MAGIC* mg);
+#endif
+int Perl_magic_setdbline(pTHX_ SV* sv, MAGIC* mg);
+int Perl_magic_setdefelem(pTHX_ SV* sv, MAGIC* mg);
+int Perl_magic_setenv(pTHX_ SV* sv, MAGIC* mg);
+int Perl_magic_setfm(pTHX_ SV* sv, MAGIC* mg);
+int Perl_magic_setglob(pTHX_ SV* sv, MAGIC* mg);
+int Perl_magic_setisa(pTHX_ SV* sv, MAGIC* mg);
+int Perl_magic_setmglob(pTHX_ SV* sv, MAGIC* mg);
+int Perl_magic_setnkeys(pTHX_ SV* sv, MAGIC* mg);
+int Perl_magic_setpack(pTHX_ SV* sv, MAGIC* mg);
+int Perl_magic_setpos(pTHX_ SV* sv, MAGIC* mg);
+int Perl_magic_setsig(pTHX_ SV* sv, MAGIC* mg);
+int Perl_magic_setsubstr(pTHX_ SV* sv, MAGIC* mg);
+int Perl_magic_settaint(pTHX_ SV* sv, MAGIC* mg);
+int Perl_magic_setuvar(pTHX_ SV* sv, MAGIC* mg);
+int Perl_magic_setvec(pTHX_ SV* sv, MAGIC* mg);
+U32 Perl_magic_sizepack(pTHX_ SV* sv, MAGIC* mg);
+int Perl_magic_wipepack(pTHX_ SV* sv, MAGIC* mg);
+void Perl_magicname(pTHX_ char* sym, char* name, I32 namlen);
+int main(int argc, char** argv, char** env);
+#if defined(MYMALLOC)
+Malloc_t Perl_malloc(pTHX_ MEM_SIZE nbytes);
+#endif
+#if defined(MYMALLOC)
+MEM_SIZE Perl_malloced_size(pTHX_ void *p);
+#endif
+void Perl_markstack_grow(pTHX);
+#if defined(USE_LOCALE_COLLATE)
+char* Perl_mem_collxfrm(pTHX_ const char* s, STRLEN len, STRLEN* xlen);
+#endif
+SV* Perl_mess(pTHX_ const char* pat, va_list* args);
+#if defined(MYMALLOC)
+Free_t Perl_mfree(pTHX_ Malloc_t where);
+#endif
+int Perl_mg_clear(pTHX_ SV* sv);
+int Perl_mg_copy(pTHX_ SV* sv, SV* nsv, const char* key, I32 klen);
+MAGIC* Perl_mg_find(pTHX_ SV* sv, int type);
+int Perl_mg_free(pTHX_ SV* sv);
+int Perl_mg_get(pTHX_ SV* sv);
+U32 Perl_mg_length(pTHX_ SV* sv);
+void Perl_mg_magical(pTHX_ SV* sv);
+int Perl_mg_set(pTHX_ SV* sv);
+I32 Perl_mg_size(pTHX_ SV* sv);
+OP* Perl_mod(pTHX_ OP* o, I32 type);
+char* Perl_moreswitches(pTHX_ char* s);
+OP* Perl_my(pTHX_ OP* o);
#if !defined(HAS_BCOPY) || !defined(HAS_SAFE_BCOPY)
-VIRTUAL char* my_bcopy (const char* from, char* to, I32 len);
+char* Perl_my_bcopy(pTHX_ const char* from, char* to, I32 len);
#endif
#if !defined(HAS_BZERO) && !defined(HAS_MEMSET)
-VIRTUAL char* my_bzero (char* loc, I32 len);
+char* Perl_my_bzero(pTHX_ char* loc, I32 len);
+#endif
+#if !defined(HAS_TRUNCATE) && !defined(HAS_CHSIZE) && defined(F_FREESP)
+I32 Perl_my_chsize(pTHX_ int fd, Off_t length);
+#endif
+void Perl_my_exit(pTHX_ U32 status) __attribute__((noreturn));
+void Perl_my_failure_exit(pTHX) __attribute__((noreturn));
+I32 Perl_my_fflush_all(pTHX);
+#if defined(MYSWAP)
+long Perl_my_htonl(pTHX_ long l);
#endif
-VIRTUAL void my_exit (U32 status) __attribute__((noreturn));
-VIRTUAL void my_failure_exit (void) __attribute__((noreturn));
-VIRTUAL I32 my_fflush_all (void);
-VIRTUAL I32 my_lstat (ARGSproto);
+I32 Perl_my_lstat(pTHX_ ARGSproto);
#if !defined(HAS_MEMCMP) || !defined(HAS_SANE_MEMCMP)
-VIRTUAL I32 my_memcmp (const char* s1, const char* s2, I32 len);
+I32 Perl_my_memcmp(pTHX_ const char* s1, const char* s2, I32 len);
#endif
#if !defined(HAS_MEMSET)
-VIRTUAL void* my_memset (char* loc, I32 ch, I32 len);
-#endif
-#ifndef PERL_OBJECT
-VIRTUAL I32 my_pclose (PerlIO* ptr);
-VIRTUAL PerlIO* my_popen (char* cmd, char* mode);
-#endif
-VIRTUAL void my_setenv (char* nam, char* val);
-VIRTUAL I32 my_stat (ARGSproto);
-#ifdef MYSWAP
-VIRTUAL short my_swap (short s);
-VIRTUAL long my_htonl (long l);
-VIRTUAL long my_ntohl (long l);
-#endif
-VIRTUAL void my_unexec (void);
-VIRTUAL OP* newANONLIST (OP* o);
-VIRTUAL OP* newANONHASH (OP* o);
-VIRTUAL OP* newANONSUB (I32 floor, OP* proto, OP* block);
-VIRTUAL OP* newASSIGNOP (I32 flags, OP* left, I32 optype, OP* right);
-VIRTUAL OP* newCONDOP (I32 flags, OP* expr, OP* trueop, OP* falseop);
-VIRTUAL void newCONSTSUB (HV* stash, char* name, SV* sv);
-VIRTUAL void newFORM (I32 floor, OP* o, OP* block);
-VIRTUAL OP* newFOROP (I32 flags, char* label, line_t forline, OP* sclr, OP* expr, OP*block, OP*cont);
-VIRTUAL OP* newLOGOP (I32 optype, I32 flags, OP* left, OP* right);
-VIRTUAL OP* newLOOPEX (I32 type, OP* label);
-VIRTUAL OP* newLOOPOP (I32 flags, I32 debuggable, OP* expr, OP* block);
-VIRTUAL OP* newNULLLIST (void);
-VIRTUAL OP* newOP (I32 optype, I32 flags);
-VIRTUAL void newPROG (OP* o);
-VIRTUAL OP* newRANGE (I32 flags, OP* left, OP* right);
-VIRTUAL OP* newSLICEOP (I32 flags, OP* subscript, OP* listop);
-VIRTUAL OP* newSTATEOP (I32 flags, char* label, OP* o);
-VIRTUAL CV* newSUB (I32 floor, OP* o, OP* proto, OP* block);
-VIRTUAL CV* newXS (char* name, void (*subaddr)(CV* cv _CPERLproto), char* filename);
-VIRTUAL AV* newAV (void);
-VIRTUAL OP* newAVREF (OP* o);
-VIRTUAL OP* newBINOP (I32 type, I32 flags, OP* first, OP* last);
-VIRTUAL OP* newCVREF (I32 flags, OP* o);
-VIRTUAL OP* newGVOP (I32 type, I32 flags, GV* gv);
-VIRTUAL GV* newGVgen (char* pack);
-VIRTUAL OP* newGVREF (I32 type, OP* o);
-VIRTUAL OP* newHVREF (OP* o);
-VIRTUAL HV* newHV (void);
-VIRTUAL HV* newHVhv (HV* hv);
-VIRTUAL IO* newIO (void);
-VIRTUAL OP* newLISTOP (I32 type, I32 flags, OP* first, OP* last);
-VIRTUAL OP* newPMOP (I32 type, I32 flags);
-VIRTUAL OP* newPVOP (I32 type, I32 flags, char* pv);
-VIRTUAL SV* newRV (SV* pref);
-VIRTUAL SV* newRV_noinc (SV *sv);
-VIRTUAL SV* newSV (STRLEN len);
-VIRTUAL OP* newSVREF (OP* o);
-VIRTUAL OP* newSVOP (I32 type, I32 flags, SV* sv);
-VIRTUAL SV* newSViv (IV i);
-VIRTUAL SV* newSVnv (double n);
-VIRTUAL SV* newSVpv (const char* s, STRLEN len);
-VIRTUAL SV* newSVpvn (const char *s, STRLEN len);
-VIRTUAL SV* newSVpvf (const char* pat, ...);
-VIRTUAL SV* newSVrv (SV* rv, const char* classname);
-VIRTUAL SV* newSVsv (SV* old);
-VIRTUAL OP* newUNOP (I32 type, I32 flags, OP* first);
-VIRTUAL OP* newWHILEOP (I32 flags, I32 debuggable, LOOP* loop,
- I32 whileline, OP* expr, OP* block, OP* cont);
-#ifdef USE_THREADS
-VIRTUAL struct perl_thread * new_struct_thread (struct perl_thread *t);
-#endif
-VIRTUAL PERL_SI * new_stackinfo (I32 stitems, I32 cxitems);
-VIRTUAL PerlIO* nextargv (GV* gv);
-VIRTUAL char* ninstr (const char* big, const char* bigend, const char* little, const char* lend);
-VIRTUAL OP* oopsCV (OP* o);
-VIRTUAL void op_free (OP* arg);
-VIRTUAL void package (OP* o);
-VIRTUAL PADOFFSET pad_alloc (I32 optype, U32 tmptype);
-VIRTUAL PADOFFSET pad_allocmy (char* name);
-VIRTUAL PADOFFSET pad_findmy (char* name);
-VIRTUAL OP* oopsAV (OP* o);
-VIRTUAL OP* oopsHV (OP* o);
-VIRTUAL void pad_leavemy (I32 fill);
-VIRTUAL SV* pad_sv (PADOFFSET po);
-VIRTUAL void pad_free (PADOFFSET po);
-VIRTUAL void pad_reset (void);
-VIRTUAL void pad_swipe (PADOFFSET po);
-VIRTUAL void peep (OP* o);
-#ifndef PERL_OBJECT
-PerlInterpreter* perl_alloc (void);
-#endif
-#ifdef PERL_OBJECT
-VIRTUAL void perl_atexit (void(*fn)(CPerlObj *, void *), void* ptr);
-#else
-void perl_atexit (void(*fn)(void *), void*);
-#endif
-VIRTUAL I32 perl_call_argv (const char* sub_name, I32 flags, char** argv);
-VIRTUAL I32 perl_call_method (const char* methname, I32 flags);
-VIRTUAL I32 perl_call_pv (const char* sub_name, I32 flags);
-VIRTUAL I32 perl_call_sv (SV* sv, I32 flags);
-#ifdef PERL_OBJECT
-VIRTUAL void perl_construct (void);
-VIRTUAL void perl_destruct (void);
-#else
-void perl_construct (PerlInterpreter* sv_interp);
-void perl_destruct (PerlInterpreter* sv_interp);
-#endif
-VIRTUAL SV* perl_eval_pv (const char* p, I32 croak_on_error);
-VIRTUAL I32 perl_eval_sv (SV* sv, I32 flags);
-#ifdef PERL_OBJECT
-VIRTUAL void perl_free (void);
-#else
-void perl_free (PerlInterpreter* sv_interp);
-#endif
-VIRTUAL SV* perl_get_sv (const char* name, I32 create);
-VIRTUAL AV* perl_get_av (const char* name, I32 create);
-VIRTUAL HV* perl_get_hv (const char* name, I32 create);
-VIRTUAL CV* perl_get_cv (const char* name, I32 create);
-VIRTUAL int perl_init_i18nl10n (int printwarn);
-VIRTUAL int perl_init_i18nl14n (int printwarn);
-VIRTUAL void perl_new_collate (const char* newcoll);
-VIRTUAL void perl_new_ctype (const char* newctype);
-VIRTUAL void perl_new_numeric (const char* newcoll);
-VIRTUAL void perl_set_numeric_local (void);
-VIRTUAL void perl_set_numeric_standard (void);
-#ifdef PERL_OBJECT
-VIRTUAL int perl_parse (void(*xsinit)(CPerlObj*), int argc, char** argv, char** env);
-#else
-int perl_parse (PerlInterpreter* sv_interp, void(*xsinit)(void), int argc, char** argv, char** env);
-#endif
-VIRTUAL void perl_require_pv (const char* pv);
-#define perl_requirepv perl_require_pv
-#ifdef PERL_OBJECT
-VIRTUAL int perl_run (void);
-#else
-int perl_run (PerlInterpreter* sv_interp);
-#endif
-VIRTUAL void pidgone (int pid, int status);
-VIRTUAL void pmflag (U16* pmfl, int ch);
-VIRTUAL OP* pmruntime (OP* pm, OP* expr, OP* repl);
-VIRTUAL OP* pmtrans (OP* o, OP* expr, OP* repl);
-VIRTUAL OP* pop_return (void);
-VIRTUAL void pop_scope (void);
-VIRTUAL OP* prepend_elem (I32 optype, OP* head, OP* tail);
-VIRTUAL void push_return (OP* o);
-VIRTUAL void push_scope (void);
-VIRTUAL OP* ref (OP* o, I32 type);
-VIRTUAL OP* refkids (OP* o, I32 type);
-VIRTUAL void regdump (regexp* r);
-VIRTUAL I32 pregexec (regexp* prog, char* stringarg, char* strend, char* strbeg, I32 minend, SV* screamer, U32 nosave);
-VIRTUAL void pregfree (struct regexp* r);
-VIRTUAL regexp* pregcomp (char* exp, char* xend, PMOP* pm);
-VIRTUAL I32 regexec_flags (regexp* prog, char* stringarg, char* strend,
- char* strbeg, I32 minend, SV* screamer,
- void* data, U32 flags);
-VIRTUAL regnode* regnext (regnode* p);
-VIRTUAL void regprop (SV* sv, regnode* o);
-VIRTUAL void repeatcpy (char* to, const char* from, I32 len, I32 count);
-VIRTUAL char* rninstr (const char* big, const char* bigend, const char* little, const char* lend);
-VIRTUAL Sighandler_t rsignal (int i, Sighandler_t t);
-VIRTUAL int rsignal_restore (int i, Sigsave_t* t);
-VIRTUAL int rsignal_save (int i, Sighandler_t t1, Sigsave_t* t2);
-VIRTUAL Sighandler_t rsignal_state (int i);
-VIRTUAL void rxres_free (void** rsp);
-VIRTUAL void rxres_restore (void** rsp, REGEXP* prx);
-VIRTUAL void rxres_save (void** rsp, REGEXP* prx);
-#ifndef HAS_RENAME
-VIRTUAL I32 same_dirent (char* a, char* b);
-#endif
-VIRTUAL char* savepv (const char* sv);
-VIRTUAL char* savepvn (const char* sv, I32 len);
-VIRTUAL void savestack_grow (void);
-VIRTUAL void save_aelem (AV* av, I32 idx, SV **sptr);
-VIRTUAL I32 save_alloc (I32 size, I32 pad);
-VIRTUAL void save_aptr (AV** aptr);
-VIRTUAL AV* save_ary (GV* gv);
-VIRTUAL void save_clearsv (SV** svp);
-VIRTUAL void save_delete (HV* hv, char* key, I32 klen);
-#ifndef titan /* TitanOS cc can't handle this */
-#ifdef PERL_OBJECT
-typedef void (CPerlObj::*DESTRUCTORFUNC) (void*);
-VIRTUAL void save_destructor (DESTRUCTORFUNC f, void* p);
-#else
-void save_destructor (void (*f)(void*), void* p);
-#endif
-#endif /* titan */
-VIRTUAL void save_freesv (SV* sv);
-VIRTUAL void save_freeop (OP* o);
-VIRTUAL void save_freepv (char* pv);
-VIRTUAL void save_generic_svref (SV** sptr);
-VIRTUAL void save_gp (GV* gv, I32 empty);
-VIRTUAL HV* save_hash (GV* gv);
-VIRTUAL void save_helem (HV* hv, SV *key, SV **sptr);
-VIRTUAL void save_hints (void);
-VIRTUAL void save_hptr (HV** hptr);
-VIRTUAL void save_I16 (I16* intp);
-VIRTUAL void save_I32 (I32* intp);
-VIRTUAL void save_int (int* intp);
-VIRTUAL void save_item (SV* item);
-VIRTUAL void save_iv (IV* iv);
-VIRTUAL void save_list (SV** sarg, I32 maxsarg);
-VIRTUAL void save_long (long* longp);
-VIRTUAL void save_nogv (GV* gv);
-VIRTUAL void save_op (void);
-VIRTUAL SV* save_scalar (GV* gv);
-VIRTUAL void save_pptr (char** pptr);
-VIRTUAL void save_re_context (void);
-VIRTUAL void save_sptr (SV** sptr);
-VIRTUAL SV* save_svref (SV** sptr);
-VIRTUAL SV** save_threadsv (PADOFFSET i);
-VIRTUAL OP* sawparens (OP* o);
-VIRTUAL OP* scalar (OP* o);
-VIRTUAL OP* scalarkids (OP* o);
-VIRTUAL OP* scalarseq (OP* o);
-VIRTUAL OP* scalarvoid (OP* o);
-VIRTUAL UV scan_bin (char* start, I32 len, I32* retlen);
-VIRTUAL UV scan_hex (char* start, I32 len, I32* retlen);
-VIRTUAL char* scan_num (char* s);
-VIRTUAL UV scan_oct (char* start, I32 len, I32* retlen);
-VIRTUAL OP* scope (OP* o);
-VIRTUAL char* screaminstr (SV* bigsv, SV* littlesv, I32 start_shift, I32 end_shift, I32 *state, I32 last);
-#ifndef VMS
-VIRTUAL I32 setenv_getix (char* nam);
-#endif
-VIRTUAL void setdefout (GV* gv);
-VIRTUAL char* sharepvn (const char* sv, I32 len, U32 hash);
-VIRTUAL HEK* share_hek (const char* sv, I32 len, U32 hash);
-VIRTUAL Signal_t sighandler (int sig);
-VIRTUAL SV** stack_grow (SV** sp, SV**p, int n);
-VIRTUAL I32 start_subparse (I32 is_format, U32 flags);
-VIRTUAL void sub_crush_depth (CV* cv);
-VIRTUAL bool sv_2bool (SV* sv);
-VIRTUAL CV* sv_2cv (SV* sv, HV** st, GV** gvp, I32 lref);
-VIRTUAL IO* sv_2io (SV* sv);
-VIRTUAL IV sv_2iv (SV* sv);
-VIRTUAL SV* sv_2mortal (SV* sv);
-VIRTUAL double sv_2nv (SV* sv);
-VIRTUAL char* sv_2pv (SV* sv, STRLEN* lp);
-VIRTUAL UV sv_2uv (SV* sv);
-VIRTUAL IV sv_iv (SV* sv);
-VIRTUAL UV sv_uv (SV* sv);
-VIRTUAL double sv_nv (SV* sv);
-VIRTUAL char * sv_pvn (SV *sv, STRLEN *len);
-VIRTUAL I32 sv_true (SV *sv);
-VIRTUAL void sv_add_arena (char* ptr, U32 size, U32 flags);
-VIRTUAL int sv_backoff (SV* sv);
-VIRTUAL SV* sv_bless (SV* sv, HV* stash);
-VIRTUAL void sv_catpvf (SV* sv, const char* pat, ...);
-VIRTUAL void sv_catpv (SV* sv, const char* ptr);
-VIRTUAL void sv_catpvn (SV* sv, const char* ptr, STRLEN len);
-VIRTUAL void sv_catsv (SV* dsv, SV* ssv);
-VIRTUAL void sv_chop (SV* sv, char* ptr);
-VIRTUAL void sv_clean_all (void);
-VIRTUAL void sv_clean_objs (void);
-VIRTUAL void sv_clear (SV* sv);
-VIRTUAL I32 sv_cmp (SV* sv1, SV* sv2);
-VIRTUAL I32 sv_cmp_locale (SV* sv1, SV* sv2);
-#ifdef USE_LOCALE_COLLATE
-VIRTUAL char* sv_collxfrm (SV* sv, STRLEN* nxp);
-#endif
-VIRTUAL OP* sv_compile_2op (SV* sv, OP** startp, char* code, AV** avp);
-VIRTUAL void sv_dec (SV* sv);
-VIRTUAL void sv_dump (SV* sv);
-VIRTUAL bool sv_derived_from (SV* sv, const char* name);
-VIRTUAL I32 sv_eq (SV* sv1, SV* sv2);
-VIRTUAL void sv_free (SV* sv);
-VIRTUAL void sv_free_arenas (void);
-VIRTUAL char* sv_gets (SV* sv, PerlIO* fp, I32 append);
-VIRTUAL char* sv_grow (SV* sv, STRLEN newlen);
-VIRTUAL void sv_inc (SV* sv);
-VIRTUAL void sv_insert (SV* bigsv, STRLEN offset, STRLEN len, char* little, STRLEN littlelen);
-VIRTUAL int sv_isa (SV* sv, const char* name);
-VIRTUAL int sv_isobject (SV* sv);
-VIRTUAL STRLEN sv_len (SV* sv);
-VIRTUAL STRLEN sv_len_utf8 (SV* sv);
-VIRTUAL void sv_magic (SV* sv, SV* obj, int how, const char* name, I32 namlen);
-VIRTUAL SV* sv_mortalcopy (SV* oldsv);
-VIRTUAL SV* sv_newmortal (void);
-VIRTUAL SV* sv_newref (SV* sv);
-VIRTUAL char* sv_peek (SV* sv);
-VIRTUAL void sv_pos_u2b (SV* sv, I32* offsetp, I32* lenp);
-VIRTUAL void sv_pos_b2u (SV* sv, I32* offsetp);
-VIRTUAL char* sv_pvn_force (SV* sv, STRLEN* lp);
-VIRTUAL char* sv_reftype (SV* sv, int ob);
-VIRTUAL void sv_replace (SV* sv, SV* nsv);
-VIRTUAL void sv_report_used (void);
-VIRTUAL void sv_reset (char* s, HV* stash);
-VIRTUAL void sv_setpvf (SV* sv, const char* pat, ...);
-VIRTUAL void sv_setiv (SV* sv, IV num);
-VIRTUAL void sv_setpviv (SV* sv, IV num);
-VIRTUAL void sv_setuv (SV* sv, UV num);
-VIRTUAL void sv_setnv (SV* sv, double num);
-VIRTUAL SV* sv_setref_iv (SV* rv, const char* classname, IV iv);
-VIRTUAL SV* sv_setref_nv (SV* rv, const char* classname, double nv);
-VIRTUAL SV* sv_setref_pv (SV* rv, const char* classname, void* pv);
-VIRTUAL SV* sv_setref_pvn (SV* rv, const char* classname, char* pv, STRLEN n);
-VIRTUAL void sv_setpv (SV* sv, const char* ptr);
-VIRTUAL void sv_setpvn (SV* sv, const char* ptr, STRLEN len);
-VIRTUAL void sv_setsv (SV* dsv, SV* ssv);
-VIRTUAL void sv_taint (SV* sv);
-VIRTUAL bool sv_tainted (SV* sv);
-VIRTUAL int sv_unmagic (SV* sv, int type);
-VIRTUAL void sv_unref (SV* sv);
-VIRTUAL void sv_untaint (SV* sv);
-VIRTUAL bool sv_upgrade (SV* sv, U32 mt);
-VIRTUAL void sv_usepvn (SV* sv, char* ptr, STRLEN len);
-VIRTUAL void sv_vcatpvfn (SV* sv, const char* pat, STRLEN patlen,
- va_list* args, SV** svargs, I32 svmax,
- bool *used_locale);
-VIRTUAL void sv_vsetpvfn (SV* sv, const char* pat, STRLEN patlen,
- va_list* args, SV** svargs, I32 svmax,
- bool *used_locale);
-VIRTUAL SV* swash_init (char* pkg, char* name, SV* listsv, I32 minbits, I32 none);
-VIRTUAL UV swash_fetch (SV *sv, U8 *ptr);
-VIRTUAL void taint_env (void);
-VIRTUAL void taint_proper (const char* f, char* s);
-VIRTUAL UV to_utf8_lower (U8 *p);
-VIRTUAL UV to_utf8_upper (U8 *p);
-VIRTUAL UV to_utf8_title (U8 *p);
-#ifdef UNLINK_ALL_VERSIONS
-VIRTUAL I32 unlnk (char* f);
-#endif
-#ifdef USE_THREADS
-VIRTUAL void unlock_condpair (void* svv);
-#endif
-VIRTUAL void unsharepvn (const char* sv, I32 len, U32 hash);
-VIRTUAL void unshare_hek (HEK* hek);
-VIRTUAL void utilize (int aver, I32 floor, OP* version, OP* id, OP* arg);
-VIRTUAL U8* utf16_to_utf8 (U16* p, U8 *d, I32 bytelen);
-VIRTUAL U8* utf16_to_utf8_reversed (U16* p, U8 *d, I32 bytelen);
-VIRTUAL I32 utf8_distance (U8 *a, U8 *b);
-VIRTUAL U8* utf8_hop (U8 *s, I32 off);
-VIRTUAL UV utf8_to_uv (U8 *s, I32* retlen);
-VIRTUAL U8* uv_to_utf8 (U8 *d, UV uv);
-VIRTUAL void vivify_defelem (SV* sv);
-VIRTUAL void vivify_ref (SV* sv, U32 to_what);
-VIRTUAL I32 wait4pid (int pid, int* statusp, int flags);
-VIRTUAL void warn (const char* pat,...);
-VIRTUAL void warner (U32 err, const char* pat,...);
-VIRTUAL void watch (char** addr);
-VIRTUAL I32 whichsig (char* sig);
-VIRTUAL int yyerror (char* s);
-#ifdef USE_PURE_BISON
-# define PERL_YYLEX_PARAM_DECL YYSTYPE *lvalp, int *lcharp
-#else
-# define PERL_YYLEX_PARAM_DECL void
-#endif
-VIRTUAL int yylex (PERL_YYLEX_PARAM_DECL);
-VIRTUAL int yyparse (void);
-VIRTUAL int yywarn (char* s);
-
-VIRTUAL Malloc_t safesysmalloc (MEM_SIZE nbytes);
-VIRTUAL Malloc_t safesyscalloc (MEM_SIZE elements, MEM_SIZE size);
-VIRTUAL Malloc_t safesysrealloc (Malloc_t where, MEM_SIZE nbytes);
-VIRTUAL Free_t safesysfree (Malloc_t where);
-
-#ifdef LEAKTEST
-VIRTUAL Malloc_t safexmalloc (I32 x, MEM_SIZE size);
-VIRTUAL Malloc_t safexcalloc (I32 x, MEM_SIZE elements, MEM_SIZE size);
-VIRTUAL Malloc_t safexrealloc (Malloc_t where, MEM_SIZE size);
-VIRTUAL void safexfree (Malloc_t where);
-#endif
-
-#ifdef PERL_GLOBAL_STRUCT
-VIRTUAL struct perl_vars *Perl_GetVars (void);
-#endif
-
-#ifdef PERL_OBJECT
-protected:
-void hsplit (HV *hv);
-void hfreeentries (HV *hv);
-void more_he (void);
-HE* new_he (void);
-void del_he (HE *p);
-HEK *save_hek (const char *str, I32 len, U32 hash);
-SV *mess_alloc (void);
-void gv_init_sv (GV *gv, I32 sv_type);
-SV *save_scalar_at (SV **sptr);
-IV asIV (SV* sv);
-UV asUV (SV* sv);
-SV *more_sv (void);
-void more_xiv (void);
-void more_xnv (void);
-void more_xpv (void);
-void more_xrv (void);
-XPVIV *new_xiv (void);
-XPVNV *new_xnv (void);
-XPV *new_xpv (void);
-XRV *new_xrv (void);
-void del_xiv (XPVIV* p);
-void del_xnv (XPVNV* p);
-void del_xpv (XPV* p);
-void del_xrv (XRV* p);
-void sv_unglob (SV* sv);
-I32 avhv_index_sv (SV* sv);
-
-void do_report_used (SV *sv);
-void do_clean_objs (SV *sv);
-void do_clean_named_objs (SV *sv);
-void do_clean_all (SV *sv);
-void not_a_number (SV *sv);
-void* my_safemalloc (MEM_SIZE size);
-
-typedef void (CPerlObj::*SVFUNC) (SV*);
-void visit (SVFUNC f);
-
-typedef I32 (CPerlObj::*SVCOMPARE) (SV*, SV*);
-void qsortsv (SV ** array, size_t num_elts, SVCOMPARE f);
-I32 sortcv (SV *a, SV *b);
-void save_magic (I32 mgs_ix, SV *sv);
-int magic_methpack (SV *sv, MAGIC *mg, char *meth);
-int magic_methcall (SV *sv, MAGIC *mg, char *meth, I32 f, int n, SV *val);
-int magic_methcall (MAGIC *mg, char *meth, I32 flags, int n, SV *val);
-OP * doform (CV *cv, GV *gv, OP *retop);
-void doencodes (SV* sv, char* s, I32 len);
-SV* refto (SV* sv);
-U32 seed (void);
-OP *docatch (OP *o);
-void *docatch_body (va_list args);
-void *perl_parse_body (va_list args);
-void *perl_run_body (va_list args);
-void *perl_call_body (va_list args);
-void perl_call_xbody (OP *myop, int is_eval);
-void *call_list_body (va_list args);
-OP *dofindlabel (OP *o, char *label, OP **opstack, OP **oplimit);
-void doparseform (SV *sv);
-I32 dopoptoeval (I32 startingblock);
-I32 dopoptolabel (char *label);
-I32 dopoptoloop (I32 startingblock);
-I32 dopoptosub (I32 startingblock);
-I32 dopoptosub_at (PERL_CONTEXT* cxstk, I32 startingblock);
-void free_closures (void);
-void save_lines (AV *array, SV *sv);
-OP *doeval (int gimme, OP** startop);
-PerlIO *doopen_pmc (const char *name, const char *mode);
-I32 sv_ncmp (SV *a, SV *b);
-I32 sv_i_ncmp (SV *a, SV *b);
-I32 amagic_ncmp (SV *a, SV *b);
-I32 amagic_i_ncmp (SV *a, SV *b);
-I32 amagic_cmp (SV *str1, SV *str2);
-I32 amagic_cmp_locale (SV *str1, SV *str2);
-
-SV *mul128 (SV *sv, U8 m);
-SV *is_an_int (char *s, STRLEN l);
-int div128 (SV *pnum, bool *done);
-void check_uni (void);
-void force_next (I32 type);
-char *force_version (char *start);
-char *force_word (char *start, int token, int check_keyword, int allow_pack, int allow_tick);
-SV *tokeq (SV *sv);
-char *scan_const (char *start);
-char *scan_formline (char *s);
-char *scan_heredoc (char *s);
-char *scan_ident (char *s, char *send, char *dest, STRLEN destlen, I32 ck_uni);
-char *scan_inputsymbol (char *start);
-char *scan_pat (char *start, I32 type);
-char *scan_str (char *start);
-char *scan_subst (char *start);
-char *scan_trans (char *start);
-char *scan_word (char *s, char *dest, STRLEN destlen, int allow_package, STRLEN *slp);
-char *skipspace (char *s);
-void checkcomma (char *s, char *name, char *what);
-void force_ident (char *s, int kind);
-void incline (char *s);
-int intuit_method (char *s, GV *gv);
-int intuit_more (char *s);
-I32 lop (I32 f, expectation x, char *s);
-void missingterm (char *s);
-void no_op (char *what, char *s);
-void set_csh (void);
-I32 sublex_done (void);
-I32 sublex_push (void);
-I32 sublex_start (void);
-#ifdef CRIPPLED_CC
-int uni (I32 f, char *s);
-#endif
-char * filter_gets (SV *sv, PerlIO *fp, STRLEN append);
-SV *new_constant (char *s, STRLEN len, char *key, SV *sv, SV *pv, char *type);
-int ao (int toketype);
-void depcom (void);
-#ifdef WIN32
-I32 win32_textfilter (int idx, SV *sv, int maxlen);
-#endif
-char* incl_perldb (void);
-SV *isa_lookup (HV *stash, const char *name, int len, int level);
-CV *get_db_sub (SV **svp, CV *cv);
-I32 list_assignment (OP *o);
-void bad_type (I32 n, char *t, char *name, OP *kid);
-OP *modkids (OP *o, I32 type);
-void no_bareword_allowed (OP *o);
-OP *no_fh_allowed (OP *o);
-OP *scalarboolean (OP *o);
-OP *too_few_arguments (OP *o, char* name);
-OP *too_many_arguments (OP *o, char* name);
-void null (OP* o);
-PADOFFSET pad_findlex (char* name, PADOFFSET newoff, U32 seq, CV* startcv, I32 cx_ix, I32 saweval, U32 flags);
-OP *newDEFSVOP (void);
-char* gv_ename (GV *gv);
-CV *cv_clone2 (CV *proto, CV *outside);
-
-void find_beginning (void);
-void forbid_setid (char *);
-void incpush (char *, int);
-void init_interp (void);
-void init_ids (void);
-void init_debugger (void);
-void init_lexer (void);
-void init_main_stash (void);
-#ifdef USE_THREADS
-struct perl_thread * init_main_thread (void);
-#endif /* USE_THREADS */
-void init_perllib (void);
-void init_postdump_symbols (int, char **, char **);
-void init_predump_symbols (void);
-void my_exit_jump (void) __attribute__((noreturn));
-void nuke_stacks (void);
-void open_script (char *, bool, SV *, int *fd);
-void usage (char *);
-void validate_suid (char *, char*, int);
-int emulate_eaccess (const char* path, int mode);
-
-regnode *reg (I32, I32 *);
-regnode *reganode (U8, U32);
-regnode *regatom (I32 *);
-regnode *regbranch (I32 *, I32);
-void regc (U8, char *);
-void reguni (UV, char *, I32*);
-regnode *regclass (void);
-regnode *regclassutf8 (void);
-I32 regcurly (char *);
-regnode *reg_node (U8);
-regnode *regpiece (I32 *);
-void reginsert (U8, regnode *);
-void regoptail (regnode *, regnode *);
-void regset (char *, I32);
-void regtail (regnode *, regnode *);
-char* regwhite (char *, char *);
-char* nextchar (void);
-regnode *dumpuntil (regnode *start, regnode *node, regnode *last, SV* sv, I32 l);
-void scan_commit (scan_data_t *data);
-I32 study_chunk (regnode **scanp, I32 *deltap, regnode *last, scan_data_t *data, U32 flags);
-I32 add_data (I32 n, char *s);
-void re_croak2 (const char* pat1,const char* pat2,...) __attribute__((noreturn));
-char* regpposixcc (I32 value);
-void clear_re (void *r);
-I32 regmatch (regnode *prog);
-I32 regrepeat (regnode *p, I32 max);
-I32 regrepeat_hard (regnode *p, I32 max, I32 *lp);
-I32 regtry (regexp *prog, char *startpos);
-bool reginclass (char *p, I32 c);
-bool reginclassutf8 (regnode *f, U8* p);
-CHECKPOINT regcppush (I32 parenfloor);
-char * regcppop (void);
-char * regcp_set_to (I32 ss);
-void cache_re (regexp *prog);
-void restore_pos (void *arg);
-U8 * reghop (U8 *pos, I32 off);
-U8 * reghopmaybe (U8 *pos, I32 off);
-void dump (char *pat,...);
-#ifdef WIN32
-int do_aspawn (void *vreally, void **vmark, void **vsp);
-#endif
-
-#ifdef DEBUGGING
-void del_sv (SV *p);
-#endif
-void debprof (OP *o);
-
-OP *new_logop (I32 type, I32 flags, OP **firstp, OP **otherp);
-void simplify_sort (OP *o);
-bool is_handle_constructor (OP *o, I32 argnum);
-void sv_add_backref (SV *tsv, SV *sv);
-void sv_del_backref (SV *sv);
-
-I32 do_trans_CC_simple (SV *sv);
-I32 do_trans_CC_count (SV *sv);
-I32 do_trans_CC_complex (SV *sv);
-I32 do_trans_UU_simple (SV *sv);
-I32 do_trans_UU_count (SV *sv);
-I32 do_trans_UU_complex (SV *sv);
-I32 do_trans_UC_simple (SV *sv);
-I32 do_trans_CU_simple (SV *sv);
-I32 do_trans_UC_trivial (SV *sv);
-I32 do_trans_CU_trivial (SV *sv);
-
-#undef PERL_CKDEF
-#undef PERL_PPDEF
-#define PERL_CKDEF(s) OP* s (OP *o);
-#define PERL_PPDEF(s) OP* s (ARGSproto);
-public:
-
-#include "pp_proto.h"
-
-void unwind_handler_stack (void *p);
-void restore_magic (void *p);
-void restore_rsfp (void *f);
-void restore_expect (void *e);
-void restore_lex_expect (void *e);
-VIRTUAL void yydestruct (void *ptr);
-VIRTUAL int fprintf (PerlIO *pf, const char *pat, ...);
-VIRTUAL int runops_standard (void);
-VIRTUAL int runops_debug (void);
-
-#ifdef WIN32
-VIRTUAL int& ErrorNo (void);
-#endif /* WIN32 */
-#else /* !PERL_OBJECT */
-END_EXTERN_C
-#endif /* PERL_OBJECT */
-
-VIRTUAL void sv_catpvf_mg (SV *sv, const char* pat, ...);
-VIRTUAL void sv_catpv_mg (SV *sv, const char *ptr);
-VIRTUAL void sv_catpvn_mg (SV *sv, const char *ptr, STRLEN len);
-VIRTUAL void sv_catsv_mg (SV *dstr, SV *sstr);
-VIRTUAL void sv_setpvf_mg (SV *sv, const char* pat, ...);
-VIRTUAL void sv_setiv_mg (SV *sv, IV i);
-VIRTUAL void sv_setpviv_mg (SV *sv, IV iv);
-VIRTUAL void sv_setuv_mg (SV *sv, UV u);
-VIRTUAL void sv_setnv_mg (SV *sv, double num);
-VIRTUAL void sv_setpv_mg (SV *sv, const char *ptr);
-VIRTUAL void sv_setpvn_mg (SV *sv, const char *ptr, STRLEN len);
-VIRTUAL void sv_setsv_mg (SV *dstr, SV *sstr);
-VIRTUAL void sv_usepvn_mg (SV *sv, char *ptr, STRLEN len);
-
-VIRTUAL MGVTBL* get_vtbl (int vtbl_id);
-
-/* New virtual functions must be added here to maintain binary
- * compatablity with PERL_OBJECT
- */
-
-VIRTUAL char* pv_display (SV *sv, char *pv, STRLEN cur, STRLEN len, STRLEN pvlim);
-VIRTUAL void dump_indent (I32 level, PerlIO *file, const char* pat, ...);
-
-VIRTUAL void do_gv_dump (I32 level, PerlIO *file, char *name, GV *sv);
-VIRTUAL void do_gvgv_dump (I32 level, PerlIO *file, char *name, GV *sv);
-VIRTUAL void do_hv_dump (I32 level, PerlIO *file, char *name, HV *sv);
-VIRTUAL void do_magic_dump (I32 level, PerlIO *file, MAGIC *mg, I32 nest, I32 maxnest, bool dumpops, STRLEN pvlim);
-VIRTUAL void do_op_dump (I32 level, PerlIO *file, OP *o);
-VIRTUAL void do_pmop_dump (I32 level, PerlIO *file, PMOP *pm);
-VIRTUAL void do_sv_dump (I32 level, PerlIO *file, SV *sv, I32 nest, I32 maxnest, bool dumpops, STRLEN pvlim);
-VIRTUAL void magic_dump (MAGIC *mg);
-VIRTUAL void* default_protect (int *excpt, protect_body_t body, ...);
-VIRTUAL void reginitcolors (void);
-VIRTUAL char* sv_2pv_nolen (SV* sv);
-VIRTUAL char* sv_pv (SV *sv);
-VIRTUAL void sv_force_normal (SV *sv);
-VIRTUAL void tmps_grow (I32 n);
-VIRTUAL void *bset_obj_store (void *obj, I32 ix);
-
-VIRTUAL SV* sv_rvweaken (SV *sv);
-VIRTUAL int magic_killbackrefs (SV *sv, MAGIC *mg);
+void* Perl_my_memset(pTHX_ char* loc, I32 ch, I32 len);
+#endif
+#if defined(MYSWAP)
+long Perl_my_ntohl(pTHX_ long l);
+#endif
+#if !defined(PERL_OBJECT)
+I32 Perl_my_pclose(pTHX_ PerlIO* ptr);
+#endif
+#if !defined(PERL_OBJECT)
+PerlIO* Perl_my_popen(pTHX_ char* cmd, char* mode);
+#endif
+void Perl_my_setenv(pTHX_ char* nam, char* val);
+I32 Perl_my_stat(pTHX_ ARGSproto);
+#if defined(MYSWAP)
+short Perl_my_swap(pTHX_ short s);
+#endif
+void Perl_my_unexec(pTHX);
+OP* Perl_newANONHASH(pTHX_ OP* o);
+OP* Perl_newANONLIST(pTHX_ OP* o);
+OP* Perl_newANONSUB(pTHX_ I32 floor, OP* proto, OP* block);
+OP* Perl_newASSIGNOP(pTHX_ I32 flags, OP* left, I32 optype, OP* right);
+AV* Perl_newAV(pTHX);
+OP* Perl_newAVREF(pTHX_ OP* o);
+OP* Perl_newBINOP(pTHX_ I32 type, I32 flags, OP* first, OP* last);
+OP* Perl_newCONDOP(pTHX_ I32 flags, OP* expr, OP* trueop, OP* falseop);
+void Perl_newCONSTSUB(pTHX_ HV* stash, char* name, SV* sv);
+OP* Perl_newCVREF(pTHX_ I32 flags, OP* o);
+void Perl_newFORM(pTHX_ I32 floor, OP* o, OP* block);
+OP* Perl_newFOROP(pTHX_ I32 flags, char* label, line_t forline, OP* sclr, OP* expr, OP*block, OP*cont);
+OP* Perl_newGVOP(pTHX_ I32 type, I32 flags, GV* gv);
+OP* Perl_newGVREF(pTHX_ I32 type, OP* o);
+GV* Perl_newGVgen(pTHX_ char* pack);
+HV* Perl_newHV(pTHX);
+OP* Perl_newHVREF(pTHX_ OP* o);
+HV* Perl_newHVhv(pTHX_ HV* hv);
+IO* Perl_newIO(pTHX);
+OP* Perl_newLISTOP(pTHX_ I32 type, I32 flags, OP* first, OP* last);
+OP* Perl_newLOGOP(pTHX_ I32 optype, I32 flags, OP* left, OP* right);
+OP* Perl_newLOOPEX(pTHX_ I32 type, OP* label);
+OP* Perl_newLOOPOP(pTHX_ I32 flags, I32 debuggable, OP* expr, OP* block);
+OP* Perl_newNULLLIST(pTHX);
+OP* Perl_newOP(pTHX_ I32 optype, I32 flags);
+OP* Perl_newPMOP(pTHX_ I32 type, I32 flags);
+void Perl_newPROG(pTHX_ OP* o);
+OP* Perl_newPVOP(pTHX_ I32 type, I32 flags, char* pv);
+OP* Perl_newRANGE(pTHX_ I32 flags, OP* left, OP* right);
+SV* Perl_newRV(pTHX_ SV* pref);
+SV* Perl_newRV_noinc(pTHX_ SV *sv);
+OP* Perl_newSLICEOP(pTHX_ I32 flags, OP* subscript, OP* listop);
+OP* Perl_newSTATEOP(pTHX_ I32 flags, char* label, OP* o);
+CV* Perl_newSUB(pTHX_ I32 floor, OP* o, OP* proto, OP* block);
+SV* Perl_newSV(pTHX_ STRLEN len);
+OP* Perl_newSVOP(pTHX_ I32 type, I32 flags, SV* sv);
+OP* Perl_newSVREF(pTHX_ OP* o);
+SV* Perl_newSViv(pTHX_ IV i);
+SV* Perl_newSVnv(pTHX_ double n);
+SV* Perl_newSVpv(pTHX_ const char* s, STRLEN len);
+SV* Perl_newSVpvf(pTHX_ const char* pat, ...);
+SV* Perl_newSVpvn(pTHX_ const char* s, STRLEN len);
+SV* Perl_newSVrv(pTHX_ SV* rv, const char* classname);
+SV* Perl_newSVsv(pTHX_ SV* old);
+OP* Perl_newUNOP(pTHX_ I32 type, I32 flags, OP* first);
+OP* Perl_newWHILEOP(pTHX_ I32 flags, I32 debuggable, LOOP* loop, I32 whileline, OP* expr, OP* block, OP* cont);
+CV* Perl_newXS(pTHX_ char* name, XSUBADDR_t f, char* filename);
+void Perl_new_collate(pTHX_ const char* newcoll);
+void Perl_new_ctype(pTHX_ const char* newctype);
+void Perl_new_numeric(pTHX_ const char* newcoll);
+PERL_SI* Perl_new_stackinfo(pTHX_ I32 stitems, I32 cxitems);
+#if defined(USE_THREADS)
+struct perl_thread* Perl_new_struct_thread(pTHX_ struct perl_thread *t);
+#endif
+PerlIO* Perl_nextargv(pTHX_ GV* gv);
+char* Perl_ninstr(pTHX_ const char* big, const char* bigend, const char* little, const char* lend);
+OP* Perl_oopsAV(pTHX_ OP* o);
+OP* Perl_oopsCV(pTHX_ OP* o);
+OP* Perl_oopsHV(pTHX_ OP* o);
+SV* Perl_op_const_sv(pTHX_ OP* o, CV* cv);
+void Perl_op_dump(pTHX_ OP* arg);
+void Perl_op_free(pTHX_ OP* arg);
+void Perl_package(pTHX_ OP* o);
+PADOFFSET Perl_pad_alloc(pTHX_ I32 optype, U32 tmptype);
+PADOFFSET Perl_pad_allocmy(pTHX_ char* name);
+PADOFFSET Perl_pad_findmy(pTHX_ char* name);
+void Perl_pad_free(pTHX_ PADOFFSET po);
+void Perl_pad_leavemy(pTHX_ I32 fill);
+void Perl_pad_reset(pTHX);
+SV* Perl_pad_sv(pTHX_ PADOFFSET po);
+void Perl_pad_swipe(pTHX_ PADOFFSET po);
+void Perl_peep(pTHX_ OP* o);
+#if !defined(PERL_OBJECT)
+PerlInterpreter* perl_alloc(void);
+#endif
+void perl_construct(PerlInterpreter* sv_interp);
+void perl_destruct(PerlInterpreter* sv_interp);
+void perl_free(PerlInterpreter* sv_interp);
+int perl_parse(PerlInterpreter* sv_interp, XSINIT_t xsinit, int argc, char** argv, char** env);
+int perl_run(PerlInterpreter* sv_interp);
+void Perl_pidgone(pTHX_ int pid, int status);
+void Perl_pmflag(pTHX_ U16* pmfl, int ch);
+void Perl_pmop_dump(pTHX_ PMOP* pm);
+OP* Perl_pmruntime(pTHX_ OP* pm, OP* expr, OP* repl);
+OP* Perl_pmtrans(pTHX_ OP* o, OP* expr, OP* repl);
+OP* Perl_pop_return(pTHX);
+void Perl_pop_scope(pTHX);
+regexp* Perl_pregcomp(pTHX_ char* exp, char* xend, PMOP* pm);
+I32 Perl_pregexec(pTHX_ regexp* prog, char* stringarg, char* strend, char* strbeg, I32 minend, SV* screamer, U32 nosave);
+void Perl_pregfree(pTHX_ struct regexp* r);
+OP* Perl_prepend_elem(pTHX_ I32 optype, OP* head, OP* tail);
+void Perl_push_return(pTHX_ OP* o);
+void Perl_push_scope(pTHX);
+char* Perl_pv_display(pTHX_ SV *sv, char *pv, STRLEN cur, STRLEN len, STRLEN pvlim);
+#if defined(MYMALLOC)
+Malloc_t Perl_realloc(pTHX_ Malloc_t where, MEM_SIZE nbytes);
+#endif
+OP* Perl_ref(pTHX_ OP* o, I32 type);
+OP* Perl_refkids(pTHX_ OP* o, I32 type);
+void Perl_regdump(pTHX_ regexp* r);
+I32 Perl_regexec_flags(pTHX_ regexp* prog, char* stringarg, char* strend, char* strbeg, I32 minend, SV* screamer, void* data, U32 flags);
+void Perl_reginitcolors(pTHX);
+regnode* Perl_regnext(pTHX_ regnode* p);
+void Perl_regprop(pTHX_ SV* sv, regnode* o);
+void Perl_repeatcpy(pTHX_ char* to, const char* from, I32 len, I32 count);
+void Perl_require_pv(pTHX_ const char* pv);
+char* Perl_rninstr(pTHX_ const char* big, const char* bigend, const char* little, const char* lend);
+Sighandler_t Perl_rsignal(pTHX_ int i, Sighandler_t t);
+int Perl_rsignal_restore(pTHX_ int i, Sigsave_t* t);
+int Perl_rsignal_save(pTHX_ int i, Sighandler_t t1, Sigsave_t* t2);
+Sighandler_t Perl_rsignal_state(pTHX_ int i);
+int Perl_runops_debug(pTHX);
+int Perl_runops_standard(pTHX);
+void Perl_rxres_free(pTHX_ void** rsp);
+void Perl_rxres_restore(pTHX_ void** rsp, REGEXP* prx);
+void Perl_rxres_save(pTHX_ void** rsp, REGEXP* prx);
+Malloc_t Perl_safesyscalloc(pTHX_ MEM_SIZE elements, MEM_SIZE size);
+Free_t Perl_safesysfree(pTHX_ Malloc_t where);
+Malloc_t Perl_safesysmalloc(pTHX_ MEM_SIZE nbytes);
+Malloc_t Perl_safesysrealloc(pTHX_ Malloc_t where, MEM_SIZE nbytes);
+#if defined(LEAKTEST)
+Malloc_t Perl_safexcalloc(pTHX_ I32 x, MEM_SIZE elements, MEM_SIZE size);
+#endif
+#if defined(LEAKTEST)
+void Perl_safexfree(pTHX_ Malloc_t where);
+#endif
+#if defined(LEAKTEST)
+Malloc_t Perl_safexmalloc(pTHX_ I32 x, MEM_SIZE size);
+#endif
+#if defined(LEAKTEST)
+Malloc_t Perl_safexrealloc(pTHX_ Malloc_t where, MEM_SIZE size);
+#endif
+#if !defined(HAS_RENAME)
+I32 Perl_same_dirent(pTHX_ char* a, char* b);
+#endif
+void Perl_save_I16(pTHX_ I16* intp);
+void Perl_save_I32(pTHX_ I32* intp);
+void Perl_save_aelem(pTHX_ AV* av, I32 idx, SV **sptr);
+I32 Perl_save_alloc(pTHX_ I32 size, I32 pad);
+void Perl_save_aptr(pTHX_ AV** aptr);
+AV* Perl_save_ary(pTHX_ GV* gv);
+void Perl_save_clearsv(pTHX_ SV** svp);
+void Perl_save_delete(pTHX_ HV* hv, char* key, I32 klen);
+void Perl_save_destructor(pTHX_ DESTRUCTORFUNC_t f, void* p);
+void Perl_save_freeop(pTHX_ OP* o);
+void Perl_save_freepv(pTHX_ char* pv);
+void Perl_save_freesv(pTHX_ SV* sv);
+void Perl_save_generic_svref(pTHX_ SV** sptr);
+void Perl_save_gp(pTHX_ GV* gv, I32 empty);
+HV* Perl_save_hash(pTHX_ GV* gv);
+void Perl_save_helem(pTHX_ HV* hv, SV *key, SV **sptr);
+void Perl_save_hints(pTHX);
+void Perl_save_hptr(pTHX_ HV** hptr);
+void Perl_save_int(pTHX_ int* intp);
+void Perl_save_item(pTHX_ SV* item);
+void Perl_save_iv(pTHX_ IV* iv);
+void Perl_save_list(pTHX_ SV** sarg, I32 maxsarg);
+void Perl_save_long(pTHX_ long* longp);
+void Perl_save_nogv(pTHX_ GV* gv);
+void Perl_save_op(pTHX);
+void Perl_save_pptr(pTHX_ char** pptr);
+void Perl_save_re_context(pTHX);
+SV* Perl_save_scalar(pTHX_ GV* gv);
+void Perl_save_sptr(pTHX_ SV** sptr);
+SV* Perl_save_svref(pTHX_ SV** sptr);
+SV** Perl_save_threadsv(pTHX_ PADOFFSET i);
+char* Perl_savepv(pTHX_ const char* sv);
+char* Perl_savepvn(pTHX_ const char* sv, I32 len);
+void Perl_savestack_grow(pTHX);
+OP* Perl_sawparens(pTHX_ OP* o);
+OP* Perl_scalar(pTHX_ OP* o);
+OP* Perl_scalarkids(pTHX_ OP* o);
+OP* Perl_scalarseq(pTHX_ OP* o);
+OP* Perl_scalarvoid(pTHX_ OP* o);
+UV Perl_scan_bin(pTHX_ char* start, I32 len, I32* retlen);
+UV Perl_scan_hex(pTHX_ char* start, I32 len, I32* retlen);
+char* Perl_scan_num(pTHX_ char* s);
+UV Perl_scan_oct(pTHX_ char* start, I32 len, I32* retlen);
+OP* Perl_scope(pTHX_ OP* o);
+char* Perl_screaminstr(pTHX_ SV* bigsv, SV* littlesv, I32 start_shift, I32 end_shift, I32 *state, I32 last);
+void Perl_set_numeric_local(pTHX);
+void Perl_set_numeric_standard(pTHX);
+void Perl_setdefout(pTHX_ GV* gv);
+#if !defined(VMS)
+I32 Perl_setenv_getix(pTHX_ char* nam);
+#endif
+HEK* Perl_share_hek(pTHX_ const char* sv, I32 len, U32 hash);
+char* Perl_sharepvn(pTHX_ const char* sv, I32 len, U32 hash);
+Signal_t Perl_sighandler(pTHX_ int sig);
+SV** Perl_stack_grow(pTHX_ SV** sp, SV**p, int n);
+I32 Perl_start_subparse(pTHX_ I32 is_format, U32 flags);
+void Perl_sub_crush_depth(pTHX_ CV* cv);
+bool Perl_sv_2bool(pTHX_ SV* sv);
+CV* Perl_sv_2cv(pTHX_ SV* sv, HV** st, GV** gvp, I32 lref);
+IO* Perl_sv_2io(pTHX_ SV* sv);
+IV Perl_sv_2iv(pTHX_ SV* sv);
+SV* Perl_sv_2mortal(pTHX_ SV* sv);
+double Perl_sv_2nv(pTHX_ SV* sv);
+char* Perl_sv_2pv(pTHX_ SV* sv, STRLEN* lp);
+char* Perl_sv_2pv_nolen(pTHX_ SV* sv);
+UV Perl_sv_2uv(pTHX_ SV* sv);
+void Perl_sv_add_arena(pTHX_ char* ptr, U32 size, U32 flags);
+int Perl_sv_backoff(pTHX_ SV* sv);
+SV* Perl_sv_bless(pTHX_ SV* sv, HV* stash);
+void Perl_sv_catpv(pTHX_ SV* sv, const char* ptr);
+void Perl_sv_catpv_mg(pTHX_ SV *sv, const char *ptr);
+void Perl_sv_catpvf(pTHX_ SV* sv, const char* pat, ...);
+void Perl_sv_catpvf_mg(pTHX_ SV *sv, const char* pat, ...);
+void Perl_sv_catpvn(pTHX_ SV* sv, const char* ptr, STRLEN len);
+void Perl_sv_catpvn_mg(pTHX_ SV *sv, const char *ptr, STRLEN len);
+void Perl_sv_catsv(pTHX_ SV* dsv, SV* ssv);
+void Perl_sv_catsv_mg(pTHX_ SV *dstr, SV *sstr);
+void Perl_sv_chop(pTHX_ SV* sv, char* ptr);
+void Perl_sv_clean_all(pTHX);
+void Perl_sv_clean_objs(pTHX);
+void Perl_sv_clear(pTHX_ SV* sv);
+I32 Perl_sv_cmp(pTHX_ SV* sv1, SV* sv2);
+I32 Perl_sv_cmp_locale(pTHX_ SV* sv1, SV* sv2);
+#if defined(USE_LOCALE_COLLATE)
+char* Perl_sv_collxfrm(pTHX_ SV* sv, STRLEN* nxp);
+#endif
+OP* Perl_sv_compile_2op(pTHX_ SV* sv, OP** startp, char* code, AV** avp);
+void Perl_sv_dec(pTHX_ SV* sv);
+bool Perl_sv_derived_from(pTHX_ SV* sv, const char* name);
+void Perl_sv_dump(pTHX_ SV* sv);
+I32 Perl_sv_eq(pTHX_ SV* sv1, SV* sv2);
+void Perl_sv_force_normal(pTHX_ SV *sv);
+void Perl_sv_free(pTHX_ SV* sv);
+void Perl_sv_free_arenas(pTHX);
+char* Perl_sv_gets(pTHX_ SV* sv, PerlIO* fp, I32 append);
+char* Perl_sv_grow(pTHX_ SV* sv, STRLEN newlen);
+void Perl_sv_inc(pTHX_ SV* sv);
+void Perl_sv_insert(pTHX_ SV* bigsv, STRLEN offset, STRLEN len, char* little, STRLEN littlelen);
+int Perl_sv_isa(pTHX_ SV* sv, const char* name);
+int Perl_sv_isobject(pTHX_ SV* sv);
+IV Perl_sv_iv(pTHX_ SV* sv);
+STRLEN Perl_sv_len(pTHX_ SV* sv);
+STRLEN Perl_sv_len_utf8(pTHX_ SV* sv);
+void Perl_sv_magic(pTHX_ SV* sv, SV* obj, int how, const char* name, I32 namlen);
+SV* Perl_sv_mortalcopy(pTHX_ SV* oldsv);
+SV* Perl_sv_newmortal(pTHX);
+SV* Perl_sv_newref(pTHX_ SV* sv);
+double Perl_sv_nv(pTHX_ SV* sv);
+char* Perl_sv_peek(pTHX_ SV* sv);
+void Perl_sv_pos_b2u(pTHX_ SV* sv, I32* offsetp);
+void Perl_sv_pos_u2b(pTHX_ SV* sv, I32* offsetp, I32* lenp);
+char* Perl_sv_pv(pTHX_ SV *sv);
+char* Perl_sv_pvn(pTHX_ SV *sv, STRLEN *len);
+char* Perl_sv_pvn_force(pTHX_ SV* sv, STRLEN* lp);
+char* Perl_sv_reftype(pTHX_ SV* sv, int ob);
+void Perl_sv_replace(pTHX_ SV* sv, SV* nsv);
+void Perl_sv_report_used(pTHX);
+void Perl_sv_reset(pTHX_ char* s, HV* stash);
+SV* Perl_sv_rvweaken(pTHX_ SV *sv);
+void Perl_sv_setiv(pTHX_ SV* sv, IV num);
+void Perl_sv_setiv_mg(pTHX_ SV *sv, IV i);
+void Perl_sv_setnv(pTHX_ SV* sv, double num);
+void Perl_sv_setnv_mg(pTHX_ SV *sv, double num);
+void Perl_sv_setpv(pTHX_ SV* sv, const char* ptr);
+void Perl_sv_setpv_mg(pTHX_ SV *sv, const char *ptr);
+void Perl_sv_setpvf(pTHX_ SV* sv, const char* pat, ...);
+void Perl_sv_setpvf_mg(pTHX_ SV *sv, const char* pat, ...);
+void Perl_sv_setpviv(pTHX_ SV* sv, IV num);
+void Perl_sv_setpviv_mg(pTHX_ SV *sv, IV iv);
+void Perl_sv_setpvn(pTHX_ SV* sv, const char* ptr, STRLEN len);
+void Perl_sv_setpvn_mg(pTHX_ SV *sv, const char *ptr, STRLEN len);
+SV* Perl_sv_setref_iv(pTHX_ SV* rv, const char* classname, IV iv);
+SV* Perl_sv_setref_nv(pTHX_ SV* rv, const char* classname, double nv);
+SV* Perl_sv_setref_pv(pTHX_ SV* rv, const char* classname, void* pv);
+SV* Perl_sv_setref_pvn(pTHX_ SV* rv, const char* classname, char* pv, STRLEN n);
+void Perl_sv_setsv(pTHX_ SV* dsv, SV* ssv);
+void Perl_sv_setsv_mg(pTHX_ SV *dstr, SV *sstr);
+void Perl_sv_setuv(pTHX_ SV* sv, UV num);
+void Perl_sv_setuv_mg(pTHX_ SV *sv, UV u);
+void Perl_sv_taint(pTHX_ SV* sv);
+bool Perl_sv_tainted(pTHX_ SV* sv);
+I32 Perl_sv_true(pTHX_ SV *sv);
+int Perl_sv_unmagic(pTHX_ SV* sv, int type);
+void Perl_sv_unref(pTHX_ SV* sv);
+void Perl_sv_untaint(pTHX_ SV* sv);
+bool Perl_sv_upgrade(pTHX_ SV* sv, U32 mt);
+void Perl_sv_usepvn(pTHX_ SV* sv, char* ptr, STRLEN len);
+void Perl_sv_usepvn_mg(pTHX_ SV *sv, char *ptr, STRLEN len);
+UV Perl_sv_uv(pTHX_ SV* sv);
+void Perl_sv_vcatpvfn(pTHX_ SV* sv, const char* pat, STRLEN patlen, va_list* args, SV** svargs, I32 svmax, bool *used_locale);
+void Perl_sv_vsetpvfn(pTHX_ SV* sv, const char* pat, STRLEN patlen, va_list* args, SV** svargs, I32 svmax, bool *used_locale);
+UV Perl_swash_fetch(pTHX_ SV *sv, U8 *ptr);
+SV* Perl_swash_init(pTHX_ char* pkg, char* name, SV* listsv, I32 minbits, I32 none);
+void Perl_taint_env(pTHX);
+void Perl_taint_proper(pTHX_ const char* f, char* s);
+void Perl_tmps_grow(pTHX_ I32 n);
+U32 Perl_to_uni_lower(pTHX_ U32 c);
+U32 Perl_to_uni_lower_lc(pTHX_ U32 c);
+U32 Perl_to_uni_title(pTHX_ U32 c);
+U32 Perl_to_uni_title_lc(pTHX_ U32 c);
+U32 Perl_to_uni_upper(pTHX_ U32 c);
+U32 Perl_to_uni_upper_lc(pTHX_ U32 c);
+UV Perl_to_utf8_lower(pTHX_ U8 *p);
+UV Perl_to_utf8_title(pTHX_ U8 *p);
+UV Perl_to_utf8_upper(pTHX_ U8 *p);
+#if defined(UNLINK_ALL_VERSIONS)
+I32 Perl_unlnk(pTHX_ char* f);
+#endif
+#if defined(USE_THREADS)
+void Perl_unlock_condpair(pTHX_ void* svv);
+#endif
+void Perl_unshare_hek(pTHX_ HEK* hek);
+void Perl_unsharepvn(pTHX_ const char* sv, I32 len, U32 hash);
+U8* Perl_utf16_to_utf8(pTHX_ U16* p, U8 *d, I32 bytelen);
+U8* Perl_utf16_to_utf8_reversed(pTHX_ U16* p, U8 *d, I32 bytelen);
+I32 Perl_utf8_distance(pTHX_ U8 *a, U8 *b);
+U8* Perl_utf8_hop(pTHX_ U8 *s, I32 off);
+UV Perl_utf8_to_uv(pTHX_ U8 *s, I32* retlen);
+void Perl_utilize(pTHX_ int aver, I32 floor, OP* version, OP* id, OP* arg);
+U8* Perl_uv_to_utf8(pTHX_ U8 *d, UV uv);
+void Perl_vivify_defelem(pTHX_ SV* sv);
+void Perl_vivify_ref(pTHX_ SV* sv, U32 to_what);
+I32 Perl_wait4pid(pTHX_ int pid, int* statusp, int flags);
+void Perl_warn(pTHX_ const char* pat, ...);
+void Perl_warner(pTHX_ U32 err, const char* pat, ...);
+void Perl_watch(pTHX_ char** addr);
+I32 Perl_whichsig(pTHX_ char* sig);
+void Perl_yydestruct(pTHX_ void *ptr);
+int Perl_yyerror(pTHX_ char* s);
+#if !defined(USE_PURE_BISON)
+int Perl_yylex(pTHX);
+#endif
+int Perl_yyparse(pTHX);
+int Perl_yywarn(pTHX_ char* s);
+#if defined(PL_OP_SLAB_ALLOC) && defined(PERL_IN_OP_C)
+STATIC void* Slab_Alloc(pTHX_ int m, size_t sz);
+#endif
+#if defined(PERL_IN_REGCOMP_C)
+STATIC I32 add_data(pTHX_ I32 n, char *s);
+#endif
+#if defined(MYMALLOC) && defined(PERL_IN_MALLOC_C)
+STATIC void add_to_chain(pTHX_ void *p, MEM_SIZE size, MEM_SIZE chip);
+#endif
+#if defined(PERL_IN_PP_CTL_C)
+STATIC I32 amagic_cmp(pTHX_ SV *str1, SV *str2);
+#endif
+#if defined(PERL_IN_PP_CTL_C)
+STATIC I32 amagic_cmp_locale(pTHX_ SV *str1, SV *str2);
+#endif
+#if defined(PERL_IN_PP_CTL_C)
+STATIC I32 amagic_i_ncmp(pTHX_ SV *a, SV *b);
+#endif
+#if defined(PERL_IN_PP_CTL_C)
+STATIC I32 amagic_ncmp(pTHX_ SV *a, SV *b);
+#endif
+#if defined(PERL_IN_TOKE_C)
+STATIC int ao(pTHX_ int toketype);
+#endif
+#if defined(PERL_IN_SV_C)
+STATIC IV asIV(pTHX_ SV* sv);
+#endif
+#if defined(PERL_IN_SV_C)
+STATIC UV asUV(pTHX_ SV* sv);
+#endif
+#if defined(PERL_IN_AV_C)
+STATIC I32 avhv_index_sv(pTHX_ SV* sv);
+#endif
+#if defined(PERL_IN_OP_C)
+STATIC void bad_type(pTHX_ I32 n, char *t, char *name, OP *kid);
+#endif
+#if defined(MYMALLOC) && defined(DEBUGGING) && defined(PERL_IN_MALLOC_C)
+STATIC void botch(pTHX_ char *diag, char *s);
+#endif
+#if defined(PERL_IN_REGEXEC_C)
+STATIC void cache_re(pTHX_ regexp *prog);
+#endif
+#if defined(PERL_IN_PERL_C)
+STATIC void* call_body(pTHX_ va_list args);
+#endif
+#if defined(PERL_IN_PERL_C)
+STATIC void* call_list_body(pTHX_ va_list args);
+#endif
+#if defined(PERL_IN_PERL_C)
+STATIC void call_xbody(pTHX_ OP *myop, int is_eval);
+#endif
+#if defined(PERL_IN_TOKE_C)
+STATIC void check_uni(pTHX);
+#endif
+#if defined(PERL_IN_TOKE_C)
+STATIC void checkcomma(pTHX_ char *s, char *name, char *what);
+#endif
+#if defined(PERL_IN_REGCOMP_C)
+STATIC void clear_re(pTHX_ void *r);
+#endif
+#if defined(PERL_IN_OP_C)
+STATIC CV* cv_clone2(pTHX_ CV *proto, CV *outside);
+#endif
+#if defined(PERL_IN_RUN_C)
+STATIC void debprof(pTHX_ OP *o);
+#endif
+#if defined(PERL_IN_HV_C)
+STATIC void del_he(pTHX_ HE *p);
+#endif
+#if defined(DEBUGGING) && defined(PERL_IN_SV_C)
+STATIC void del_sv(pTHX_ SV *p);
+#endif
+#if defined(PERL_IN_SV_C)
+STATIC void del_xiv(pTHX_ XPVIV* p);
+#endif
+#if defined(PERL_IN_SV_C)
+STATIC void del_xnv(pTHX_ XPVNV* p);
+#endif
+#if defined(PERL_IN_SV_C)
+STATIC void del_xpv(pTHX_ XPV* p);
+#endif
+#if defined(PERL_IN_SV_C)
+STATIC void del_xrv(pTHX_ XRV* p);
+#endif
+#if defined(PERL_IN_TOKE_C)
+STATIC void depcom(pTHX);
+#endif
+#if defined(PERL_IN_PP_C)
+STATIC int div128(pTHX_ SV *pnum, bool *done);
+#endif
+#if defined(WIN32) && defined(PERL_IN_GLOBALS_C)
+STATIC int do_aspawn(pTHX_ void *vreally, void **vmark, void **vsp);
+#endif
+#if defined(PERL_IN_SV_C)
+STATIC void do_clean_all(pTHX_ SV *sv);
+#endif
+#if defined(PERL_IN_SV_C)
+STATIC void do_clean_named_objs(pTHX_ SV *sv);
+#endif
+#if defined(PERL_IN_SV_C)
+STATIC void do_clean_objs(pTHX_ SV *sv);
+#endif
+#if defined(PERL_IN_SV_C)
+STATIC void do_report_used(pTHX_ SV *sv);
+#endif
+#if defined(PERL_IN_DOOP_C)
+STATIC I32 do_trans_CC_complex(pTHX_ SV *sv);
+#endif
+#if defined(PERL_IN_DOOP_C)
+STATIC I32 do_trans_CC_count(pTHX_ SV *sv);
+#endif
+#if defined(PERL_IN_DOOP_C)
+STATIC I32 do_trans_CC_simple(pTHX_ SV *sv);
+#endif
+#if defined(PERL_IN_DOOP_C)
+STATIC I32 do_trans_CU_simple(pTHX_ SV *sv);
+#endif
+#if defined(PERL_IN_DOOP_C)
+STATIC I32 do_trans_CU_trivial(pTHX_ SV *sv);
+#endif
+#if defined(PERL_IN_DOOP_C)
+STATIC I32 do_trans_UC_simple(pTHX_ SV *sv);
+#endif
+#if defined(PERL_IN_DOOP_C)
+STATIC I32 do_trans_UC_trivial(pTHX_ SV *sv);
+#endif
+#if defined(PERL_IN_DOOP_C)
+STATIC I32 do_trans_UU_complex(pTHX_ SV *sv);
+#endif
+#if defined(PERL_IN_DOOP_C)
+STATIC I32 do_trans_UU_count(pTHX_ SV *sv);
+#endif
+#if defined(PERL_IN_DOOP_C)
+STATIC I32 do_trans_UU_simple(pTHX_ SV *sv);
+#endif
+#if defined(PERL_IN_PP_CTL_C)
+STATIC OP* docatch(pTHX_ OP *o);
+#endif
+#if defined(PERL_IN_PP_CTL_C)
+STATIC void* docatch_body(pTHX_ va_list args);
+#endif
+#if defined(PERL_IN_PP_C)
+STATIC void doencodes(pTHX_ SV* sv, char* s, I32 len);
+#endif
+#if defined(PERL_IN_PP_CTL_C)
+STATIC OP* doeval(pTHX_ int gimme, OP** startop);
+#endif
+#if defined(PERL_IN_PP_CTL_C)
+STATIC OP* dofindlabel(pTHX_ OP *o, char *label, OP **opstack, OP **oplimit);
+#endif
+#if defined(PERL_IN_PP_SYS_C)
+STATIC OP* doform(pTHX_ CV *cv, GV *gv, OP *retop);
+#endif
+#if !defined(HAS_MKDIR) || !defined(HAS_RMDIR) && defined(PERL_IN_PP_SYS_C)
+STATIC int dooneliner(pTHX_ char *cmd, char *filename);
+#endif
+#if defined(PERL_IN_PP_CTL_C)
+STATIC PerlIO * doopen_pmc(pTHX_ const char *name, const char *mode);
+#endif
+#if defined(PERL_IN_PP_CTL_C)
+STATIC void doparseform(pTHX_ SV *sv);
+#endif
+#if defined(PERL_IN_PP_CTL_C)
+STATIC I32 dopoptoeval(pTHX_ I32 startingblock);
+#endif
+#if defined(PERL_IN_PP_CTL_C)
+STATIC I32 dopoptolabel(pTHX_ char *label);
+#endif
+#if defined(PERL_IN_PP_CTL_C)
+STATIC I32 dopoptoloop(pTHX_ I32 startingblock);
+#endif
+#if defined(PERL_IN_PP_CTL_C)
+STATIC I32 dopoptosub(pTHX_ I32 startingblock);
+#endif
+#if defined(PERL_IN_PP_CTL_C)
+STATIC I32 dopoptosub_at(pTHX_ PERL_CONTEXT* cxstk, I32 startingblock);
+#endif
+#if defined(PERL_IN_REGCOMP_C)
+STATIC regnode* dumpuntil(pTHX_ regnode *start, regnode *node, regnode *last, SV* sv, I32 l);
+#endif
+#if defined(MYMALLOC) && defined(PERL_IN_MALLOC_C)
+STATIC Malloc_t emergency_sbrk(pTHX_ MEM_SIZE size);
+#endif
+#if defined(PERL_IN_PP_SYS_C)
+STATIC int emulate_eaccess(pTHX_ const char* path, int mode);
+#endif
+#if defined(FCNTL_EMULATE_FLOCK) && defined(PERL_IN_PP_SYS_C)
+STATIC int fcntl_emulate_flock(pTHX_ int fd, int operation);
+#endif
+#if defined(IAMSUID) && defined(PERL_IN_PERL_C)
+STATIC int fd_on_nosuid_fs(pTHX_ int fd);
+#endif
+#if defined(PERL_IN_TOKE_C)
+STATIC char * filter_gets(pTHX_ SV *sv, PerlIO *fp, STRLEN append);
+#endif
+#if defined(PERL_IN_PERL_C)
+STATIC void find_beginning(pTHX);
+#endif
+#if defined(PERL_IN_PERL_C)
+STATIC void forbid_setid(pTHX_ char *);
+#endif
+#if defined(PERL_IN_TOKE_C)
+STATIC void force_ident(pTHX_ char *s, int kind);
+#endif
+#if defined(PERL_IN_TOKE_C)
+STATIC void force_next(pTHX_ I32 type);
+#endif
+#if defined(PERL_IN_TOKE_C)
+STATIC char* force_version(pTHX_ char *start);
+#endif
+#if defined(PERL_IN_TOKE_C)
+STATIC char* force_word(pTHX_ char *start, int token, int check_keyword, int allow_pack, int allow_tick);
+#endif
+#if defined(PERL_IN_PP_CTL_C)
+STATIC void free_closures(pTHX);
+#endif
+#if defined(PERL_IN_PP_HOT_C)
+STATIC CV* get_db_sub(pTHX_ SV **svp, CV *cv);
+#endif
+#if defined(MYMALLOC) && defined(PERL_IN_MALLOC_C)
+STATIC void* get_from_bigger_buckets(pTHX_ int bucket, MEM_SIZE size);
+#endif
+#if defined(MYMALLOC) && defined(PERL_IN_MALLOC_C)
+STATIC void* get_from_chain(pTHX_ MEM_SIZE size);
+#endif
+#if defined(MYMALLOC) && defined(PERL_IN_MALLOC_C)
+STATIC union overhead * getpages(pTHX_ int needed, int *nblksp, int bucket);
+#endif
+#if defined(MYMALLOC) && defined(PERL_IN_MALLOC_C)
+STATIC int getpages_adjacent(pTHX_ int require);
+#endif
+#if defined(PERL_IN_OP_C)
+STATIC char* gv_ename(pTHX_ GV *gv);
+#endif
+#if defined(PERL_IN_GV_C)
+STATIC void gv_init_sv(pTHX_ GV *gv, I32 sv_type);
+#endif
+#if defined(PERL_IN_HV_C)
+STATIC void hfreeentries(pTHX_ HV *hv);
+#endif
+#if defined(PERL_IN_HV_C)
+STATIC void hsplit(pTHX_ HV *hv);
+#endif
+#if defined(PERL_IN_HV_C)
+STATIC void hv_magic_check(pTHX_ HV *hv, bool *needs_copy, bool *needs_store);
+#endif
+#if defined(PERL_IN_TOKE_C)
+STATIC char* incl_perldb(pTHX);
+#endif
+#if defined(PERL_IN_TOKE_C)
+STATIC void incline(pTHX_ char *s);
+#endif
+#if defined(PERL_IN_PERL_C)
+STATIC void incpush(pTHX_ char *, int);
+#endif
+#if defined(PERL_IN_PERL_C)
+STATIC void init_debugger(pTHX);
+#endif
+#if defined(PERL_IN_PERL_C)
+STATIC void init_ids(pTHX);
+#endif
+#if defined(PERL_IN_PERL_C)
+STATIC void init_interp(pTHX);
+#endif
+#if defined(PERL_IN_PERL_C)
+STATIC void init_lexer(pTHX);
+#endif
+#if defined(PERL_IN_PERL_C)
+STATIC void init_main_stash(pTHX);
+#endif
+#if defined(USE_THREADS) && defined(PERL_IN_PERL_C)
+STATIC struct perl_thread * init_main_thread(pTHX);
+#endif
+#if defined(PERL_IN_PERL_C)
+STATIC void init_perllib(pTHX);
+#endif
+#if defined(PERL_IN_PERL_C)
+STATIC void init_postdump_symbols(pTHX_ int, char **, char **);
+#endif
+#if defined(PERL_IN_PERL_C)
+STATIC void init_predump_symbols(pTHX);
+#endif
+#if defined(PERL_IN_TOKE_C)
+STATIC int intuit_method(pTHX_ char *s, GV *gv);
+#endif
+#if defined(PERL_IN_TOKE_C)
+STATIC int intuit_more(pTHX_ char *s);
+#endif
+#if defined(PERL_IN_PP_C)
+STATIC SV* is_an_int(pTHX_ char *s, STRLEN l);
+#endif
+#if defined(PERL_IN_OP_C)
+STATIC bool is_handle_constructor(pTHX_ OP *o, I32 argnum);
+#endif
+#if defined(PERL_IN_UNIVERSAL_C)
+STATIC SV* isa_lookup(pTHX_ HV *stash, const char *name, int len, int level);
+#endif
+#if defined(PERL_IN_OP_C)
+STATIC I32 list_assignment(pTHX_ OP *o);
+#endif
+#if defined(LOCKF_EMULATE_FLOCK) && defined(PERL_IN_PP_SYS_C)
+STATIC int lockf_emulate_flock(pTHX_ int fd, int operation);
+#endif
+#if defined(PERL_IN_TOKE_C)
+STATIC I32 lop(pTHX_ I32 f, expectation x, char *s);
+#endif
+#if defined(PERL_IN_MG_C)
+STATIC int magic_methcall(pTHX_ SV *sv, MAGIC *mg, char *meth, I32 f, int n, SV *val);
+#endif
+#if defined(PERL_IN_MG_C)
+STATIC int magic_methpack(pTHX_ SV *sv, MAGIC *mg, char *meth);
+#endif
+#if defined(PERL_IN_UTIL_C)
+STATIC SV* mess_alloc(pTHX);
+#endif
+#if defined(PERL_IN_TOKE_C)
+STATIC void missingterm(pTHX_ char *s);
+#endif
+#if defined(PERL_IN_OP_C)
+STATIC OP* modkids(pTHX_ OP *o, I32 type);
+#endif
+#if defined(PERL_IN_HV_C)
+STATIC void more_he(pTHX);
+#endif
+#if defined(PERL_IN_SV_C)
+STATIC SV* more_sv(pTHX);
+#endif
+#if defined(PERL_IN_SV_C)
+STATIC void more_xiv(pTHX);
+#endif
+#if defined(PERL_IN_SV_C)
+STATIC void more_xnv(pTHX);
+#endif
+#if defined(PERL_IN_SV_C)
+STATIC void more_xpv(pTHX);
+#endif
+#if defined(PERL_IN_SV_C)
+STATIC void more_xrv(pTHX);
+#endif
+#if defined(MYMALLOC) && defined(PERL_IN_MALLOC_C)
+STATIC void morecore(pTHX_ int bucket);
+#endif
+#if defined(PERL_IN_PP_C)
+STATIC SV* mul128(pTHX_ SV *sv, U8 m);
+#endif
+#if defined(PERL_IN_PERL_C)
+STATIC void my_exit_jump(pTHX) __attribute__((noreturn));
+#endif
+#if !defined(PURIFY) && defined(PERL_IN_SV_C)
+STATIC void* my_safemalloc(pTHX_ MEM_SIZE size);
+#endif
+#if defined(PERL_IN_OP_C)
+STATIC OP* newDEFSVOP(pTHX);
+#endif
+#if defined(PERL_IN_TOKE_C)
+STATIC SV* new_constant(pTHX_ char *s, STRLEN len, char *key, SV *sv, SV *pv, char *type);
+#endif
+#if defined(PERL_IN_HV_C)
+STATIC HE* new_he(pTHX);
+#endif
+#if defined(PERL_IN_OP_C)
+STATIC OP* new_logop(pTHX_ I32 type, I32 flags, OP **firstp, OP **otherp);
+#endif
+#if defined(PERL_IN_SV_C)
+STATIC XPVIV* new_xiv(pTHX);
+#endif
+#if defined(PERL_IN_SV_C)
+STATIC XPVNV* new_xnv(pTHX);
+#endif
+#if defined(PERL_IN_SV_C)
+STATIC XPV* new_xpv(pTHX);
+#endif
+#if defined(PERL_IN_SV_C)
+STATIC XRV* new_xrv(pTHX);
+#endif
+#if defined(PERL_IN_REGCOMP_C)
+STATIC char* nextchar(pTHX);
+#endif
+#if defined(PERL_IN_OP_C)
+STATIC void no_bareword_allowed(pTHX_ OP *o);
+#endif
+#if defined(PERL_IN_OP_C)
+STATIC OP* no_fh_allowed(pTHX_ OP *o);
+#endif
+#if defined(PERL_IN_TOKE_C)
+STATIC void no_op(pTHX_ char *what, char *s);
+#endif
+#if defined(PERL_IN_SV_C)
+STATIC void not_a_number(pTHX_ SV *sv);
+#endif
+#if defined(PERL_IN_PERL_C)
+STATIC void nuke_stacks(pTHX);
+#endif
+#if defined(PERL_IN_OP_C)
+STATIC void null(pTHX_ OP* o);
+#endif
+#if defined(PERL_IN_PERL_C)
+STATIC void open_script(pTHX_ char *, bool, SV *, int *fd);
+#endif
+#if defined(PERL_IN_OP_C)
+STATIC PADOFFSET pad_findlex(pTHX_ char* name, PADOFFSET newoff, U32 seq, CV* startcv, I32 cx_ix, I32 saweval, U32 flags);
+#endif
+#if defined(PERL_IN_PERL_C)
+STATIC void* parse_body(pTHX_ va_list args);
+#endif
+#if defined(PERL_IN_PP_CTL_C)
+STATIC void qsortsv(pTHX_ SV ** array, size_t num_elts, SVCOMPARE_t f);
+#endif
+#if defined(PERL_IN_REGCOMP_C)
+STATIC void re_croak2(pTHX_ const char* pat1, const char* pat2, ...) __attribute__((noreturn));
+#endif
+#if defined(PERL_IN_PERL_C)
+STATIC I32 read_e_script(pTHX_ int idx, SV *buf_sv, int maxlen);
+#endif
+#if defined(PERL_IN_PP_C)
+STATIC SV* refto(pTHX_ SV* sv);
+#endif
+#if defined(PERL_IN_REGCOMP_C)
+STATIC regnode* reg(pTHX_ I32, I32 *);
+#endif
+#if defined(PURIFY) && defined(PERL_IN_SV_C)
+STATIC void reg_add(pTHX_ SV *sv);
+#endif
+#if defined(PERL_IN_REGCOMP_C)
+STATIC regnode* reg_node(pTHX_ U8);
+#endif
+#if defined(PURIFY) && defined(PERL_IN_SV_C)
+STATIC void reg_remove(pTHX_ SV *sv);
+#endif
+#if defined(PERL_IN_REGCOMP_C)
+STATIC regnode* reganode(pTHX_ U8, U32);
+#endif
+#if defined(PERL_IN_REGCOMP_C)
+STATIC regnode* regatom(pTHX_ I32 *);
+#endif
+#if defined(PERL_IN_REGCOMP_C)
+STATIC regnode* regbranch(pTHX_ I32 *, I32);
+#endif
+#if defined(PERL_IN_REGCOMP_C)
+STATIC void regc(pTHX_ U8, char *);
+#endif
+#if defined(PERL_IN_REGCOMP_C)
+STATIC regnode* regclass(pTHX);
+#endif
+#if defined(PERL_IN_REGCOMP_C)
+STATIC regnode* regclassutf8(pTHX);
+#endif
+#if defined(PERL_IN_REGEXEC_C)
+STATIC char* regcp_set_to(pTHX_ I32 ss);
+#endif
+#if defined(PERL_IN_REGEXEC_C)
+STATIC char* regcppop(pTHX);
+#endif
+#if defined(PERL_IN_REGEXEC_C)
+STATIC CHECKPOINT regcppush(pTHX_ I32 parenfloor);
+#endif
+#if defined(PERL_IN_REGCOMP_C)
+STATIC I32 regcurly(pTHX_ char *);
+#endif
+#if defined(PERL_IN_REGEXEC_C)
+STATIC U8* reghop(pTHX_ U8 *pos, I32 off);
+#endif
+#if defined(PERL_IN_REGEXEC_C)
+STATIC U8* reghopmaybe(pTHX_ U8 *pos, I32 off);
+#endif
+#if defined(PERL_IN_REGEXEC_C)
+STATIC bool reginclass(pTHX_ char *p, I32 c);
+#endif
+#if defined(PERL_IN_REGEXEC_C)
+STATIC bool reginclassutf8(pTHX_ regnode *f, U8* p);
+#endif
+#if defined(PERL_IN_REGCOMP_C)
+STATIC void reginsert(pTHX_ U8, regnode *);
+#endif
+#if defined(PERL_IN_REGEXEC_C)
+STATIC I32 regmatch(pTHX_ regnode *prog);
+#endif
+#if defined(PERL_IN_REGCOMP_C)
+STATIC void regoptail(pTHX_ regnode *, regnode *);
+#endif
+#if defined(PERL_IN_REGCOMP_C)
+STATIC regnode* regpiece(pTHX_ I32 *);
+#endif
+#if defined(PERL_IN_REGCOMP_C)
+STATIC char* regpposixcc(pTHX_ I32 value);
+#endif
+#if defined(PERL_IN_REGEXEC_C)
+STATIC I32 regrepeat(pTHX_ regnode *p, I32 max);
+#endif
+#if defined(PERL_IN_REGEXEC_C)
+STATIC I32 regrepeat_hard(pTHX_ regnode *p, I32 max, I32 *lp);
+#endif
+#if defined(PERL_IN_REGCOMP_C)
+STATIC void regset(pTHX_ char *, I32);
+#endif
+#if defined(PERL_IN_REGCOMP_C)
+STATIC void regtail(pTHX_ regnode *, regnode *);
+#endif
+#if defined(PERL_IN_REGEXEC_C)
+STATIC I32 regtry(pTHX_ regexp *prog, char *startpos);
+#endif
+#if defined(PERL_IN_REGCOMP_C)
+STATIC void reguni(pTHX_ UV, char *, I32*);
+#endif
+#if defined(PERL_IN_REGCOMP_C)
+STATIC char* regwhite(pTHX_ char *, char *);
+#endif
+#if defined(PERL_IN_TOKE_C)
+STATIC void restore_expect(pTHX_ void *e);
+#endif
+#if defined(PERL_IN_TOKE_C)
+STATIC void restore_lex_expect(pTHX_ void *e);
+#endif
+#if defined(PERL_IN_MG_C)
+STATIC void restore_magic(pTHX_ void *p);
+#endif
+#if defined(PERL_IN_REGEXEC_C)
+STATIC void restore_pos(pTHX_ void *arg);
+#endif
+#if defined(PERL_IN_TOKE_C)
+STATIC void restore_rsfp(pTHX_ void *f);
+#endif
+#if defined(PERL_IN_PERL_C)
+STATIC void* run_body(pTHX_ va_list args);
+#endif
+#if defined(PERL_IN_HV_C)
+STATIC HEK* save_hek(pTHX_ const char *str, I32 len, U32 hash);
+#endif
+#if defined(PERL_IN_PP_CTL_C)
+STATIC void save_lines(pTHX_ AV *array, SV *sv);
+#endif
+#if defined(PERL_IN_MG_C)
+STATIC void save_magic(pTHX_ I32 mgs_ix, SV *sv);
+#endif
+#if defined(PERL_IN_SCOPE_C)
+STATIC SV* save_scalar_at(pTHX_ SV **sptr);
+#endif
+#if defined(PERL_IN_OP_C)
+STATIC bool scalar_mod_type(pTHX_ OP *o, I32 type);
+#endif
+#if defined(PERL_IN_OP_C)
+STATIC OP* scalarboolean(pTHX_ OP *o);
+#endif
+#if defined(PERL_IN_REGCOMP_C)
+STATIC void scan_commit(pTHX_ scan_data_t *data);
+#endif
+#if defined(PERL_IN_TOKE_C)
+STATIC char* scan_const(pTHX_ char *start);
+#endif
+#if defined(PERL_IN_TOKE_C)
+STATIC char* scan_formline(pTHX_ char *s);
+#endif
+#if defined(PERL_IN_TOKE_C)
+STATIC char* scan_heredoc(pTHX_ char *s);
+#endif
+#if defined(PERL_IN_TOKE_C)
+STATIC char* scan_ident(pTHX_ char *s, char *send, char *dest, STRLEN destlen, I32 ck_uni);
+#endif
+#if defined(PERL_IN_TOKE_C)
+STATIC char* scan_inputsymbol(pTHX_ char *start);
+#endif
+#if defined(PERL_IN_TOKE_C)
+STATIC char* scan_pat(pTHX_ char *start, I32 type);
+#endif
+#if defined(PERL_IN_TOKE_C)
+STATIC char* scan_str(pTHX_ char *start);
+#endif
+#if defined(PERL_IN_TOKE_C)
+STATIC char* scan_subst(pTHX_ char *start);
+#endif
+#if defined(PERL_IN_TOKE_C)
+STATIC char* scan_trans(pTHX_ char *start);
+#endif
+#if defined(PERL_IN_TOKE_C)
+STATIC char* scan_word(pTHX_ char *s, char *dest, STRLEN destlen, int allow_package, STRLEN *slp);
+#endif
+#if defined(PERL_IN_PP_C)
+STATIC U32 seed(pTHX);
+#endif
+#if defined(PERL_IN_TOKE_C)
+STATIC void set_csh(pTHX);
+#endif
+#if defined(PERL_IN_OP_C)
+STATIC void simplify_sort(pTHX_ OP *o);
+#endif
+#if defined(PERL_IN_TOKE_C)
+STATIC char* skipspace(pTHX_ char *s);
+#endif
+#if defined(PERL_IN_PP_CTL_C)
+STATIC I32 sortcv(pTHX_ SV *a, SV *b);
+#endif
+#if defined(PERL_IN_REGCOMP_C)
+STATIC I32 study_chunk(pTHX_ regnode **scanp, I32 *deltap, regnode *last, scan_data_t *data, U32 flags);
+#endif
+#if defined(PERL_IN_TOKE_C)
+STATIC I32 sublex_done(pTHX);
+#endif
+#if defined(PERL_IN_TOKE_C)
+STATIC I32 sublex_push(pTHX);
+#endif
+#if defined(PERL_IN_TOKE_C)
+STATIC I32 sublex_start(pTHX);
+#endif
+#if defined(PERL_IN_SV_C)
+STATIC void sv_add_backref(pTHX_ SV *tsv, SV *sv);
+#endif
+#if defined(PERL_IN_SV_C)
+STATIC void sv_del_backref(pTHX_ SV *sv);
+#endif
+#if defined(PERL_IN_PP_CTL_C)
+STATIC I32 sv_i_ncmp(pTHX_ SV *a, SV *b);
+#endif
+#if defined(PERL_IN_PP_CTL_C)
+STATIC I32 sv_ncmp(pTHX_ SV *a, SV *b);
+#endif
+#if defined(PERL_IN_SV_C)
+STATIC void sv_unglob(pTHX_ SV* sv);
+#endif
+#if defined(PERL_IN_TOKE_C)
+STATIC SV* tokeq(pTHX_ SV *sv);
+#endif
+#if defined(PERL_IN_OP_C)
+STATIC OP* too_few_arguments(pTHX_ OP *o, char* name);
+#endif
+#if defined(PERL_IN_OP_C)
+STATIC OP* too_many_arguments(pTHX_ OP *o, char* name);
+#endif
+#if defined(CRIPPLED_CC) && defined(PERL_IN_TOKE_C)
+STATIC int uni(pTHX_ I32 f, char *s);
+#endif
+#if defined(USE_THREADS) && defined(PERL_IN_PP_HOT_C)
+STATIC void unset_cvowner(pTHX_ void *cvarg);
+#endif
+#if defined(PERL_IN_MG_C)
+STATIC void unwind_handler_stack(pTHX_ void *p);
+#endif
+#if defined(PERL_IN_PERL_C)
+STATIC void usage(pTHX_ char *);
+#endif
+#if defined(PERL_IN_TOKE_C)
+STATIC I32 utf16_textfilter(pTHX_ int idx, SV *sv, int maxlen);
+#endif
+#if defined(PERL_IN_TOKE_C)
+STATIC I32 utf16rev_textfilter(pTHX_ int idx, SV *sv, int maxlen);
+#endif
+#if defined(PERL_IN_PERL_C)
+STATIC void validate_suid(pTHX_ char *, char*, int);
+#endif
+#if defined(PERL_IN_SV_C)
+STATIC void visit(pTHX_ SVFUNC_t f);
+#endif
+#if defined(WIN32) && defined(PERL_IN_TOKE_C)
+STATIC I32 win32_textfilter(pTHX_ int idx, SV *sv, int maxlen);
+#endif
+#if defined(LEAKTEST) && defined(PERL_IN_UTIL_C)
+STATIC void xstat(pTHX_ int);
+#endif
diff --git a/regcomp.c b/regcomp.c
index 50083eefa2..d0d451bec3 100644
--- a/regcomp.c
+++ b/regcomp.c
@@ -77,6 +77,7 @@
* regular-expression syntax might require a total rethink.
*/
#include "EXTERN.h"
+#define PERL_IN_REGCOMP_C
#include "perl.h"
#ifndef PERL_IN_XSUB_RE
@@ -128,50 +129,6 @@
* Forward declarations for pregcomp()'s friends.
*/
-#ifndef PERL_OBJECT
-static regnode *reg (I32, I32 *);
-static regnode *reganode (U8, U32);
-static regnode *regatom (I32 *);
-static regnode *regbranch (I32 *, I32);
-static void regc (U8, char *);
-static void reguni (UV, char *, I32*);
-static regnode *regclass (void);
-static regnode *regclassutf8 (void);
-STATIC I32 regcurly (char *);
-static regnode *reg_node (U8);
-static regnode *regpiece (I32 *);
-static void reginsert (U8, regnode *);
-static void regoptail (regnode *, regnode *);
-static void regtail (regnode *, regnode *);
-static char* regwhite (char *, char *);
-static char* nextchar (void);
-static void re_croak2 (const char* pat1,const char* pat2,...) __attribute__((noreturn));
-static char* regpposixcc (I32 value);
-static void clear_re (void *r);
-#endif
-
-/* Length of a variant. */
-
-#ifndef PERL_OBJECT
-typedef struct {
- I32 len_min;
- I32 len_delta;
- I32 pos_min; /* CC */
- I32 pos_delta; /* CC */
- SV *last_found;
- I32 last_end; /* min value, <0 unless valid. */
- I32 last_start_min; /* CC */
- I32 last_start_max; /* CC */
- SV **longest; /* Either &l_fixed, or &l_float. */
- SV *longest_fixed;
- I32 offset_fixed; /* CC */
- SV *longest_float;
- I32 offset_float_min; /* CC */
- I32 offset_float_max; /* CC */
- I32 flags;
-} scan_data_t;
-#endif
-
static scan_data_t zero_scan_data = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0 };
@@ -209,13 +166,13 @@ static scan_data_t zero_scan_data = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
#define CHR_DIST(a,b) (UTF ? utf8_distance(a,b) : a - b)
STATIC void
-clear_re(void *r)
+clear_re(pTHX_ void *r)
{
ReREFCNT_dec((regexp *)r);
}
STATIC void
-scan_commit(scan_data_t *data)
+scan_commit(pTHX_ scan_data_t *data)
{
dTHR;
STRLEN l = CHR_SVLEN(data->last_found);
@@ -252,7 +209,7 @@ scan_commit(scan_data_t *data)
to the position after last scanned or to NULL. */
STATIC I32
-study_chunk(regnode **scanp, I32 *deltap, regnode *last, scan_data_t *data, U32 flags)
+study_chunk(pTHX_ regnode **scanp, I32 *deltap, regnode *last, scan_data_t *data, U32 flags)
/* scanp: Start here (read-write). */
/* deltap: Write maxlen-minlen here. */
/* last: Stop before this one. */
@@ -749,7 +706,7 @@ study_chunk(regnode **scanp, I32 *deltap, regnode *last, scan_data_t *data, U32
}
STATIC I32
-add_data(I32 n, char *s)
+add_data(pTHX_ I32 n, char *s)
{
dTHR;
if (PL_regcomp_rx->data) {
@@ -770,7 +727,7 @@ add_data(I32 n, char *s)
}
void
-reginitcolors(void)
+Perl_reginitcolors(pTHX)
{
dTHR;
int i = 0;
@@ -810,7 +767,7 @@ reginitcolors(void)
* of the structure of the compiled regexp. [I'll say.]
*/
regexp *
-pregcomp(char *exp, char *xend, PMOP *pm)
+Perl_pregcomp(pTHX_ char *exp, char *xend, PMOP *pm)
{
dTHR;
register regexp *r;
@@ -1087,7 +1044,7 @@ pregcomp(char *exp, char *xend, PMOP *pm)
* follows makes it hard to avoid.
*/
STATIC regnode *
-reg(I32 paren, I32 *flagp)
+reg(pTHX_ I32 paren, I32 *flagp)
/* paren: Parenthesized? 0=top, 1=(, inside: changed to letter. */
{
dTHR;
@@ -1416,7 +1373,7 @@ reg(I32 paren, I32 *flagp)
* Implements the concatenation operator.
*/
STATIC regnode *
-regbranch(I32 *flagp, I32 first)
+regbranch(pTHX_ I32 *flagp, I32 first)
{
dTHR;
register regnode *ret;
@@ -1482,7 +1439,7 @@ regbranch(I32 *flagp, I32 first)
* endmarker role is not redundant.
*/
STATIC regnode *
-regpiece(I32 *flagp)
+regpiece(pTHX_ I32 *flagp)
{
dTHR;
register regnode *ret;
@@ -1633,7 +1590,7 @@ regpiece(I32 *flagp)
* [Yes, it is worth fixing, some scripts can run twice the speed.]
*/
STATIC regnode *
-regatom(I32 *flagp)
+regatom(pTHX_ I32 *flagp)
{
dTHR;
register regnode *ret = 0;
@@ -2101,7 +2058,7 @@ tryagain:
}
STATIC char *
-regwhite(char *p, char *e)
+regwhite(pTHX_ char *p, char *e)
{
while (p < e) {
if (isSPACE(*p))
@@ -2119,7 +2076,7 @@ regwhite(char *p, char *e)
/* parse POSIX character classes like [[:foo:]] */
STATIC char*
-regpposixcc(I32 value)
+regpposixcc(pTHX_ I32 value)
{
dTHR;
char *posixcc = 0;
@@ -2161,7 +2118,7 @@ regpposixcc(I32 value)
}
STATIC regnode *
-regclass(void)
+regclass(pTHX)
{
dTHR;
register char *opnd, *s;
@@ -2359,7 +2316,7 @@ regclass(void)
}
STATIC regnode *
-regclassutf8(void)
+regclassutf8(pTHX)
{
register char *opnd, *e;
register U32 value;
@@ -2558,7 +2515,7 @@ regclassutf8(void)
}
STATIC char*
-nextchar(void)
+nextchar(pTHX)
{
dTHR;
char* retval = PL_regcomp_parse++;
@@ -2591,7 +2548,7 @@ nextchar(void)
- reg_node - emit a node
*/
STATIC regnode * /* Location. */
-reg_node(U8 op)
+reg_node(pTHX_ U8 op)
{
dTHR;
register regnode *ret;
@@ -2616,7 +2573,7 @@ reg_node(U8 op)
- reganode - emit a node with an argument
*/
STATIC regnode * /* Location. */
-reganode(U8 op, U32 arg)
+reganode(pTHX_ U8 op, U32 arg)
{
dTHR;
register regnode *ret;
@@ -2641,7 +2598,7 @@ reganode(U8 op, U32 arg)
- regc - emit (if appropriate) a Unicode character
*/
STATIC void
-reguni(UV uv, char* s, I32* lenp)
+reguni(pTHX_ UV uv, char* s, I32* lenp)
{
dTHR;
if (SIZE_ONLY) {
@@ -2657,7 +2614,7 @@ reguni(UV uv, char* s, I32* lenp)
- regc - emit (if appropriate) a byte of code
*/
STATIC void
-regc(U8 b, char* s)
+regc(pTHX_ U8 b, char* s)
{
dTHR;
if (!SIZE_ONLY)
@@ -2670,7 +2627,7 @@ regc(U8 b, char* s)
* Means relocating the operand.
*/
STATIC void
-reginsert(U8 op, regnode *opnd)
+reginsert(pTHX_ U8 op, regnode *opnd)
{
dTHR;
register regnode *src;
@@ -2701,7 +2658,7 @@ reginsert(U8 op, regnode *opnd)
- regtail - set the next-pointer at the end of a node chain of p to val.
*/
STATIC void
-regtail(regnode *p, regnode *val)
+regtail(pTHX_ regnode *p, regnode *val)
{
dTHR;
register regnode *scan;
@@ -2732,7 +2689,7 @@ regtail(regnode *p, regnode *val)
- regoptail - regtail on operand of first argument; nop if operandless
*/
STATIC void
-regoptail(regnode *p, regnode *val)
+regoptail(pTHX_ regnode *p, regnode *val)
{
dTHR;
/* "Operandless" and "op != BRANCH" are synonymous in practice. */
@@ -2752,7 +2709,7 @@ regoptail(regnode *p, regnode *val)
- regcurly - a little FSA that accepts {\d+,?\d*}
*/
STATIC I32
-regcurly(register char *s)
+regcurly(pTHX_ register char *s)
{
if (*s++ != '{')
return FALSE;
@@ -2771,7 +2728,7 @@ regcurly(register char *s)
STATIC regnode *
-dumpuntil(regnode *start, regnode *node, regnode *last, SV* sv, I32 l)
+dumpuntil(pTHX_ regnode *start, regnode *node, regnode *last, SV* sv, I32 l)
{
#ifdef DEBUGGING
register char op = EXACT; /* Arbitrary non-END op. */
@@ -2845,7 +2802,7 @@ dumpuntil(regnode *start, regnode *node, regnode *last, SV* sv, I32 l)
- regdump - dump a regexp onto Perl_debug_log in vaguely comprehensible form
*/
void
-regdump(regexp *r)
+Perl_regdump(pTHX_ regexp *r)
{
#ifdef DEBUGGING
dTHR;
@@ -2910,7 +2867,7 @@ regdump(regexp *r)
- regprop - printable representation of opcode
*/
void
-regprop(SV *sv, regnode *o)
+Perl_regprop(pTHX_ SV *sv, regnode *o)
{
#ifdef DEBUGGING
dTHR;
@@ -2940,7 +2897,7 @@ regprop(SV *sv, regnode *o)
}
void
-pregfree(struct regexp *r)
+Perl_pregfree(pTHX_ struct regexp *r)
{
dTHR;
if (!r || (--r->refcnt > 0))
@@ -3004,7 +2961,7 @@ pregfree(struct regexp *r)
* that bypass this code for speed.]
*/
regnode *
-regnext(register regnode *p)
+Perl_regnext(pTHX_ register regnode *p)
{
dTHR;
register I32 offset;
@@ -3020,7 +2977,7 @@ regnext(register regnode *p)
}
STATIC void
-re_croak2(const char* pat1,const char* pat2,...)
+re_croak2(pTHX_ const char* pat1,const char* pat2,...)
{
va_list args;
STRLEN l1 = strlen(pat1);
@@ -3056,7 +3013,7 @@ re_croak2(const char* pat1,const char* pat2,...)
/* XXX Here's a total kludge. But we need to re-enter for swash routines. */
void
-save_re_context(void)
+Perl_save_re_context(pTHX)
{
dTHR;
SAVEPPTR(PL_bostr);
diff --git a/regexec.c b/regexec.c
index a61c88a27d..d1f8189ec0 100644
--- a/regexec.c
+++ b/regexec.c
@@ -73,6 +73,7 @@
* regular-expression syntax might require a total rethink.
*/
#include "EXTERN.h"
+#define PERL_IN_REGEXEC_C
#include "perl.h"
#include "regcomp.h"
@@ -91,37 +92,16 @@
#define STATIC static
#endif
-#ifndef PERL_OBJECT
-typedef I32 CHECKPOINT;
-
/*
* Forwards.
*/
-static I32 regmatch (regnode *prog);
-static I32 regrepeat (regnode *p, I32 max);
-static I32 regrepeat_hard (regnode *p, I32 max, I32 *lp);
-static I32 regtry (regexp *prog, char *startpos);
-
-static bool reginclass (char *p, I32 c);
-static bool reginclassutf8 (regnode *f, U8* p);
-static CHECKPOINT regcppush (I32 parenfloor);
-static char * regcppop (void);
-static char * regcp_set_to (I32 ss);
-static void cache_re (regexp *prog);
-static void restore_pos (void *arg);
-#endif
-
#define REGINCLASS(p,c) (*(p) ? reginclass(p,c) : ANYOF_TEST(p,c))
#define REGINCLASSUTF8(f,p) (ARG1(f) ? reginclassutf8(f,p) : swash_fetch((SV*)PL_regdata->data[ARG2(f)],p))
#define CHR_SVLEN(sv) (UTF ? sv_len_utf8(sv) : SvCUR(sv))
#define CHR_DIST(a,b) (UTF ? utf8_distance(a,b) : a - b)
-#ifndef PERL_OBJECT
-static U8 * reghop (U8 *pos, I32 off);
-static U8 * reghopmaybe (U8 *pos, I32 off);
-#endif
#define reghop_c(pos,off) ((char*)reghop((U8*)pos, off))
#define reghopmaybe_c(pos,off) ((char*)reghopmaybe((U8*)pos, off))
#define HOP(pos,off) (UTF ? reghop((U8*)pos, off) : (U8*)(pos + off))
@@ -130,7 +110,7 @@ static U8 * reghopmaybe (U8 *pos, I32 off);
#define HOPMAYBEc(pos,off) ((char*)HOPMAYBE(pos,off))
STATIC CHECKPOINT
-regcppush(I32 parenfloor)
+regcppush(pTHX_ I32 parenfloor)
{
dTHR;
int retval = PL_savestack_ix;
@@ -163,7 +143,7 @@ regcppush(I32 parenfloor)
lastcp, PL_savestack_ix) : 0); regcpblow(lastcp)
STATIC char *
-regcppop(void)
+regcppop(pTHX)
{
dTHR;
I32 i = SSPOPINT;
@@ -207,7 +187,7 @@ regcppop(void)
}
STATIC char *
-regcp_set_to(I32 ss)
+regcp_set_to(pTHX_ I32 ss)
{
dTHR;
I32 tmp = PL_savestack_ix;
@@ -237,7 +217,7 @@ typedef struct re_cc_state
- pregexec - match a regexp against a string
*/
I32
-pregexec(register regexp *prog, char *stringarg, register char *strend,
+Perl_pregexec(pTHX_ register regexp *prog, char *stringarg, register char *strend,
char *strbeg, I32 minend, SV *screamer, U32 nosave)
/* strend: pointer to null at end of string */
/* strbeg: real beginning of string */
@@ -250,7 +230,7 @@ pregexec(register regexp *prog, char *stringarg, register char *strend,
}
STATIC void
-cache_re(regexp *prog)
+cache_re(pTHX_ regexp *prog)
{
dTHR;
PL_regprecomp = prog->precomp; /* Needed for FAIL. */
@@ -263,7 +243,7 @@ cache_re(regexp *prog)
}
STATIC void
-restore_pos(void *arg)
+restore_pos(pTHX_ void *arg)
{
dTHR;
if (PL_reg_eval_set) {
@@ -283,7 +263,7 @@ restore_pos(void *arg)
- regexec_flags - match a regexp against a string
*/
I32
-regexec_flags(register regexp *prog, char *stringarg, register char *strend,
+Perl_regexec_flags(pTHX_ register regexp *prog, char *stringarg, register char *strend,
char *strbeg, I32 minend, SV *sv, void *data, U32 flags)
/* strend: pointer to null at end of string */
/* strbeg: real beginning of string */
@@ -1050,7 +1030,7 @@ phooey:
- regtry - try match at specific point
*/
STATIC I32 /* 0 failure, 1 success */
-regtry(regexp *prog, char *startpos)
+regtry(pTHX_ regexp *prog, char *startpos)
{
dTHR;
register I32 i;
@@ -1162,7 +1142,7 @@ regtry(regexp *prog, char *startpos)
* advantage of machines that use a register save mask on subroutine entry.
*/
STATIC I32 /* 0 failure, 1 success */
-regmatch(regnode *prog)
+regmatch(pTHX_ regnode *prog)
{
dTHR;
register regnode *scan; /* Current node. */
@@ -2509,7 +2489,7 @@ no:
* rather than incrementing count on every character. [Er, except utf8.]]
*/
STATIC I32
-regrepeat(regnode *p, I32 max)
+regrepeat(pTHX_ regnode *p, I32 max)
{
dTHR;
register char *scan;
@@ -2723,7 +2703,7 @@ regrepeat(regnode *p, I32 max)
*/
STATIC I32
-regrepeat_hard(regnode *p, I32 max, I32 *lp)
+regrepeat_hard(pTHX_ regnode *p, I32 max, I32 *lp)
{
dTHR;
register char *scan;
@@ -2774,7 +2754,7 @@ regrepeat_hard(regnode *p, I32 max, I32 *lp)
*/
STATIC bool
-reginclass(register char *p, register I32 c)
+reginclass(pTHX_ register char *p, register I32 c)
{
dTHR;
char flags = *p;
@@ -2811,7 +2791,7 @@ reginclass(register char *p, register I32 c)
}
STATIC bool
-reginclassutf8(regnode *f, U8 *p)
+reginclassutf8(pTHX_ regnode *f, U8 *p)
{
dTHR;
char flags = ARG1(f);
@@ -2849,7 +2829,7 @@ reginclassutf8(regnode *f, U8 *p)
}
STATIC U8 *
-reghop(U8 *s, I32 off)
+reghop(pTHX_ U8 *s, I32 off)
{
dTHR;
if (off >= 0) {
@@ -2871,7 +2851,7 @@ reghop(U8 *s, I32 off)
}
STATIC U8 *
-reghopmaybe(U8* s, I32 off)
+reghopmaybe(pTHX_ U8* s, I32 off)
{
dTHR;
if (off >= 0) {
diff --git a/run.c b/run.c
index 514cd16a00..36fffd762b 100644
--- a/run.c
+++ b/run.c
@@ -8,6 +8,7 @@
*/
#include "EXTERN.h"
+#define PERL_IN_RUN_C
#include "perl.h"
/*
@@ -23,7 +24,7 @@
#endif
int
-runops_standard(void)
+Perl_runops_standard(pTHX)
{
dTHR;
@@ -33,15 +34,8 @@ runops_standard(void)
return 0;
}
-#ifdef DEBUGGING
-#ifndef PERL_OBJECT
-static void debprof (OP*o);
-#endif
-
-#endif /* DEBUGGING */
-
int
-runops_debug(void)
+Perl_runops_debug(pTHX)
{
#ifdef DEBUGGING
dTHR;
@@ -69,7 +63,7 @@ runops_debug(void)
}
I32
-debop(OP *o)
+Perl_debop(pTHX_ OP *o)
{
#ifdef DEBUGGING
SV *sv;
@@ -99,7 +93,7 @@ debop(OP *o)
}
void
-watch(char **addr)
+Perl_watch(pTHX_ char **addr)
{
#ifdef DEBUGGING
dTHR;
@@ -111,7 +105,7 @@ watch(char **addr)
}
STATIC void
-debprof(OP *o)
+debprof(pTHX_ OP *o)
{
#ifdef DEBUGGING
if (!PL_profiledata)
@@ -121,7 +115,7 @@ debprof(OP *o)
}
void
-debprofdump(void)
+Perl_debprofdump(pTHX)
{
#ifdef DEBUGGING
unsigned i;
diff --git a/scope.c b/scope.c
index ad7fe29c01..58272e12a5 100644
--- a/scope.c
+++ b/scope.c
@@ -13,10 +13,11 @@
*/
#include "EXTERN.h"
+#define PERL_IN_SCOPE_C
#include "perl.h"
void *
-default_protect(int *excpt, protect_body_t body, ...)
+Perl_default_protect(pTHX_ int *excpt, protect_body_t body, ...)
{
dTHR;
dJMPENV;
@@ -40,7 +41,7 @@ default_protect(int *excpt, protect_body_t body, ...)
}
SV**
-stack_grow(SV **sp, SV **p, int n)
+Perl_stack_grow(pTHX_ SV **sp, SV **p, int n)
{
dTHR;
#if defined(DEBUGGING) && !defined(USE_THREADS)
@@ -67,7 +68,7 @@ stack_grow(SV **sp, SV **p, int n)
#endif
PERL_SI *
-new_stackinfo(I32 stitems, I32 cxitems)
+Perl_new_stackinfo(pTHX_ I32 stitems, I32 cxitems)
{
PERL_SI *si;
PERL_CONTEXT *cxt;
@@ -87,7 +88,7 @@ new_stackinfo(I32 stitems, I32 cxitems)
}
I32
-cxinc(void)
+Perl_cxinc(pTHX)
{
dTHR;
cxstack_max = GROW(cxstack_max);
@@ -96,7 +97,7 @@ cxinc(void)
}
void
-push_return(OP *retop)
+Perl_push_return(pTHX_ OP *retop)
{
dTHR;
if (PL_retstack_ix == PL_retstack_max) {
@@ -107,7 +108,7 @@ push_return(OP *retop)
}
OP *
-pop_return(void)
+Perl_pop_return(pTHX)
{
dTHR;
if (PL_retstack_ix > 0)
@@ -117,7 +118,7 @@ pop_return(void)
}
void
-push_scope(void)
+Perl_push_scope(pTHX)
{
dTHR;
if (PL_scopestack_ix == PL_scopestack_max) {
@@ -129,7 +130,7 @@ push_scope(void)
}
void
-pop_scope(void)
+Perl_pop_scope(pTHX)
{
dTHR;
I32 oldsave = PL_scopestack[--PL_scopestack_ix];
@@ -137,7 +138,7 @@ pop_scope(void)
}
void
-markstack_grow(void)
+Perl_markstack_grow(pTHX)
{
dTHR;
I32 oldmax = PL_markstack_max - PL_markstack;
@@ -149,7 +150,7 @@ markstack_grow(void)
}
void
-savestack_grow(void)
+Perl_savestack_grow(pTHX)
{
dTHR;
PL_savestack_max = GROW(PL_savestack_max) + 4;
@@ -159,7 +160,7 @@ savestack_grow(void)
#undef GROW
void
-tmps_grow(I32 n)
+Perl_tmps_grow(pTHX_ I32 n)
{
dTHR;
#ifndef STRESS_REALLOC
@@ -172,7 +173,7 @@ tmps_grow(I32 n)
void
-free_tmps(void)
+Perl_free_tmps(pTHX)
{
dTHR;
/* XXX should tmps_floor live in cxstack? */
@@ -188,7 +189,7 @@ free_tmps(void)
}
STATIC SV *
-save_scalar_at(SV **sptr)
+save_scalar_at(pTHX_ SV **sptr)
{
dTHR;
register SV *sv;
@@ -219,7 +220,7 @@ save_scalar_at(SV **sptr)
}
SV *
-save_scalar(GV *gv)
+Perl_save_scalar(pTHX_ GV *gv)
{
dTHR;
SV **sptr = &GvSV(gv);
@@ -231,7 +232,7 @@ save_scalar(GV *gv)
}
SV*
-save_svref(SV **sptr)
+Perl_save_svref(pTHX_ SV **sptr)
{
dTHR;
SSCHECK(3);
@@ -244,7 +245,7 @@ save_svref(SV **sptr)
/* Like save_svref(), but doesn't deal with magic. Can be used to
* restore a global SV to its prior contents, freeing new value. */
void
-save_generic_svref(SV **sptr)
+Perl_save_generic_svref(pTHX_ SV **sptr)
{
dTHR;
SSCHECK(3);
@@ -254,7 +255,7 @@ save_generic_svref(SV **sptr)
}
void
-save_gp(GV *gv, I32 empty)
+Perl_save_gp(pTHX_ GV *gv, I32 empty)
{
dTHR;
SSCHECK(6);
@@ -285,7 +286,7 @@ save_gp(GV *gv, I32 empty)
}
AV *
-save_ary(GV *gv)
+Perl_save_ary(pTHX_ GV *gv)
{
dTHR;
AV *oav = GvAVn(gv);
@@ -313,7 +314,7 @@ save_ary(GV *gv)
}
HV *
-save_hash(GV *gv)
+Perl_save_hash(pTHX_ GV *gv)
{
dTHR;
HV *ohv, *hv;
@@ -338,7 +339,7 @@ save_hash(GV *gv)
}
void
-save_item(register SV *item)
+Perl_save_item(pTHX_ register SV *item)
{
dTHR;
register SV *sv = NEWSV(0,0);
@@ -351,7 +352,7 @@ save_item(register SV *item)
}
void
-save_int(int *intp)
+Perl_save_int(pTHX_ int *intp)
{
dTHR;
SSCHECK(3);
@@ -361,7 +362,7 @@ save_int(int *intp)
}
void
-save_long(long int *longp)
+Perl_save_long(pTHX_ long int *longp)
{
dTHR;
SSCHECK(3);
@@ -371,7 +372,7 @@ save_long(long int *longp)
}
void
-save_I32(I32 *intp)
+Perl_save_I32(pTHX_ I32 *intp)
{
dTHR;
SSCHECK(3);
@@ -381,7 +382,7 @@ save_I32(I32 *intp)
}
void
-save_I16(I16 *intp)
+Perl_save_I16(pTHX_ I16 *intp)
{
dTHR;
SSCHECK(3);
@@ -391,7 +392,7 @@ save_I16(I16 *intp)
}
void
-save_iv(IV *ivp)
+Perl_save_iv(pTHX_ IV *ivp)
{
dTHR;
SSCHECK(3);
@@ -404,7 +405,7 @@ save_iv(IV *ivp)
* force word-alignment and we'll miss the pointer.
*/
void
-save_pptr(char **pptr)
+Perl_save_pptr(pTHX_ char **pptr)
{
dTHR;
SSCHECK(3);
@@ -414,7 +415,7 @@ save_pptr(char **pptr)
}
void
-save_sptr(SV **sptr)
+Perl_save_sptr(pTHX_ SV **sptr)
{
dTHR;
SSCHECK(3);
@@ -424,7 +425,7 @@ save_sptr(SV **sptr)
}
SV **
-save_threadsv(PADOFFSET i)
+Perl_save_threadsv(pTHX_ PADOFFSET i)
{
#ifdef USE_THREADS
dTHR;
@@ -440,7 +441,7 @@ save_threadsv(PADOFFSET i)
}
void
-save_nogv(GV *gv)
+Perl_save_nogv(pTHX_ GV *gv)
{
dTHR;
SSCHECK(2);
@@ -449,7 +450,7 @@ save_nogv(GV *gv)
}
void
-save_hptr(HV **hptr)
+Perl_save_hptr(pTHX_ HV **hptr)
{
dTHR;
SSCHECK(3);
@@ -459,7 +460,7 @@ save_hptr(HV **hptr)
}
void
-save_aptr(AV **aptr)
+Perl_save_aptr(pTHX_ AV **aptr)
{
dTHR;
SSCHECK(3);
@@ -469,7 +470,7 @@ save_aptr(AV **aptr)
}
void
-save_freesv(SV *sv)
+Perl_save_freesv(pTHX_ SV *sv)
{
dTHR;
SSCHECK(2);
@@ -478,7 +479,7 @@ save_freesv(SV *sv)
}
void
-save_freeop(OP *o)
+Perl_save_freeop(pTHX_ OP *o)
{
dTHR;
SSCHECK(2);
@@ -487,7 +488,7 @@ save_freeop(OP *o)
}
void
-save_freepv(char *pv)
+Perl_save_freepv(pTHX_ char *pv)
{
dTHR;
SSCHECK(2);
@@ -496,7 +497,7 @@ save_freepv(char *pv)
}
void
-save_clearsv(SV **svp)
+Perl_save_clearsv(pTHX_ SV **svp)
{
dTHR;
SSCHECK(2);
@@ -505,7 +506,7 @@ save_clearsv(SV **svp)
}
void
-save_delete(HV *hv, char *key, I32 klen)
+Perl_save_delete(pTHX_ HV *hv, char *key, I32 klen)
{
dTHR;
SSCHECK(4);
@@ -516,7 +517,7 @@ save_delete(HV *hv, char *key, I32 klen)
}
void
-save_list(register SV **sarg, I32 maxsarg)
+Perl_save_list(pTHX_ register SV **sarg, I32 maxsarg)
{
dTHR;
register SV *sv;
@@ -534,9 +535,9 @@ save_list(register SV **sarg, I32 maxsarg)
void
#ifdef PERL_OBJECT
-save_destructor(DESTRUCTORFUNC f, void* p)
+Perl_save_destructor(pTHX_ DESTRUCTORFUNC f, void* p)
#else
-save_destructor(void (*f) (void *), void *p)
+Perl_save_destructor(pTHX_ void (*f) (void *), void *p)
#endif
{
dTHR;
@@ -547,7 +548,7 @@ save_destructor(void (*f) (void *), void *p)
}
void
-save_aelem(AV *av, I32 idx, SV **sptr)
+Perl_save_aelem(pTHX_ AV *av, I32 idx, SV **sptr)
{
dTHR;
SSCHECK(4);
@@ -559,7 +560,7 @@ save_aelem(AV *av, I32 idx, SV **sptr)
}
void
-save_helem(HV *hv, SV *key, SV **sptr)
+Perl_save_helem(pTHX_ HV *hv, SV *key, SV **sptr)
{
dTHR;
SSCHECK(4);
@@ -571,7 +572,7 @@ save_helem(HV *hv, SV *key, SV **sptr)
}
void
-save_op(void)
+Perl_save_op(pTHX)
{
dTHR;
SSCHECK(2);
@@ -580,7 +581,7 @@ save_op(void)
}
I32
-save_alloc(I32 size, I32 pad)
+Perl_save_alloc(pTHX_ I32 size, I32 pad)
{
dTHR;
register I32 start = pad + ((char*)&PL_savestack[PL_savestack_ix]
@@ -598,7 +599,7 @@ save_alloc(I32 size, I32 pad)
}
void
-leave_scope(I32 base)
+Perl_leave_scope(pTHX_ I32 base)
{
dTHR;
register SV *sv;
@@ -827,7 +828,7 @@ leave_scope(I32 base)
break;
case SAVEt_DESTRUCTOR:
ptr = SSPOPPTR;
- (CALLDESTRUCTOR)(ptr);
+ CALLDESTRUCTOR(ptr);
break;
case SAVEt_REGCONTEXT:
case SAVEt_ALLOC:
@@ -892,7 +893,7 @@ leave_scope(I32 base)
}
void
-cx_dump(PERL_CONTEXT *cx)
+Perl_cx_dump(pTHX_ PERL_CONTEXT *cx)
{
#ifdef DEBUGGING
dTHR;
diff --git a/scope.h b/scope.h
index 340ca993ce..01fc083804 100644
--- a/scope.h
+++ b/scope.h
@@ -82,16 +82,13 @@
#define SAVEDELETE(h,k,l) \
save_delete(SOFT_CAST(HV*)(h), SOFT_CAST(char*)(k), (I32)(l))
#ifdef PERL_OBJECT
-#define CALLDESTRUCTOR this->*SSPOPDPTR
-#define SAVEDESTRUCTOR(f,p) \
- save_destructor((DESTRUCTORFUNC)(FUNC_NAME_TO_PTR(f)), \
- SOFT_CAST(void*)(p))
+#define CALLDESTRUCTOR(p) this->*SSPOPDPTR(p)
#else
-#define CALLDESTRUCTOR *SSPOPDPTR
+#define CALLDESTRUCTOR(p) (*SSPOPDPTR)(aTHX_ p)
+#endif
#define SAVEDESTRUCTOR(f,p) \
- save_destructor(SOFT_CAST(void(*)(void*))(FUNC_NAME_TO_PTR(f)), \
+ save_destructor((DESTRUCTORFUNC_t)(FUNC_NAME_TO_PTR(f)), \
SOFT_CAST(void*)(p))
-#endif
#define SAVESTACK_POS() \
STMT_START { \
diff --git a/sv.c b/sv.c
index 042ffcc907..abb2da7594 100644
--- a/sv.c
+++ b/sv.c
@@ -12,6 +12,7 @@
*/
#include "EXTERN.h"
+#define PERL_IN_SV_C
#include "perl.h"
#ifdef OVR_DBL_DIG
@@ -39,36 +40,9 @@
#ifdef PERL_OBJECT
#define FCALL this->*f
#define VTBL this->*vtbl
-
#else /* !PERL_OBJECT */
-
-static IV asIV (SV* sv);
-static UV asUV (SV* sv);
-static SV *more_sv (void);
-static void more_xiv (void);
-static void more_xnv (void);
-static void more_xpv (void);
-static void more_xrv (void);
-static XPVIV *new_xiv (void);
-static XPVNV *new_xnv (void);
-static XPV *new_xpv (void);
-static XRV *new_xrv (void);
-static void del_xiv (XPVIV* p);
-static void del_xnv (XPVNV* p);
-static void del_xpv (XPV* p);
-static void del_xrv (XRV* p);
-static void sv_unglob (SV* sv);
-static void sv_add_backref (SV *tsv, SV *sv);
-static void sv_del_backref (SV *sv);
-
-#ifndef PURIFY
-static void *my_safemalloc(MEM_SIZE size);
-#endif
-
-typedef void (*SVFUNC) (SV*);
#define VTBL *vtbl
#define FCALL *f
-
#endif /* PERL_OBJECT */
#define SV_CHECK_THINKFIRST(sv) if (SvTHINKFIRST(sv)) sv_force_normal(sv)
@@ -117,7 +91,7 @@ static I32 registry_size;
#define REG_REMOVE(sv) REG_REPLACE(sv,sv,Nullsv)
STATIC void
-reg_add(SV *sv)
+reg_add(pTHX_ SV *sv)
{
if (PL_sv_count >= (registry_size >> 1))
{
@@ -144,14 +118,14 @@ reg_add(SV *sv)
}
STATIC void
-reg_remove(SV *sv)
+reg_remove(pTHX_ SV *sv)
{
REG_REMOVE(sv);
--PL_sv_count;
}
STATIC void
-visit(SVFUNC f)
+visit(pTHX_ SVFUNC_t f)
{
I32 i;
@@ -163,7 +137,7 @@ visit(SVFUNC f)
}
void
-sv_add_arena(char *ptr, U32 size, U32 flags)
+Perl_sv_add_arena(pTHX_ char *ptr, U32 size, U32 flags)
{
if (!(flags & SVf_FAKE))
Safefree(ptr);
@@ -217,7 +191,7 @@ sv_add_arena(char *ptr, U32 size, U32 flags)
} STMT_END
STATIC void
-del_sv(SV *p)
+del_sv(pTHX_ SV *p)
{
if (PL_debug & 32768) {
SV* sva;
@@ -245,7 +219,7 @@ del_sv(SV *p)
#endif /* DEBUGGING */
void
-sv_add_arena(char *ptr, U32 size, U32 flags)
+Perl_sv_add_arena(pTHX_ char *ptr, U32 size, U32 flags)
{
SV* sva = (SV*)ptr;
register SV* sv;
@@ -273,7 +247,7 @@ sv_add_arena(char *ptr, U32 size, U32 flags)
/* sv_mutex must be held while calling more_sv() */
STATIC SV*
-more_sv(void)
+more_sv(pTHX)
{
register SV* sv;
@@ -291,7 +265,7 @@ more_sv(void)
}
STATIC void
-visit(SVFUNC f)
+visit(pTHX_ SVFUNC_t f)
{
SV* sva;
SV* sv;
@@ -309,7 +283,7 @@ visit(SVFUNC f)
#endif /* PURIFY */
STATIC void
-do_report_used(SV *sv)
+do_report_used(pTHX_ SV *sv)
{
if (SvTYPE(sv) != SVTYPEMASK) {
/* XXX Perhaps this ought to go to Perl_debug_log, if DEBUGGING. */
@@ -319,13 +293,13 @@ do_report_used(SV *sv)
}
void
-sv_report_used(void)
+Perl_sv_report_used(pTHX)
{
visit(FUNC_NAME_TO_PTR(do_report_used));
}
STATIC void
-do_clean_objs(SV *sv)
+do_clean_objs(pTHX_ SV *sv)
{
SV* rv;
@@ -341,7 +315,7 @@ do_clean_objs(SV *sv)
#ifndef DISABLE_DESTRUCTOR_KLUDGE
STATIC void
-do_clean_named_objs(SV *sv)
+do_clean_named_objs(pTHX_ SV *sv)
{
if (SvTYPE(sv) == SVt_PVGV) {
if ( SvOBJECT(GvSV(sv)) ||
@@ -358,7 +332,7 @@ do_clean_named_objs(SV *sv)
#endif
void
-sv_clean_objs(void)
+Perl_sv_clean_objs(pTHX)
{
PL_in_clean_objs = TRUE;
visit(FUNC_NAME_TO_PTR(do_clean_objs));
@@ -370,7 +344,7 @@ sv_clean_objs(void)
}
STATIC void
-do_clean_all(SV *sv)
+do_clean_all(pTHX_ SV *sv)
{
DEBUG_D((PerlIO_printf(Perl_debug_log, "Cleaning loops: SV at 0x%lx\n", sv) );)
SvFLAGS(sv) |= SVf_BREAK;
@@ -378,7 +352,7 @@ do_clean_all(SV *sv)
}
void
-sv_clean_all(void)
+Perl_sv_clean_all(pTHX)
{
PL_in_clean_all = TRUE;
visit(FUNC_NAME_TO_PTR(do_clean_all));
@@ -386,7 +360,7 @@ sv_clean_all(void)
}
void
-sv_free_arenas(void)
+Perl_sv_free_arenas(pTHX)
{
SV* sva;
SV* svanext;
@@ -412,7 +386,7 @@ sv_free_arenas(void)
}
STATIC XPVIV*
-new_xiv(void)
+new_xiv(pTHX)
{
IV* xiv;
LOCK_SV_MUTEX;
@@ -428,7 +402,7 @@ new_xiv(void)
}
STATIC void
-del_xiv(XPVIV *p)
+del_xiv(pTHX_ XPVIV *p)
{
IV* xiv = (IV*)((char*)(p) + STRUCT_OFFSET(XPVIV, xiv_iv));
LOCK_SV_MUTEX;
@@ -438,7 +412,7 @@ del_xiv(XPVIV *p)
}
STATIC void
-more_xiv(void)
+more_xiv(pTHX)
{
register IV* xiv;
register IV* xivend;
@@ -459,7 +433,7 @@ more_xiv(void)
}
STATIC XPVNV*
-new_xnv(void)
+new_xnv(pTHX)
{
double* xnv;
LOCK_SV_MUTEX;
@@ -472,7 +446,7 @@ new_xnv(void)
}
STATIC void
-del_xnv(XPVNV *p)
+del_xnv(pTHX_ XPVNV *p)
{
double* xnv = (double*)((char*)(p) + STRUCT_OFFSET(XPVNV, xnv_nv));
LOCK_SV_MUTEX;
@@ -482,7 +456,7 @@ del_xnv(XPVNV *p)
}
STATIC void
-more_xnv(void)
+more_xnv(pTHX)
{
register double* xnv;
register double* xnvend;
@@ -498,7 +472,7 @@ more_xnv(void)
}
STATIC XRV*
-new_xrv(void)
+new_xrv(pTHX)
{
XRV* xrv;
LOCK_SV_MUTEX;
@@ -511,7 +485,7 @@ new_xrv(void)
}
STATIC void
-del_xrv(XRV *p)
+del_xrv(pTHX_ XRV *p)
{
LOCK_SV_MUTEX;
p->xrv_rv = (SV*)PL_xrv_root;
@@ -520,7 +494,7 @@ del_xrv(XRV *p)
}
STATIC void
-more_xrv(void)
+more_xrv(pTHX)
{
register XRV* xrv;
register XRV* xrvend;
@@ -535,7 +509,7 @@ more_xrv(void)
}
STATIC XPV*
-new_xpv(void)
+new_xpv(pTHX)
{
XPV* xpv;
LOCK_SV_MUTEX;
@@ -548,7 +522,7 @@ new_xpv(void)
}
STATIC void
-del_xpv(XPV *p)
+del_xpv(pTHX_ XPV *p)
{
LOCK_SV_MUTEX;
p->xpv_pv = (char*)PL_xpv_root;
@@ -557,7 +531,7 @@ del_xpv(XPV *p)
}
STATIC void
-more_xpv(void)
+more_xpv(pTHX)
{
register XPV* xpv;
register XPV* xpvend;
@@ -608,7 +582,7 @@ more_xpv(void)
# define my_safefree(s) safefree(s)
#else
STATIC void*
-my_safemalloc(MEM_SIZE size)
+my_safemalloc(pTHX_ MEM_SIZE size)
{
char *p;
New(717, p, size, char);
@@ -651,7 +625,7 @@ my_safemalloc(MEM_SIZE size)
#define del_XPVIO(p) my_safefree((char*)p)
bool
-sv_upgrade(register SV *sv, U32 mt)
+Perl_sv_upgrade(pTHX_ register SV *sv, U32 mt)
{
char* pv;
U32 cur;
@@ -925,7 +899,7 @@ sv_upgrade(register SV *sv, U32 mt)
}
int
-sv_backoff(register SV *sv)
+Perl_sv_backoff(pTHX_ register SV *sv)
{
assert(SvOOK(sv));
if (SvIVX(sv)) {
@@ -940,7 +914,7 @@ sv_backoff(register SV *sv)
}
char *
-sv_grow(register SV *sv, register STRLEN newlen)
+Perl_sv_grow(pTHX_ register SV *sv, register STRLEN newlen)
{
register char *s;
@@ -988,7 +962,7 @@ sv_grow(register SV *sv, register STRLEN newlen)
}
void
-sv_setiv(register SV *sv, IV i)
+Perl_sv_setiv(pTHX_ register SV *sv, IV i)
{
SV_CHECK_THINKFIRST(sv);
switch (SvTYPE(sv)) {
@@ -1021,14 +995,14 @@ sv_setiv(register SV *sv, IV i)
}
void
-sv_setiv_mg(register SV *sv, IV i)
+Perl_sv_setiv_mg(pTHX_ register SV *sv, IV i)
{
sv_setiv(sv,i);
SvSETMAGIC(sv);
}
void
-sv_setuv(register SV *sv, UV u)
+Perl_sv_setuv(pTHX_ register SV *sv, UV u)
{
sv_setiv(sv, 0);
SvIsUV_on(sv);
@@ -1036,14 +1010,14 @@ sv_setuv(register SV *sv, UV u)
}
void
-sv_setuv_mg(register SV *sv, UV u)
+Perl_sv_setuv_mg(pTHX_ register SV *sv, UV u)
{
sv_setuv(sv,u);
SvSETMAGIC(sv);
}
void
-sv_setnv(register SV *sv, double num)
+Perl_sv_setnv(pTHX_ register SV *sv, double num)
{
SV_CHECK_THINKFIRST(sv);
switch (SvTYPE(sv)) {
@@ -1075,14 +1049,14 @@ sv_setnv(register SV *sv, double num)
}
void
-sv_setnv_mg(register SV *sv, double num)
+Perl_sv_setnv_mg(pTHX_ register SV *sv, double num)
{
sv_setnv(sv,num);
SvSETMAGIC(sv);
}
STATIC void
-not_a_number(SV *sv)
+not_a_number(pTHX_ SV *sv)
{
dTHR;
char tmpbuf[64];
@@ -1146,7 +1120,7 @@ not_a_number(SV *sv)
until proven guilty, assume that things are not that bad... */
IV
-sv_2iv(register SV *sv)
+Perl_sv_2iv(pTHX_ register SV *sv)
{
if (!sv)
return 0;
@@ -1289,7 +1263,7 @@ sv_2iv(register SV *sv)
}
UV
-sv_2uv(register SV *sv)
+Perl_sv_2uv(pTHX_ register SV *sv)
{
if (!sv)
return 0;
@@ -1449,7 +1423,7 @@ sv_2uv(register SV *sv)
}
double
-sv_2nv(register SV *sv)
+Perl_sv_2nv(pTHX_ register SV *sv)
{
if (!sv)
return 0.0;
@@ -1545,7 +1519,7 @@ sv_2nv(register SV *sv)
}
STATIC IV
-asIV(SV *sv)
+asIV(pTHX_ SV *sv)
{
I32 numtype = looks_like_number(sv);
double d;
@@ -1563,7 +1537,7 @@ asIV(SV *sv)
}
STATIC UV
-asUV(SV *sv)
+asUV(pTHX_ SV *sv)
{
I32 numtype = looks_like_number(sv);
@@ -1594,7 +1568,7 @@ asUV(SV *sv)
*/
I32
-looks_like_number(SV *sv)
+Perl_looks_like_number(pTHX_ SV *sv)
{
/* XXXX 64-bit? It may be not IS_NUMBER_TO_INT_BY_ATOL, but
* using atof() may lose precision. */
@@ -1689,14 +1663,14 @@ looks_like_number(SV *sv)
}
char *
-sv_2pv_nolen(register SV *sv)
+Perl_sv_2pv_nolen(pTHX_ register SV *sv)
{
STRLEN n_a;
return sv_2pv(sv, &n_a);
}
/* We assume that buf is at least TYPE_CHARS(UV) long. */
-STATIC char *
+static char *
uiv_2buf(char *buf, IV iv, UV uv, int is_uv, char **peob)
{
STRLEN len;
@@ -1724,7 +1698,7 @@ uiv_2buf(char *buf, IV iv, UV uv, int is_uv, char **peob)
}
char *
-sv_2pv(register SV *sv, STRLEN *lp)
+Perl_sv_2pv(pTHX_ register SV *sv, STRLEN *lp)
{
register char *s;
int olderrno;
@@ -1987,7 +1961,7 @@ sv_2pv(register SV *sv, STRLEN *lp)
/* This function is only called on magical items */
bool
-sv_2bool(register SV *sv)
+Perl_sv_2bool(pTHX_ register SV *sv)
{
if (SvGMAGICAL(sv))
mg_get(sv);
@@ -2029,7 +2003,7 @@ sv_2bool(register SV *sv)
*/
void
-sv_setsv(SV *dstr, register SV *sstr)
+Perl_sv_setsv(pTHX_ SV *dstr, register SV *sstr)
{
dTHR;
register U32 sflags;
@@ -2405,14 +2379,14 @@ sv_setsv(SV *dstr, register SV *sstr)
}
void
-sv_setsv_mg(SV *dstr, register SV *sstr)
+Perl_sv_setsv_mg(pTHX_ SV *dstr, register SV *sstr)
{
sv_setsv(dstr,sstr);
SvSETMAGIC(dstr);
}
void
-sv_setpvn(register SV *sv, register const char *ptr, register STRLEN len)
+Perl_sv_setpvn(pTHX_ register SV *sv, register const char *ptr, register STRLEN len)
{
register char *dptr;
assert(len >= 0); /* STRLEN is probably unsigned, so this may
@@ -2434,14 +2408,14 @@ sv_setpvn(register SV *sv, register const char *ptr, register STRLEN len)
}
void
-sv_setpvn_mg(register SV *sv, register const char *ptr, register STRLEN len)
+Perl_sv_setpvn_mg(pTHX_ register SV *sv, register const char *ptr, register STRLEN len)
{
sv_setpvn(sv,ptr,len);
SvSETMAGIC(sv);
}
void
-sv_setpv(register SV *sv, register const char *ptr)
+Perl_sv_setpv(pTHX_ register SV *sv, register const char *ptr)
{
register STRLEN len;
@@ -2461,14 +2435,14 @@ sv_setpv(register SV *sv, register const char *ptr)
}
void
-sv_setpv_mg(register SV *sv, register const char *ptr)
+Perl_sv_setpv_mg(pTHX_ register SV *sv, register const char *ptr)
{
sv_setpv(sv,ptr);
SvSETMAGIC(sv);
}
void
-sv_usepvn(register SV *sv, register char *ptr, register STRLEN len)
+Perl_sv_usepvn(pTHX_ register SV *sv, register char *ptr, register STRLEN len)
{
SV_CHECK_THINKFIRST(sv);
(void)SvUPGRADE(sv, SVt_PV);
@@ -2489,14 +2463,14 @@ sv_usepvn(register SV *sv, register char *ptr, register STRLEN len)
}
void
-sv_usepvn_mg(register SV *sv, register char *ptr, register STRLEN len)
+Perl_sv_usepvn_mg(pTHX_ register SV *sv, register char *ptr, register STRLEN len)
{
sv_usepvn(sv,ptr,len);
SvSETMAGIC(sv);
}
void
-sv_force_normal(register SV *sv)
+Perl_sv_force_normal(pTHX_ register SV *sv)
{
if (SvREADONLY(sv)) {
dTHR;
@@ -2510,7 +2484,7 @@ sv_force_normal(register SV *sv)
}
void
-sv_chop(register SV *sv, register char *ptr) /* like set but assuming ptr is in sv */
+Perl_sv_chop(pTHX_ register SV *sv, register char *ptr) /* like set but assuming ptr is in sv */
{
@@ -2542,7 +2516,7 @@ sv_chop(register SV *sv, register char *ptr) /* like set but assuming ptr is in
}
void
-sv_catpvn(register SV *sv, register const char *ptr, register STRLEN len)
+Perl_sv_catpvn(pTHX_ register SV *sv, register const char *ptr, register STRLEN len)
{
STRLEN tlen;
char *junk;
@@ -2559,14 +2533,14 @@ sv_catpvn(register SV *sv, register const char *ptr, register STRLEN len)
}
void
-sv_catpvn_mg(register SV *sv, register const char *ptr, register STRLEN len)
+Perl_sv_catpvn_mg(pTHX_ register SV *sv, register const char *ptr, register STRLEN len)
{
sv_catpvn(sv,ptr,len);
SvSETMAGIC(sv);
}
void
-sv_catsv(SV *dstr, register SV *sstr)
+Perl_sv_catsv(pTHX_ SV *dstr, register SV *sstr)
{
char *s;
STRLEN len;
@@ -2577,14 +2551,14 @@ sv_catsv(SV *dstr, register SV *sstr)
}
void
-sv_catsv_mg(SV *dstr, register SV *sstr)
+Perl_sv_catsv_mg(pTHX_ SV *dstr, register SV *sstr)
{
sv_catsv(dstr,sstr);
SvSETMAGIC(dstr);
}
void
-sv_catpv(register SV *sv, register const char *ptr)
+Perl_sv_catpv(pTHX_ register SV *sv, register const char *ptr)
{
register STRLEN len;
STRLEN tlen;
@@ -2604,14 +2578,14 @@ sv_catpv(register SV *sv, register const char *ptr)
}
void
-sv_catpv_mg(register SV *sv, register const char *ptr)
+Perl_sv_catpv_mg(pTHX_ register SV *sv, register const char *ptr)
{
sv_catpv(sv,ptr);
SvSETMAGIC(sv);
}
SV *
-newSV(STRLEN len)
+Perl_newSV(pTHX_ STRLEN len)
{
register SV *sv;
@@ -2626,7 +2600,7 @@ newSV(STRLEN len)
/* name is assumed to contain an SV* if (name && namelen == HEf_SVKEY) */
void
-sv_magic(register SV *sv, SV *obj, int how, const char *name, I32 namlen)
+Perl_sv_magic(pTHX_ register SV *sv, SV *obj, int how, const char *name, I32 namlen)
{
MAGIC* mg;
@@ -2783,7 +2757,7 @@ sv_magic(register SV *sv, SV *obj, int how, const char *name, I32 namlen)
}
int
-sv_unmagic(SV *sv, int type)
+Perl_sv_unmagic(pTHX_ SV *sv, int type)
{
MAGIC* mg;
MAGIC** mgp;
@@ -2817,7 +2791,7 @@ sv_unmagic(SV *sv, int type)
}
SV *
-sv_rvweaken(SV *sv)
+Perl_sv_rvweaken(pTHX_ SV *sv)
{
SV *tsv;
if (!SvOK(sv)) /* let undefs pass */
@@ -2838,7 +2812,7 @@ sv_rvweaken(SV *sv)
}
STATIC void
-sv_add_backref(SV *tsv, SV *sv)
+sv_add_backref(pTHX_ SV *tsv, SV *sv)
{
AV *av;
MAGIC *mg;
@@ -2853,7 +2827,7 @@ sv_add_backref(SV *tsv, SV *sv)
}
STATIC void
-sv_del_backref(SV *sv)
+sv_del_backref(pTHX_ SV *sv)
{
AV *av;
SV **svp;
@@ -2874,7 +2848,7 @@ sv_del_backref(SV *sv)
}
void
-sv_insert(SV *bigstr, STRLEN offset, STRLEN len, char *little, STRLEN littlelen)
+Perl_sv_insert(pTHX_ SV *bigstr, STRLEN offset, STRLEN len, char *little, STRLEN littlelen)
{
register char *big;
register char *mid;
@@ -2959,7 +2933,7 @@ sv_insert(SV *bigstr, STRLEN offset, STRLEN len, char *little, STRLEN littlelen)
/* make sv point to what nstr did */
void
-sv_replace(register SV *sv, register SV *nsv)
+Perl_sv_replace(pTHX_ register SV *sv, register SV *nsv)
{
U32 refcnt = SvREFCNT(sv);
SV_CHECK_THINKFIRST(sv);
@@ -2985,7 +2959,7 @@ sv_replace(register SV *sv, register SV *nsv)
}
void
-sv_clear(register SV *sv)
+Perl_sv_clear(pTHX_ register SV *sv)
{
HV* stash;
assert(sv);
@@ -3015,8 +2989,8 @@ sv_clear(register SV *sv)
PUSHMARK(SP);
PUSHs(&tmpref);
PUTBACK;
- perl_call_sv((SV*)GvCV(destructor),
- G_DISCARD|G_EVAL|G_KEEPERR);
+ call_sv((SV*)GvCV(destructor),
+ G_DISCARD|G_EVAL|G_KEEPERR);
SvREFCNT(sv)--;
POPSTACK;
SPAGAIN;
@@ -3171,7 +3145,7 @@ sv_clear(register SV *sv)
}
SV *
-sv_newref(SV *sv)
+Perl_sv_newref(pTHX_ SV *sv)
{
if (sv)
ATOMIC_INC(SvREFCNT(sv));
@@ -3179,7 +3153,7 @@ sv_newref(SV *sv)
}
void
-sv_free(SV *sv)
+Perl_sv_free(pTHX_ SV *sv)
{
int refcount_is_zero;
@@ -3218,7 +3192,7 @@ sv_free(SV *sv)
}
STRLEN
-sv_len(register SV *sv)
+Perl_sv_len(pTHX_ register SV *sv)
{
char *junk;
STRLEN len;
@@ -3234,7 +3208,7 @@ sv_len(register SV *sv)
}
STRLEN
-sv_len_utf8(register SV *sv)
+Perl_sv_len_utf8(pTHX_ register SV *sv)
{
U8 *s;
U8 *send;
@@ -3259,7 +3233,7 @@ sv_len_utf8(register SV *sv)
}
void
-sv_pos_u2b(register SV *sv, I32* offsetp, I32* lenp)
+Perl_sv_pos_u2b(pTHX_ register SV *sv, I32* offsetp, I32* lenp)
{
U8 *start;
U8 *s;
@@ -3290,7 +3264,7 @@ sv_pos_u2b(register SV *sv, I32* offsetp, I32* lenp)
}
void
-sv_pos_b2u(register SV *sv, I32* offsetp)
+Perl_sv_pos_b2u(pTHX_ register SV *sv, I32* offsetp)
{
U8 *s;
U8 *send;
@@ -3317,7 +3291,7 @@ sv_pos_b2u(register SV *sv, I32* offsetp)
}
I32
-sv_eq(register SV *str1, register SV *str2)
+Perl_sv_eq(pTHX_ register SV *str1, register SV *str2)
{
char *pv1;
STRLEN cur1;
@@ -3343,7 +3317,7 @@ sv_eq(register SV *str1, register SV *str2)
}
I32
-sv_cmp(register SV *str1, register SV *str2)
+Perl_sv_cmp(pTHX_ register SV *str1, register SV *str2)
{
STRLEN cur1 = 0;
char *pv1 = str1 ? SvPV(str1, cur1) : (char *) NULL;
@@ -3369,7 +3343,7 @@ sv_cmp(register SV *str1, register SV *str2)
}
I32
-sv_cmp_locale(register SV *sv1, register SV *sv2)
+Perl_sv_cmp_locale(pTHX_ register SV *sv1, register SV *sv2)
{
#ifdef USE_LOCALE_COLLATE
@@ -3424,7 +3398,7 @@ sv_cmp_locale(register SV *sv1, register SV *sv2)
* according to the locale settings.
*/
char *
-sv_collxfrm(SV *sv, STRLEN *nxp)
+Perl_sv_collxfrm(pTHX_ SV *sv, STRLEN *nxp)
{
MAGIC *mg;
@@ -3470,7 +3444,7 @@ sv_collxfrm(SV *sv, STRLEN *nxp)
#endif /* USE_LOCALE_COLLATE */
char *
-sv_gets(register SV *sv, register PerlIO *fp, I32 append)
+Perl_sv_gets(pTHX_ register SV *sv, register PerlIO *fp, I32 append)
{
dTHR;
char *rsptr;
@@ -3734,7 +3708,7 @@ screamer2:
void
-sv_inc(register SV *sv)
+Perl_sv_inc(pTHX_ register SV *sv)
{
register char *d;
int flags;
@@ -3836,7 +3810,7 @@ sv_inc(register SV *sv)
}
void
-sv_dec(register SV *sv)
+Perl_sv_dec(pTHX_ register SV *sv)
{
int flags;
@@ -3902,7 +3876,7 @@ sv_dec(register SV *sv)
* permanent location. */
SV *
-sv_mortalcopy(SV *oldstr)
+Perl_sv_mortalcopy(pTHX_ SV *oldstr)
{
dTHR;
register SV *sv;
@@ -3916,7 +3890,7 @@ sv_mortalcopy(SV *oldstr)
}
SV *
-sv_newmortal(void)
+Perl_sv_newmortal(pTHX)
{
dTHR;
register SV *sv;
@@ -3931,7 +3905,7 @@ sv_newmortal(void)
/* same thing without the copying */
SV *
-sv_2mortal(register SV *sv)
+Perl_sv_2mortal(pTHX_ register SV *sv)
{
dTHR;
if (!sv)
@@ -3945,7 +3919,7 @@ sv_2mortal(register SV *sv)
}
SV *
-newSVpv(const char *s, STRLEN len)
+Perl_newSVpv(pTHX_ const char *s, STRLEN len)
{
register SV *sv;
@@ -3957,7 +3931,7 @@ newSVpv(const char *s, STRLEN len)
}
SV *
-newSVpvn(const char *s, STRLEN len)
+Perl_newSVpvn(pTHX_ const char *s, STRLEN len)
{
register SV *sv;
@@ -3967,7 +3941,7 @@ newSVpvn(const char *s, STRLEN len)
}
SV *
-newSVpvf(const char* pat, ...)
+Perl_newSVpvf(pTHX_ const char* pat, ...)
{
register SV *sv;
va_list args;
@@ -3981,7 +3955,7 @@ newSVpvf(const char* pat, ...)
SV *
-newSVnv(double n)
+Perl_newSVnv(pTHX_ double n)
{
register SV *sv;
@@ -3991,7 +3965,7 @@ newSVnv(double n)
}
SV *
-newSViv(IV i)
+Perl_newSViv(pTHX_ IV i)
{
register SV *sv;
@@ -4001,7 +3975,7 @@ newSViv(IV i)
}
SV *
-newRV_noinc(SV *tmpRef)
+Perl_newRV_noinc(pTHX_ SV *tmpRef)
{
dTHR;
register SV *sv;
@@ -4015,7 +3989,7 @@ newRV_noinc(SV *tmpRef)
}
SV *
-newRV(SV *tmpRef)
+Perl_newRV(pTHX_ SV *tmpRef)
{
return newRV_noinc(SvREFCNT_inc(tmpRef));
}
@@ -4023,7 +3997,7 @@ newRV(SV *tmpRef)
/* make an exact duplicate of old */
SV *
-newSVsv(register SV *old)
+Perl_newSVsv(pTHX_ register SV *old)
{
register SV *sv;
@@ -4045,7 +4019,7 @@ newSVsv(register SV *old)
}
void
-sv_reset(register char *s, HV *stash)
+Perl_sv_reset(pTHX_ register char *s, HV *stash)
{
register HE *entry;
register GV *gv;
@@ -4117,7 +4091,7 @@ sv_reset(register char *s, HV *stash)
}
IO*
-sv_2io(SV *sv)
+Perl_sv_2io(pTHX_ SV *sv)
{
IO* io;
GV* gv;
@@ -4151,7 +4125,7 @@ sv_2io(SV *sv)
}
CV *
-sv_2cv(SV *sv, HV **st, GV **gvp, I32 lref)
+Perl_sv_2cv(pTHX_ SV *sv, HV **st, GV **gvp, I32 lref)
{
GV *gv;
CV *cv;
@@ -4224,7 +4198,7 @@ sv_2cv(SV *sv, HV **st, GV **gvp, I32 lref)
}
I32
-sv_true(register SV *sv)
+Perl_sv_true(pTHX_ register SV *sv)
{
dTHR;
if (!sv)
@@ -4252,7 +4226,7 @@ sv_true(register SV *sv)
}
IV
-sv_iv(register SV *sv)
+Perl_sv_iv(pTHX_ register SV *sv)
{
if (SvIOK(sv)) {
if (SvIsUV(sv))
@@ -4263,7 +4237,7 @@ sv_iv(register SV *sv)
}
UV
-sv_uv(register SV *sv)
+Perl_sv_uv(pTHX_ register SV *sv)
{
if (SvIOK(sv)) {
if (SvIsUV(sv))
@@ -4274,7 +4248,7 @@ sv_uv(register SV *sv)
}
double
-sv_nv(register SV *sv)
+Perl_sv_nv(pTHX_ register SV *sv)
{
if (SvNOK(sv))
return SvNVX(sv);
@@ -4282,7 +4256,7 @@ sv_nv(register SV *sv)
}
char *
-sv_pv(SV *sv)
+Perl_sv_pv(pTHX_ SV *sv)
{
STRLEN n_a;
@@ -4293,7 +4267,7 @@ sv_pv(SV *sv)
}
char *
-sv_pvn(SV *sv, STRLEN *lp)
+Perl_sv_pvn(pTHX_ SV *sv, STRLEN *lp)
{
if (SvPOK(sv)) {
*lp = SvCUR(sv);
@@ -4303,7 +4277,7 @@ sv_pvn(SV *sv, STRLEN *lp)
}
char *
-sv_pvn_force(SV *sv, STRLEN *lp)
+Perl_sv_pvn_force(pTHX_ SV *sv, STRLEN *lp)
{
char *s;
@@ -4343,7 +4317,7 @@ sv_pvn_force(SV *sv, STRLEN *lp)
}
char *
-sv_reftype(SV *sv, int ob)
+Perl_sv_reftype(pTHX_ SV *sv, int ob)
{
if (ob && SvOBJECT(sv))
return HvNAME(SvSTASH(sv));
@@ -4374,7 +4348,7 @@ sv_reftype(SV *sv, int ob)
}
int
-sv_isobject(SV *sv)
+Perl_sv_isobject(pTHX_ SV *sv)
{
if (!sv)
return 0;
@@ -4389,7 +4363,7 @@ sv_isobject(SV *sv)
}
int
-sv_isa(SV *sv, const char *name)
+Perl_sv_isa(pTHX_ SV *sv, const char *name)
{
if (!sv)
return 0;
@@ -4405,7 +4379,7 @@ sv_isa(SV *sv, const char *name)
}
SV*
-newSVrv(SV *rv, const char *classname)
+Perl_newSVrv(pTHX_ SV *rv, const char *classname)
{
dTHR;
SV *sv;
@@ -4430,7 +4404,7 @@ newSVrv(SV *rv, const char *classname)
}
SV*
-sv_setref_pv(SV *rv, const char *classname, void *pv)
+Perl_sv_setref_pv(pTHX_ SV *rv, const char *classname, void *pv)
{
if (!pv) {
sv_setsv(rv, &PL_sv_undef);
@@ -4442,28 +4416,28 @@ sv_setref_pv(SV *rv, const char *classname, void *pv)
}
SV*
-sv_setref_iv(SV *rv, const char *classname, IV iv)
+Perl_sv_setref_iv(pTHX_ SV *rv, const char *classname, IV iv)
{
sv_setiv(newSVrv(rv,classname), iv);
return rv;
}
SV*
-sv_setref_nv(SV *rv, const char *classname, double nv)
+Perl_sv_setref_nv(pTHX_ SV *rv, const char *classname, double nv)
{
sv_setnv(newSVrv(rv,classname), nv);
return rv;
}
SV*
-sv_setref_pvn(SV *rv, const char *classname, char *pv, STRLEN n)
+Perl_sv_setref_pvn(pTHX_ SV *rv, const char *classname, char *pv, STRLEN n)
{
sv_setpvn(newSVrv(rv,classname), pv, n);
return rv;
}
SV*
-sv_bless(SV *sv, HV *stash)
+Perl_sv_bless(pTHX_ SV *sv, HV *stash)
{
dTHR;
SV *tmpRef;
@@ -4494,7 +4468,7 @@ sv_bless(SV *sv, HV *stash)
}
STATIC void
-sv_unglob(SV *sv)
+sv_unglob(pTHX_ SV *sv)
{
assert(SvTYPE(sv) == SVt_PVGV);
SvFAKE_off(sv);
@@ -4512,7 +4486,7 @@ sv_unglob(SV *sv)
}
void
-sv_unref(SV *sv)
+Perl_sv_unref(pTHX_ SV *sv)
{
SV* rv = SvRV(sv);
@@ -4531,13 +4505,13 @@ sv_unref(SV *sv)
}
void
-sv_taint(SV *sv)
+Perl_sv_taint(pTHX_ SV *sv)
{
sv_magic((sv), Nullsv, 't', Nullch, 0);
}
void
-sv_untaint(SV *sv)
+Perl_sv_untaint(pTHX_ SV *sv)
{
if (SvTYPE(sv) >= SVt_PVMG && SvMAGIC(sv)) {
MAGIC *mg = mg_find(sv, 't');
@@ -4547,7 +4521,7 @@ sv_untaint(SV *sv)
}
bool
-sv_tainted(SV *sv)
+Perl_sv_tainted(pTHX_ SV *sv)
{
if (SvTYPE(sv) >= SVt_PVMG && SvMAGIC(sv)) {
MAGIC *mg = mg_find(sv, 't');
@@ -4558,7 +4532,7 @@ sv_tainted(SV *sv)
}
void
-sv_setpviv(SV *sv, IV iv)
+Perl_sv_setpviv(pTHX_ SV *sv, IV iv)
{
char buf[TYPE_CHARS(UV)];
char *ebuf;
@@ -4569,7 +4543,7 @@ sv_setpviv(SV *sv, IV iv)
void
-sv_setpviv_mg(SV *sv, IV iv)
+Perl_sv_setpviv_mg(pTHX_ SV *sv, IV iv)
{
char buf[TYPE_CHARS(UV)];
char *ebuf;
@@ -4580,7 +4554,7 @@ sv_setpviv_mg(SV *sv, IV iv)
}
void
-sv_setpvf(SV *sv, const char* pat, ...)
+Perl_sv_setpvf(pTHX_ SV *sv, const char* pat, ...)
{
va_list args;
va_start(args, pat);
@@ -4590,7 +4564,7 @@ sv_setpvf(SV *sv, const char* pat, ...)
void
-sv_setpvf_mg(SV *sv, const char* pat, ...)
+Perl_sv_setpvf_mg(pTHX_ SV *sv, const char* pat, ...)
{
va_list args;
va_start(args, pat);
@@ -4600,7 +4574,7 @@ sv_setpvf_mg(SV *sv, const char* pat, ...)
}
void
-sv_catpvf(SV *sv, const char* pat, ...)
+Perl_sv_catpvf(pTHX_ SV *sv, const char* pat, ...)
{
va_list args;
va_start(args, pat);
@@ -4609,7 +4583,7 @@ sv_catpvf(SV *sv, const char* pat, ...)
}
void
-sv_catpvf_mg(SV *sv, const char* pat, ...)
+Perl_sv_catpvf_mg(pTHX_ SV *sv, const char* pat, ...)
{
va_list args;
va_start(args, pat);
@@ -4619,14 +4593,14 @@ sv_catpvf_mg(SV *sv, const char* pat, ...)
}
void
-sv_vsetpvfn(SV *sv, const char *pat, STRLEN patlen, va_list *args, SV **svargs, I32 svmax, bool *used_locale)
+Perl_sv_vsetpvfn(pTHX_ SV *sv, const char *pat, STRLEN patlen, va_list *args, SV **svargs, I32 svmax, bool *used_locale)
{
sv_setpvn(sv, "", 0);
sv_vcatpvfn(sv, pat, patlen, args, svargs, svmax, used_locale);
}
void
-sv_vcatpvfn(SV *sv, const char *pat, STRLEN patlen, va_list *args, SV **svargs, I32 svmax, bool *used_locale)
+Perl_sv_vcatpvfn(pTHX_ SV *sv, const char *pat, STRLEN patlen, va_list *args, SV **svargs, I32 svmax, bool *used_locale)
{
dTHR;
char *p;
diff --git a/taint.c b/taint.c
index e163eb4135..4d000a1b36 100644
--- a/taint.c
+++ b/taint.c
@@ -5,10 +5,11 @@
*/
#include "EXTERN.h"
+#define PERL_IN_TAINT_C
#include "perl.h"
void
-taint_proper(const char *f, char *s)
+Perl_taint_proper(pTHX_ const char *f, char *s)
{
dTHR; /* just for taint */
char *ug;
@@ -33,7 +34,7 @@ taint_proper(const char *f, char *s)
}
void
-taint_env(void)
+Perl_taint_env(pTHX)
{
SV** svp;
MAGIC* mg;
diff --git a/toke.c b/toke.c
index 46b8c6e445..af93ad80e4 100644
--- a/toke.c
+++ b/toke.c
@@ -12,52 +12,12 @@
*/
#include "EXTERN.h"
+#define PERL_IN_TOKE_C
#include "perl.h"
#define yychar PL_yychar
#define yylval PL_yylval
-#ifndef PERL_OBJECT
-static void check_uni (void);
-static void force_next (I32 type);
-static char *force_version (char *start);
-static char *force_word (char *start, int token, int check_keyword, int allow_pack, int allow_tick);
-static SV *tokeq (SV *sv);
-static char *scan_const (char *start);
-static char *scan_formline (char *s);
-static char *scan_heredoc (char *s);
-static char *scan_ident (char *s, char *send, char *dest, STRLEN destlen,
- I32 ck_uni);
-static char *scan_inputsymbol (char *start);
-static char *scan_pat (char *start, I32 type);
-static char *scan_str (char *start);
-static char *scan_subst (char *start);
-static char *scan_trans (char *start);
-static char *scan_word (char *s, char *dest, STRLEN destlen,
- int allow_package, STRLEN *slp);
-static char *skipspace (char *s);
-static void checkcomma (char *s, char *name, char *what);
-static void force_ident (char *s, int kind);
-static void incline (char *s);
-static int intuit_method (char *s, GV *gv);
-static int intuit_more (char *s);
-static I32 lop (I32 f, expectation x, char *s);
-static void missingterm (char *s);
-static void no_op (char *what, char *s);
-static void set_csh (void);
-static I32 sublex_done (void);
-static I32 sublex_push (void);
-static I32 sublex_start (void);
-#ifdef CRIPPLED_CC
-static int uni (I32 f, char *s);
-#endif
-static char * filter_gets (SV *sv, PerlIO *fp, STRLEN append);
-static void restore_rsfp (void *f);
-static SV *new_constant (char *s, STRLEN len, char *key, SV *sv, SV *pv, char *type);
-static void restore_expect (void *e);
-static void restore_lex_expect (void *e);
-#endif /* PERL_OBJECT */
-
static char ident_too_long[] = "Identifier too long";
#define UTF (PL_hints & HINT_UTF8)
@@ -121,6 +81,7 @@ int* yychar_pointer = NULL;
# define yylval (*yylval_pointer)
# define yychar (*yychar_pointer)
# define PERL_YYLEX_PARAM yylval_pointer,yychar_pointer
+# define yylex(a,b) Perl_yylex(aTHX_ a, b)
#else
# define PERL_YYLEX_PARAM
#endif
@@ -172,7 +133,7 @@ int* yychar_pointer = NULL;
#define OLDLOP(f) return(yylval.ival=f,PL_expect = XTERM,PL_bufptr = s,(int)LSTOP)
STATIC int
-ao(int toketype)
+ao(pTHX_ int toketype)
{
if (*PL_bufptr == '=') {
PL_bufptr++;
@@ -186,7 +147,7 @@ ao(int toketype)
}
STATIC void
-no_op(char *what, char *s)
+no_op(pTHX_ char *what, char *s)
{
char *oldbp = PL_bufptr;
bool is_first = (PL_oldbufptr == PL_linestart);
@@ -211,7 +172,7 @@ no_op(char *what, char *s)
}
STATIC void
-missingterm(char *s)
+missingterm(pTHX_ char *s)
{
char tmpbuf[3];
char q;
@@ -243,7 +204,7 @@ missingterm(char *s)
}
void
-deprecate(char *s)
+Perl_deprecate(pTHX_ char *s)
{
dTHR;
if (ckWARN(WARN_DEPRECATED))
@@ -251,7 +212,7 @@ deprecate(char *s)
}
STATIC void
-depcom(void)
+depcom(pTHX)
{
deprecate("comma-less variable list");
}
@@ -259,7 +220,7 @@ depcom(void)
#ifdef WIN32
STATIC I32
-win32_textfilter(int idx, SV *sv, int maxlen)
+win32_textfilter(pTHX_ int idx, SV *sv, int maxlen)
{
I32 count = FILTER_READ(idx+1, sv, maxlen);
if (count > 0 && !maxlen)
@@ -268,10 +229,8 @@ win32_textfilter(int idx, SV *sv, int maxlen)
}
#endif
-#ifndef PERL_OBJECT
-
STATIC I32
-utf16_textfilter(int idx, SV *sv, int maxlen)
+utf16_textfilter(pTHX_ int idx, SV *sv, int maxlen)
{
I32 count = FILTER_READ(idx+1, sv, maxlen);
if (count) {
@@ -286,7 +245,7 @@ utf16_textfilter(int idx, SV *sv, int maxlen)
}
STATIC I32
-utf16rev_textfilter(int idx, SV *sv, int maxlen)
+utf16rev_textfilter(pTHX_ int idx, SV *sv, int maxlen)
{
I32 count = FILTER_READ(idx+1, sv, maxlen);
if (count) {
@@ -300,10 +259,8 @@ utf16rev_textfilter(int idx, SV *sv, int maxlen)
return count;
}
-#endif
-
void
-lex_start(SV *line)
+Perl_lex_start(pTHX_ SV *line)
{
dTHR;
char *s;
@@ -368,13 +325,13 @@ lex_start(SV *line)
}
void
-lex_end(void)
+Perl_lex_end(pTHX)
{
PL_doextract = FALSE;
}
STATIC void
-restore_rsfp(void *f)
+restore_rsfp(pTHX_ void *f)
{
PerlIO *fp = (PerlIO*)f;
@@ -386,21 +343,21 @@ restore_rsfp(void *f)
}
STATIC void
-restore_expect(void *e)
+restore_expect(pTHX_ void *e)
{
/* a safe way to store a small integer in a pointer */
PL_expect = (expectation)((char *)e - PL_tokenbuf);
}
STATIC void
-restore_lex_expect(void *e)
+restore_lex_expect(pTHX_ void *e)
{
/* a safe way to store a small integer in a pointer */
PL_lex_expect = (expectation)((char *)e - PL_tokenbuf);
}
STATIC void
-incline(char *s)
+incline(pTHX_ char *s)
{
dTHR;
char *t;
@@ -441,7 +398,7 @@ incline(char *s)
}
STATIC char *
-skipspace(register char *s)
+skipspace(pTHX_ register char *s)
{
dTHR;
if (PL_lex_formbrack && PL_lex_brackets <= PL_lex_formbrack) {
@@ -504,7 +461,7 @@ skipspace(register char *s)
}
STATIC void
-check_uni(void)
+check_uni(pTHX)
{
char *s;
char ch;
@@ -529,7 +486,7 @@ check_uni(void)
#define UNI(f) return uni(f,s)
STATIC int
-uni(I32 f, char *s)
+uni(pTHX_ I32 f, char *s)
{
yylval.ival = f;
PL_expect = XTERM;
@@ -550,7 +507,7 @@ uni(I32 f, char *s)
#define LOP(f,x) return lop(f,x,s)
STATIC I32
-lop(I32 f, expectation x, char *s)
+lop(pTHX_ I32 f, expectation x, char *s)
{
dTHR;
yylval.ival = f;
@@ -571,7 +528,7 @@ lop(I32 f, expectation x, char *s)
}
STATIC void
-force_next(I32 type)
+force_next(pTHX_ I32 type)
{
PL_nexttype[PL_nexttoke] = type;
PL_nexttoke++;
@@ -583,7 +540,7 @@ force_next(I32 type)
}
STATIC char *
-force_word(register char *start, int token, int check_keyword, int allow_pack, int allow_initial_tick)
+force_word(pTHX_ register char *start, int token, int check_keyword, int allow_pack, int allow_initial_tick)
{
register char *s;
STRLEN len;
@@ -613,7 +570,7 @@ force_word(register char *start, int token, int check_keyword, int allow_pack, i
}
STATIC void
-force_ident(register char *s, int kind)
+force_ident(pTHX_ register char *s, int kind)
{
if (s && *s) {
OP* o = (OP*)newSVOP(OP_CONST, 0, newSVpv(s,0));
@@ -636,7 +593,7 @@ force_ident(register char *s, int kind)
}
STATIC char *
-force_version(char *s)
+force_version(pTHX_ char *s)
{
OP *version = Nullop;
@@ -663,7 +620,7 @@ force_version(char *s)
}
STATIC SV *
-tokeq(SV *sv)
+tokeq(pTHX_ SV *sv)
{
register char *s;
register char *send;
@@ -701,7 +658,7 @@ tokeq(SV *sv)
}
STATIC I32
-sublex_start(void)
+sublex_start(pTHX)
{
register I32 op_type = yylval.ival;
@@ -745,7 +702,7 @@ sublex_start(void)
}
STATIC I32
-sublex_push(void)
+sublex_push(pTHX)
{
dTHR;
ENTER;
@@ -798,7 +755,7 @@ sublex_push(void)
}
STATIC I32
-sublex_done(void)
+sublex_done(pTHX)
{
if (!PL_lex_starts++) {
PL_expect = XOPERATOR;
@@ -921,7 +878,7 @@ sublex_done(void)
*/
STATIC char *
-scan_const(char *start)
+scan_const(pTHX_ char *start)
{
register char *send = PL_bufend; /* end of the constant */
SV *sv = NEWSV(93, send - start); /* sv for the constant */
@@ -1235,7 +1192,7 @@ scan_const(char *start)
/* This is the one truly awful dwimmer necessary to conflate C and sed. */
STATIC int
-intuit_more(register char *s)
+intuit_more(pTHX_ register char *s)
{
if (PL_lex_brackets)
return TRUE;
@@ -1365,7 +1322,7 @@ intuit_more(register char *s)
}
STATIC int
-intuit_method(char *start, GV *gv)
+intuit_method(pTHX_ char *start, GV *gv)
{
char *s = start + (*start == '$');
char tmpbuf[sizeof PL_tokenbuf];
@@ -1424,7 +1381,7 @@ intuit_method(char *start, GV *gv)
}
STATIC char*
-incl_perldb(void)
+incl_perldb(pTHX)
{
if (PL_perldb) {
char *pdb = PerlEnv_getenv("PERL5DB");
@@ -1455,7 +1412,7 @@ incl_perldb(void)
*/
SV *
-filter_add(filter_t funcp, SV *datasv)
+Perl_filter_add(pTHX_ filter_t funcp, SV *datasv)
{
if (!funcp){ /* temporary handy debugging hack to be deleted */
PL_filter_debug = atoi((char*)datasv);
@@ -1480,7 +1437,7 @@ filter_add(filter_t funcp, SV *datasv)
/* Delete most recently added instance of this filter function. */
void
-filter_del(filter_t funcp)
+Perl_filter_del(pTHX_ filter_t funcp)
{
if (PL_filter_debug)
warn("filter_del func %p", funcp);
@@ -1500,7 +1457,7 @@ filter_del(filter_t funcp)
/* Invoke the n'th filter function for the current rsfp. */
I32
-filter_read(int idx, SV *buf_sv, int maxlen)
+Perl_filter_read(pTHX_ int idx, SV *buf_sv, int maxlen)
/* 0 = read one text line */
@@ -1560,7 +1517,7 @@ filter_read(int idx, SV *buf_sv, int maxlen)
}
STATIC char *
-filter_gets(register SV *sv, register PerlIO *fp, STRLEN append)
+filter_gets(pTHX_ register SV *sv, register PerlIO *fp, STRLEN append)
{
#ifdef WIN32FILTER
if (!PL_rsfp_filters) {
@@ -1611,7 +1568,12 @@ filter_gets(register SV *sv, register PerlIO *fp, STRLEN append)
if we already built the token before, use it.
*/
-int yylex(PERL_YYLEX_PARAM_DECL)
+int
+#ifdef USE_PURE_BISON
+yylex(pTHX_ YYSTYPE *lvalp, int *lcharp)
+#else
+yylex(pTHX)
+#endif
{
dTHR;
register char *s;
@@ -2758,7 +2720,7 @@ int yylex(PERL_YYLEX_PARAM_DECL)
if (isIDFIRST_lazy(t)) {
t = scan_word(t, tmpbuf, sizeof tmpbuf, TRUE, &len);
for (; isSPACE(*t); t++) ;
- if (*t == ';' && perl_get_cv(tmpbuf, FALSE))
+ if (*t == ';' && get_cv(tmpbuf, FALSE))
warner(WARN_SYNTAX,
"You need to quote \"%s\"", tmpbuf);
}
@@ -4308,7 +4270,7 @@ int yylex(PERL_YYLEX_PARAM_DECL)
}
I32
-keyword(register char *d, I32 len)
+Perl_keyword(pTHX_ register char *d, I32 len)
{
switch (*d) {
case '_':
@@ -4927,7 +4889,7 @@ keyword(register char *d, I32 len)
}
STATIC void
-checkcomma(register char *s, char *name, char *what)
+checkcomma(pTHX_ register char *s, char *name, char *what)
{
char *w;
@@ -4962,7 +4924,7 @@ checkcomma(register char *s, char *name, char *what)
if (*s == ',') {
int kw;
*s = '\0';
- kw = keyword(w, s - w) || perl_get_cv(w, FALSE) != 0;
+ kw = keyword(w, s - w) || get_cv(w, FALSE) != 0;
*s = ',';
if (kw)
return;
@@ -4972,7 +4934,7 @@ checkcomma(register char *s, char *name, char *what)
}
STATIC SV *
-new_constant(char *s, STRLEN len, char *key, SV *sv, SV *pv, char *type)
+new_constant(pTHX_ char *s, STRLEN len, char *key, SV *sv, SV *pv, char *type)
{
dSP;
HV *table = GvHV(PL_hintgv); /* ^H */
@@ -5042,7 +5004,7 @@ new_constant(char *s, STRLEN len, char *key, SV *sv, SV *pv, char *type)
}
STATIC char *
-scan_word(register char *s, char *dest, STRLEN destlen, int allow_package, STRLEN *slp)
+scan_word(pTHX_ register char *s, char *dest, STRLEN destlen, int allow_package, STRLEN *slp)
{
register char *d = dest;
register char *e = d + destlen - 3; /* two-character token, ending NUL */
@@ -5079,7 +5041,7 @@ scan_word(register char *s, char *dest, STRLEN destlen, int allow_package, STRLE
}
STATIC char *
-scan_ident(register char *s, register char *send, char *dest, STRLEN destlen, I32 ck_uni)
+scan_ident(pTHX_ register char *s, register char *send, char *dest, STRLEN destlen, I32 ck_uni)
{
register char *d;
register char *e;
@@ -5220,7 +5182,7 @@ scan_ident(register char *s, register char *send, char *dest, STRLEN destlen, I3
if (PL_lex_state == LEX_NORMAL) {
dTHR; /* only for ckWARN */
if (ckWARN(WARN_AMBIGUOUS) &&
- (keyword(dest, d - dest) || perl_get_cv(dest, FALSE)))
+ (keyword(dest, d - dest) || get_cv(dest, FALSE)))
{
warner(WARN_AMBIGUOUS,
"Ambiguous use of %c{%s} resolved to %c%s",
@@ -5257,7 +5219,7 @@ void pmflag(U16 *pmfl, int ch)
}
STATIC char *
-scan_pat(char *start, I32 type)
+scan_pat(pTHX_ char *start, I32 type)
{
PMOP *pm;
char *s;
@@ -5289,7 +5251,7 @@ scan_pat(char *start, I32 type)
}
STATIC char *
-scan_subst(char *start)
+scan_subst(pTHX_ char *start)
{
register char *s;
register PMOP *pm;
@@ -5359,7 +5321,7 @@ scan_subst(char *start)
}
STATIC char *
-scan_trans(char *start)
+scan_trans(pTHX_ char *start)
{
register char* s;
OP *o;
@@ -5439,7 +5401,7 @@ scan_trans(char *start)
}
STATIC char *
-scan_heredoc(register char *s)
+scan_heredoc(pTHX_ register char *s)
{
dTHR;
SV *herewas;
@@ -5649,7 +5611,7 @@ retval:
*/
STATIC char *
-scan_inputsymbol(char *start)
+scan_inputsymbol(pTHX_ char *start)
{
register char *s = start; /* current position in buffer */
register char *d;
@@ -5789,7 +5751,7 @@ scan_inputsymbol(char *start)
*/
STATIC char *
-scan_str(char *start)
+scan_str(pTHX_ char *start)
{
dTHR;
SV *sv; /* scalar value: string */
@@ -5976,7 +5938,7 @@ scan_str(char *start)
*/
char *
-scan_num(char *start)
+Perl_scan_num(pTHX_ char *start)
{
register char *s = start; /* current position in buffer */
register char *d; /* destination in temp buffer */
@@ -6217,7 +6179,7 @@ scan_num(char *start)
}
STATIC char *
-scan_formline(register char *s)
+scan_formline(pTHX_ register char *s)
{
dTHR;
register char *eol;
@@ -6291,7 +6253,7 @@ scan_formline(register char *s)
}
STATIC void
-set_csh(void)
+set_csh(pTHX)
{
#ifdef CSH
if (!PL_cshlen)
@@ -6300,7 +6262,7 @@ set_csh(void)
}
I32
-start_subparse(I32 is_format, U32 flags)
+Perl_start_subparse(pTHX_ I32 is_format, U32 flags)
{
dTHR;
I32 oldsavestack_ix = PL_savestack_ix;
@@ -6357,7 +6319,7 @@ start_subparse(I32 is_format, U32 flags)
}
int
-yywarn(char *s)
+Perl_yywarn(pTHX_ char *s)
{
dTHR;
--PL_error_count;
@@ -6368,7 +6330,7 @@ yywarn(char *s)
}
int
-yyerror(char *s)
+Perl_yyerror(pTHX_ char *s)
{
dTHR;
char *where = NULL;
diff --git a/universal.c b/universal.c
index 7d8ced3b0f..6ee0d7697c 100644
--- a/universal.c
+++ b/universal.c
@@ -1,4 +1,5 @@
#include "EXTERN.h"
+#define PERL_IN_UNIVERSAL_C
#include "perl.h"
/*
@@ -7,7 +8,7 @@
*/
STATIC SV *
-isa_lookup(HV *stash, const char *name, int len, int level)
+isa_lookup(pTHX_ HV *stash, const char *name, int len, int level)
{
AV* av;
GV* gv;
@@ -73,7 +74,7 @@ isa_lookup(HV *stash, const char *name, int len, int level)
}
bool
-sv_derived_from(SV *sv, const char *name)
+Perl_sv_derived_from(pTHX_ SV *sv, const char *name)
{
SV *rv;
char *type;
@@ -211,7 +212,7 @@ XS(XS_UNIVERSAL_VERSION)
#endif
void
-boot_core_UNIVERSAL(void)
+Perl_boot_core_UNIVERSAL(pTHX)
{
char *file = __FILE__;
diff --git a/utf8.c b/utf8.c
index 00c6dafae1..5faaa3e6d1 100644
--- a/utf8.c
+++ b/utf8.c
@@ -21,12 +21,13 @@
*/
#include "EXTERN.h"
+#define PERL_IN_UTF8_C
#include "perl.h"
/* Unicode support */
U8 *
-uv_to_utf8(U8 *d, UV uv)
+Perl_uv_to_utf8(pTHX_ U8 *d, UV uv)
{
if (uv < 0x80) {
*d++ = uv;
@@ -96,7 +97,7 @@ uv_to_utf8(U8 *d, UV uv)
}
UV
-utf8_to_uv(U8* s, I32* retlen)
+Perl_utf8_to_uv(pTHX_ U8* s, I32* retlen)
{
UV uv = *s;
int len;
@@ -140,7 +141,7 @@ utf8_to_uv(U8* s, I32* retlen)
/* utf8_distance(a,b) is intended to be a - b in pointer arithmetic */
I32
-utf8_distance(U8 *a, U8 *b)
+Perl_utf8_distance(pTHX_ U8 *a, U8 *b)
{
I32 off = 0;
if (a < b) {
@@ -161,7 +162,7 @@ utf8_distance(U8 *a, U8 *b)
/* WARNING: do not use the following unless you *know* off is within bounds */
U8 *
-utf8_hop(U8 *s, I32 off)
+Perl_utf8_hop(pTHX_ U8 *s, I32 off)
{
if (off >= 0) {
while (off--)
@@ -187,7 +188,7 @@ utf8_hop(U8 *s, I32 off)
* We optimize for native, for obvious reasons. */
U8*
-utf16_to_utf8(U16* p, U8* d, I32 bytelen)
+Perl_utf16_to_utf8(pTHX_ U16* p, U8* d, I32 bytelen)
{
U16* pend = p + bytelen / 2;
while (p < pend) {
@@ -230,7 +231,7 @@ utf16_to_utf8(U16* p, U8* d, I32 bytelen)
/* Note: this one is slightly destructive of the source. */
U8*
-utf16_to_utf8_reversed(U16* p, U8* d, I32 bytelen)
+Perl_utf16_to_utf8_reversed(pTHX_ U16* p, U8* d, I32 bytelen)
{
U8* s = (U8*)p;
U8* send = s + bytelen;
@@ -246,7 +247,7 @@ utf16_to_utf8_reversed(U16* p, U8* d, I32 bytelen)
/* for now these are all defined (inefficiently) in terms of the utf8 versions */
bool
-is_uni_alnum(U32 c)
+Perl_is_uni_alnum(pTHX_ U32 c)
{
U8 tmpbuf[10];
uv_to_utf8(tmpbuf, (UV)c);
@@ -254,7 +255,7 @@ is_uni_alnum(U32 c)
}
bool
-is_uni_idfirst(U32 c)
+Perl_is_uni_idfirst(pTHX_ U32 c)
{
U8 tmpbuf[10];
uv_to_utf8(tmpbuf, (UV)c);
@@ -262,7 +263,7 @@ is_uni_idfirst(U32 c)
}
bool
-is_uni_alpha(U32 c)
+Perl_is_uni_alpha(pTHX_ U32 c)
{
U8 tmpbuf[10];
uv_to_utf8(tmpbuf, (UV)c);
@@ -270,7 +271,7 @@ is_uni_alpha(U32 c)
}
bool
-is_uni_space(U32 c)
+Perl_is_uni_space(pTHX_ U32 c)
{
U8 tmpbuf[10];
uv_to_utf8(tmpbuf, (UV)c);
@@ -278,7 +279,7 @@ is_uni_space(U32 c)
}
bool
-is_uni_digit(U32 c)
+Perl_is_uni_digit(pTHX_ U32 c)
{
U8 tmpbuf[10];
uv_to_utf8(tmpbuf, (UV)c);
@@ -286,7 +287,7 @@ is_uni_digit(U32 c)
}
bool
-is_uni_upper(U32 c)
+Perl_is_uni_upper(pTHX_ U32 c)
{
U8 tmpbuf[10];
uv_to_utf8(tmpbuf, (UV)c);
@@ -294,7 +295,7 @@ is_uni_upper(U32 c)
}
bool
-is_uni_lower(U32 c)
+Perl_is_uni_lower(pTHX_ U32 c)
{
U8 tmpbuf[10];
uv_to_utf8(tmpbuf, (UV)c);
@@ -302,7 +303,7 @@ is_uni_lower(U32 c)
}
bool
-is_uni_print(U32 c)
+Perl_is_uni_print(pTHX_ U32 c)
{
U8 tmpbuf[10];
uv_to_utf8(tmpbuf, (UV)c);
@@ -310,7 +311,7 @@ is_uni_print(U32 c)
}
U32
-to_uni_upper(U32 c)
+Perl_to_uni_upper(pTHX_ U32 c)
{
U8 tmpbuf[10];
uv_to_utf8(tmpbuf, (UV)c);
@@ -318,7 +319,7 @@ to_uni_upper(U32 c)
}
U32
-to_uni_title(U32 c)
+Perl_to_uni_title(pTHX_ U32 c)
{
U8 tmpbuf[10];
uv_to_utf8(tmpbuf, (UV)c);
@@ -326,7 +327,7 @@ to_uni_title(U32 c)
}
U32
-to_uni_lower(U32 c)
+Perl_to_uni_lower(pTHX_ U32 c)
{
U8 tmpbuf[10];
uv_to_utf8(tmpbuf, (UV)c);
@@ -336,74 +337,74 @@ to_uni_lower(U32 c)
/* for now these all assume no locale info available for Unicode > 255 */
bool
-is_uni_alnum_lc(U32 c)
+Perl_is_uni_alnum_lc(pTHX_ U32 c)
{
return is_uni_alnum(c); /* XXX no locale support yet */
}
bool
-is_uni_idfirst_lc(U32 c)
+Perl_is_uni_idfirst_lc(pTHX_ U32 c)
{
return is_uni_idfirst(c); /* XXX no locale support yet */
}
bool
-is_uni_alpha_lc(U32 c)
+Perl_is_uni_alpha_lc(pTHX_ U32 c)
{
return is_uni_alpha(c); /* XXX no locale support yet */
}
bool
-is_uni_space_lc(U32 c)
+Perl_is_uni_space_lc(pTHX_ U32 c)
{
return is_uni_space(c); /* XXX no locale support yet */
}
bool
-is_uni_digit_lc(U32 c)
+Perl_is_uni_digit_lc(pTHX_ U32 c)
{
return is_uni_digit(c); /* XXX no locale support yet */
}
bool
-is_uni_upper_lc(U32 c)
+Perl_is_uni_upper_lc(pTHX_ U32 c)
{
return is_uni_upper(c); /* XXX no locale support yet */
}
bool
-is_uni_lower_lc(U32 c)
+Perl_is_uni_lower_lc(pTHX_ U32 c)
{
return is_uni_lower(c); /* XXX no locale support yet */
}
bool
-is_uni_print_lc(U32 c)
+Perl_is_uni_print_lc(pTHX_ U32 c)
{
return is_uni_print(c); /* XXX no locale support yet */
}
U32
-to_uni_upper_lc(U32 c)
+Perl_to_uni_upper_lc(pTHX_ U32 c)
{
return to_uni_upper(c); /* XXX no locale support yet */
}
U32
-to_uni_title_lc(U32 c)
+Perl_to_uni_title_lc(pTHX_ U32 c)
{
return to_uni_title(c); /* XXX no locale support yet */
}
U32
-to_uni_lower_lc(U32 c)
+Perl_to_uni_lower_lc(pTHX_ U32 c)
{
return to_uni_lower(c); /* XXX no locale support yet */
}
bool
-is_utf8_alnum(U8 *p)
+Perl_is_utf8_alnum(pTHX_ U8 *p)
{
if (!PL_utf8_alnum)
PL_utf8_alnum = swash_init("utf8", "IsAlnum", &PL_sv_undef, 0, 0);
@@ -418,13 +419,13 @@ is_utf8_alnum(U8 *p)
}
bool
-is_utf8_idfirst(U8 *p)
+Perl_is_utf8_idfirst(pTHX_ U8 *p)
{
return *p == '_' || is_utf8_alpha(p);
}
bool
-is_utf8_alpha(U8 *p)
+Perl_is_utf8_alpha(pTHX_ U8 *p)
{
if (!PL_utf8_alpha)
PL_utf8_alpha = swash_init("utf8", "IsAlpha", &PL_sv_undef, 0, 0);
@@ -432,7 +433,7 @@ is_utf8_alpha(U8 *p)
}
bool
-is_utf8_space(U8 *p)
+Perl_is_utf8_space(pTHX_ U8 *p)
{
if (!PL_utf8_space)
PL_utf8_space = swash_init("utf8", "IsSpace", &PL_sv_undef, 0, 0);
@@ -440,7 +441,7 @@ is_utf8_space(U8 *p)
}
bool
-is_utf8_digit(U8 *p)
+Perl_is_utf8_digit(pTHX_ U8 *p)
{
if (!PL_utf8_digit)
PL_utf8_digit = swash_init("utf8", "IsDigit", &PL_sv_undef, 0, 0);
@@ -448,7 +449,7 @@ is_utf8_digit(U8 *p)
}
bool
-is_utf8_upper(U8 *p)
+Perl_is_utf8_upper(pTHX_ U8 *p)
{
if (!PL_utf8_upper)
PL_utf8_upper = swash_init("utf8", "IsUpper", &PL_sv_undef, 0, 0);
@@ -456,7 +457,7 @@ is_utf8_upper(U8 *p)
}
bool
-is_utf8_lower(U8 *p)
+Perl_is_utf8_lower(pTHX_ U8 *p)
{
if (!PL_utf8_lower)
PL_utf8_lower = swash_init("utf8", "IsLower", &PL_sv_undef, 0, 0);
@@ -464,7 +465,7 @@ is_utf8_lower(U8 *p)
}
bool
-is_utf8_print(U8 *p)
+Perl_is_utf8_print(pTHX_ U8 *p)
{
if (!PL_utf8_print)
PL_utf8_print = swash_init("utf8", "IsPrint", &PL_sv_undef, 0, 0);
@@ -472,7 +473,7 @@ is_utf8_print(U8 *p)
}
bool
-is_utf8_mark(U8 *p)
+Perl_is_utf8_mark(pTHX_ U8 *p)
{
if (!PL_utf8_mark)
PL_utf8_mark = swash_init("utf8", "IsM", &PL_sv_undef, 0, 0);
@@ -480,7 +481,7 @@ is_utf8_mark(U8 *p)
}
UV
-to_utf8_upper(U8 *p)
+Perl_to_utf8_upper(pTHX_ U8 *p)
{
UV uv;
@@ -491,7 +492,7 @@ to_utf8_upper(U8 *p)
}
UV
-to_utf8_title(U8 *p)
+Perl_to_utf8_title(pTHX_ U8 *p)
{
UV uv;
@@ -502,7 +503,7 @@ to_utf8_title(U8 *p)
}
UV
-to_utf8_lower(U8 *p)
+Perl_to_utf8_lower(pTHX_ U8 *p)
{
UV uv;
@@ -515,7 +516,7 @@ to_utf8_lower(U8 *p)
/* a "swash" is a swatch hash */
SV*
-swash_init(char* pkg, char* name, SV *listsv, I32 minbits, I32 none)
+Perl_swash_init(pTHX_ char* pkg, char* name, SV *listsv, I32 minbits, I32 none)
{
SV* retval;
char tmpbuf[256];
@@ -535,7 +536,7 @@ swash_init(char* pkg, char* name, SV *listsv, I32 minbits, I32 none)
save_re_context();
if (PL_curcop == &PL_compiling) /* XXX ought to be handled by lex_start */
strncpy(tmpbuf, PL_tokenbuf, sizeof tmpbuf);
- if (perl_call_method("SWASHNEW", G_SCALAR))
+ if (call_method("SWASHNEW", G_SCALAR))
retval = newSVsv(*PL_stack_sp--);
else
retval = &PL_sv_undef;
@@ -551,7 +552,7 @@ swash_init(char* pkg, char* name, SV *listsv, I32 minbits, I32 none)
}
UV
-swash_fetch(SV *sv, U8 *ptr)
+Perl_swash_fetch(pTHX_ SV *sv, U8 *ptr)
{
HV* hv = (HV*)SvRV(sv);
U32 klen = UTF8SKIP(ptr) - 1;
@@ -595,7 +596,7 @@ swash_fetch(SV *sv, U8 *ptr)
PUSHs(sv_2mortal(newSViv(utf8_to_uv(ptr, 0) & ~(needents - 1))));
PUSHs(sv_2mortal(newSViv(needents)));
PUTBACK;
- if (perl_call_method("SWASHGET", G_SCALAR))
+ if (call_method("SWASHGET", G_SCALAR))
retval = newSVsv(*PL_stack_sp--);
else
retval = &PL_sv_undef;
diff --git a/util.c b/util.c
index d48c1dd1a1..9c0df21793 100644
--- a/util.c
+++ b/util.c
@@ -13,6 +13,7 @@
*/
#include "EXTERN.h"
+#define PERL_IN_UTIL_C
#include "perl.h"
#if !defined(NSIG) || defined(M_UNIX) || defined(M_XENIX)
@@ -54,7 +55,6 @@
#ifdef LEAKTEST
-static void xstat (int);
long xcount[MAXXCOUNT];
long lastxcount[MAXXCOUNT];
long xycount[MAXXCOUNT][MAXYCOUNT];
@@ -71,7 +71,7 @@ long lastxycount[MAXXCOUNT][MAXYCOUNT];
*/
Malloc_t
-safesysmalloc(MEM_SIZE size)
+Perl_safesysmalloc(pTHX_ MEM_SIZE size)
{
Malloc_t ptr;
#ifdef HAS_64K_LIMIT
@@ -105,7 +105,7 @@ safesysmalloc(MEM_SIZE size)
/* paranoid version of system's realloc() */
Malloc_t
-safesysrealloc(Malloc_t where,MEM_SIZE size)
+Perl_safesysrealloc(pTHX_ Malloc_t where,MEM_SIZE size)
{
Malloc_t ptr;
#if !defined(STANDARD_C) && !defined(HAS_REALLOC_PROTOTYPE)
@@ -159,7 +159,7 @@ safesysrealloc(Malloc_t where,MEM_SIZE size)
/* safe version of system's free() */
Free_t
-safesysfree(Malloc_t where)
+Perl_safesysfree(pTHX_ Malloc_t where)
{
#if !(defined(I286) || defined(atarist))
DEBUG_m( PerlIO_printf(Perl_debug_log, "0x%x: (%05d) free\n",(char *) where,PL_an++));
@@ -175,7 +175,7 @@ safesysfree(Malloc_t where)
/* safe version of system's calloc() */
Malloc_t
-safesyscalloc(MEM_SIZE count, MEM_SIZE size)
+Perl_safesyscalloc(pTHX_ MEM_SIZE count, MEM_SIZE size)
{
Malloc_t ptr;
@@ -235,7 +235,7 @@ struct mem_test_strut {
: ((size) - 1)/4))
Malloc_t
-safexmalloc(I32 x, MEM_SIZE size)
+Perl_safexmalloc(pTHX_ I32 x, MEM_SIZE size)
{
register char* where = (char*)safemalloc(size + ALIGN);
@@ -247,7 +247,7 @@ safexmalloc(I32 x, MEM_SIZE size)
}
Malloc_t
-safexrealloc(Malloc_t wh, MEM_SIZE size)
+Perl_safexrealloc(pTHX_ Malloc_t wh, MEM_SIZE size)
{
char *where = (char*)wh;
@@ -268,7 +268,7 @@ safexrealloc(Malloc_t wh, MEM_SIZE size)
}
void
-safexfree(Malloc_t wh)
+Perl_safexfree(pTHX_ Malloc_t wh)
{
I32 x;
char *where = (char*)wh;
@@ -285,7 +285,7 @@ safexfree(Malloc_t wh)
}
Malloc_t
-safexcalloc(I32 x,MEM_SIZE count, MEM_SIZE size)
+Perl_safexcalloc(pTHX_ I32 x,MEM_SIZE count, MEM_SIZE size)
{
register char * where = (char*)safexmalloc(x, size * count + ALIGN);
xcount[x] += size;
@@ -296,8 +296,8 @@ safexcalloc(I32 x,MEM_SIZE count, MEM_SIZE size)
return (Malloc_t)(where + ALIGN);
}
-static void
-xstat(int flag)
+STATIC void
+xstat(pTHX_ int flag)
{
register I32 i, j, total = 0;
I32 subtot[MAXYCOUNT];
@@ -356,7 +356,7 @@ xstat(int flag)
/* copy a string up to some (non-backslashed) delimiter, if any */
char *
-delimcpy(register char *to, register char *toend, register char *from, register char *fromend, register int delim, I32 *retlen)
+Perl_delimcpy(pTHX_ register char *to, register char *toend, register char *from, register char *fromend, register int delim, I32 *retlen)
{
register I32 tolen;
for (tolen = 0; from < fromend; from++, tolen++) {
@@ -385,7 +385,7 @@ delimcpy(register char *to, register char *toend, register char *from, register
/* This routine was donated by Corey Satten. */
char *
-instr(register const char *big, register const char *little)
+Perl_instr(pTHX_ register const char *big, register const char *little)
{
register const char *s, *x;
register I32 first;
@@ -415,7 +415,7 @@ instr(register const char *big, register const char *little)
/* same as instr but allow embedded nulls */
char *
-ninstr(register const char *big, register const char *bigend, const char *little, const char *lend)
+Perl_ninstr(pTHX_ register const char *big, register const char *bigend, const char *little, const char *lend)
{
register const char *s, *x;
register I32 first = *little;
@@ -444,7 +444,7 @@ ninstr(register const char *big, register const char *bigend, const char *little
/* reverse of the above--find last substring */
char *
-rninstr(register const char *big, const char *bigend, const char *little, const char *lend)
+Perl_rninstr(pTHX_ register const char *big, const char *bigend, const char *little, const char *lend)
{
register const char *bigbeg;
register const char *s, *x;
@@ -474,7 +474,7 @@ rninstr(register const char *big, const char *bigend, const char *little, const
* Set up for a new ctype locale.
*/
void
-perl_new_ctype(const char *newctype)
+Perl_new_ctype(pTHX_ const char *newctype)
{
#ifdef USE_LOCALE_CTYPE
@@ -496,7 +496,7 @@ perl_new_ctype(const char *newctype)
* Set up for a new collation locale.
*/
void
-perl_new_collate(const char *newcoll)
+Perl_new_collate(pTHX_ const char *newcoll)
{
#ifdef USE_LOCALE_COLLATE
@@ -540,7 +540,7 @@ perl_new_collate(const char *newcoll)
* Set up for a new numeric locale.
*/
void
-perl_new_numeric(const char *newnum)
+Perl_new_numeric(pTHX_ const char *newnum)
{
#ifdef USE_LOCALE_NUMERIC
@@ -565,7 +565,7 @@ perl_new_numeric(const char *newnum)
}
void
-perl_set_numeric_standard(void)
+Perl_set_numeric_standard(pTHX)
{
#ifdef USE_LOCALE_NUMERIC
@@ -579,7 +579,7 @@ perl_set_numeric_standard(void)
}
void
-perl_set_numeric_local(void)
+Perl_set_numeric_local(pTHX)
{
#ifdef USE_LOCALE_NUMERIC
@@ -597,7 +597,7 @@ perl_set_numeric_local(void)
* Initialize locale awareness.
*/
int
-perl_init_i18nl10n(int printwarn)
+Perl_init_i18nl10n(pTHX_ int printwarn)
{
int ok = 1;
/* returns
@@ -807,15 +807,15 @@ perl_init_i18nl10n(int printwarn)
}
#ifdef USE_LOCALE_CTYPE
- perl_new_ctype(curctype);
+ new_ctype(curctype);
#endif /* USE_LOCALE_CTYPE */
#ifdef USE_LOCALE_COLLATE
- perl_new_collate(curcoll);
+ new_collate(curcoll);
#endif /* USE_LOCALE_COLLATE */
#ifdef USE_LOCALE_NUMERIC
- perl_new_numeric(curnum);
+ new_numeric(curnum);
#endif /* USE_LOCALE_NUMERIC */
#endif /* USE_LOCALE */
@@ -825,9 +825,9 @@ perl_init_i18nl10n(int printwarn)
/* Backwards compatibility. */
int
-perl_init_i18nl14n(int printwarn)
+Perl_init_i18nl14n(pTHX_ int printwarn)
{
- return perl_init_i18nl10n(printwarn);
+ return init_i18nl10n(printwarn);
}
#ifdef USE_LOCALE_COLLATE
@@ -840,7 +840,7 @@ perl_init_i18nl14n(int printwarn)
* Please see sv_collxfrm() to see how this is used.
*/
char *
-mem_collxfrm(const char *s, STRLEN len, STRLEN *xlen)
+Perl_mem_collxfrm(pTHX_ const char *s, STRLEN len, STRLEN *xlen)
{
char *xbuf;
STRLEN xAlloc, xin, xout; /* xalloc is a reserved word in VC */
@@ -898,7 +898,7 @@ mem_collxfrm(const char *s, STRLEN len, STRLEN *xlen)
If FBMcf_TAIL, the table is created as if the string has a trailing \n. */
void
-fbm_compile(SV *sv, U32 flags /* not used yet */)
+Perl_fbm_compile(pTHX_ SV *sv, U32 flags /* not used yet */)
{
register U8 *s;
register U8 *table;
@@ -957,7 +957,7 @@ fbm_compile(SV *sv, U32 flags /* not used yet */)
if multiline */
char *
-fbm_instr(unsigned char *big, register unsigned char *bigend, SV *littlestr, U32 flags)
+Perl_fbm_instr(pTHX_ unsigned char *big, register unsigned char *bigend, SV *littlestr, U32 flags)
{
register unsigned char *s;
STRLEN l;
@@ -1158,7 +1158,7 @@ fbm_instr(unsigned char *big, register unsigned char *bigend, SV *littlestr, U32
is not supported yet. */
char *
-screaminstr(SV *bigstr, SV *littlestr, I32 start_shift, I32 end_shift, I32 *old_posp, I32 last)
+Perl_screaminstr(pTHX_ SV *bigstr, SV *littlestr, I32 start_shift, I32 end_shift, I32 *old_posp, I32 last)
{
dTHR;
register unsigned char *s, *x;
@@ -1257,7 +1257,7 @@ screaminstr(SV *bigstr, SV *littlestr, I32 start_shift, I32 end_shift, I32 *old_
}
I32
-ibcmp(const char *s1, const char *s2, register I32 len)
+Perl_ibcmp(pTHX_ const char *s1, const char *s2, register I32 len)
{
register U8 *a = (U8 *)s1;
register U8 *b = (U8 *)s2;
@@ -1270,7 +1270,7 @@ ibcmp(const char *s1, const char *s2, register I32 len)
}
I32
-ibcmp_locale(const char *s1, const char *s2, register I32 len)
+Perl_ibcmp_locale(pTHX_ const char *s1, const char *s2, register I32 len)
{
register U8 *a = (U8 *)s1;
register U8 *b = (U8 *)s2;
@@ -1285,7 +1285,7 @@ ibcmp_locale(const char *s1, const char *s2, register I32 len)
/* copy a string to a safe spot */
char *
-savepv(const char *sv)
+Perl_savepv(pTHX_ const char *sv)
{
register char *newaddr;
@@ -1297,7 +1297,7 @@ savepv(const char *sv)
/* same thing but with a known length */
char *
-savepvn(const char *sv, register I32 len)
+Perl_savepvn(pTHX_ const char *sv, register I32 len)
{
register char *newaddr;
@@ -1310,7 +1310,7 @@ savepvn(const char *sv, register I32 len)
/* the SV for form() and mess() is not kept in an arena */
STATIC SV *
-mess_alloc(void)
+mess_alloc(pTHX)
{
dTHR;
SV *sv;
@@ -1333,7 +1333,7 @@ mess_alloc(void)
}
char *
-form(const char* pat, ...)
+Perl_form(pTHX_ const char* pat, ...)
{
SV *sv = mess_alloc();
va_list args;
@@ -1344,7 +1344,7 @@ form(const char* pat, ...)
}
SV *
-mess(const char *pat, va_list *args)
+Perl_mess(pTHX_ const char *pat, va_list *args)
{
SV *sv = mess_alloc();
static char dgd[] = " during global destruction.\n";
@@ -1369,7 +1369,7 @@ mess(const char *pat, va_list *args)
}
OP *
-die(const char* pat, ...)
+Perl_die(pTHX_ const char* pat, ...)
{
dTHR;
va_list args;
@@ -1424,7 +1424,7 @@ die(const char* pat, ...)
PUSHMARK(SP);
XPUSHs(msg);
PUTBACK;
- perl_call_sv((SV*)cv, G_DISCARD);
+ call_sv((SV*)cv, G_DISCARD);
POPSTACK;
LEAVE;
}
@@ -1440,7 +1440,7 @@ die(const char* pat, ...)
}
void
-croak(const char* pat, ...)
+Perl_croak(pTHX_ const char* pat, ...)
{
dTHR;
va_list args;
@@ -1477,7 +1477,7 @@ croak(const char* pat, ...)
PUSHMARK(SP);
XPUSHs(msg);
PUTBACK;
- perl_call_sv((SV*)cv, G_DISCARD);
+ call_sv((SV*)cv, G_DISCARD);
POPSTACK;
LEAVE;
}
@@ -1501,7 +1501,7 @@ croak(const char* pat, ...)
}
void
-warn(const char* pat,...)
+Perl_warn(pTHX_ const char* pat,...)
{
va_list args;
char *message;
@@ -1538,7 +1538,7 @@ warn(const char* pat,...)
PUSHMARK(SP);
XPUSHs(msg);
PUTBACK;
- perl_call_sv((SV*)cv, G_DISCARD);
+ call_sv((SV*)cv, G_DISCARD);
POPSTACK;
LEAVE;
return;
@@ -1557,7 +1557,7 @@ warn(const char* pat,...)
}
void
-warner(U32 err, const char* pat,...)
+Perl_warner(pTHX_ U32 err, const char* pat,...)
{
dTHR;
va_list args;
@@ -1597,7 +1597,7 @@ warner(U32 err, const char* pat,...)
PUSHMARK(sp);
XPUSHs(msg);
PUTBACK;
- perl_call_sv((SV*)cv, G_DISCARD);
+ call_sv((SV*)cv, G_DISCARD);
LEAVE;
}
@@ -1633,7 +1633,7 @@ warner(U32 err, const char* pat,...)
PUSHMARK(sp);
XPUSHs(msg);
PUTBACK;
- perl_call_sv((SV*)cv, G_DISCARD);
+ call_sv((SV*)cv, G_DISCARD);
LEAVE;
return;
@@ -1650,7 +1650,7 @@ warner(U32 err, const char* pat,...)
#ifndef VMS /* VMS' my_setenv() is in VMS.c */
#if !defined(WIN32) && !defined(CYGWIN32)
void
-my_setenv(char *nam, char *val)
+Perl_my_setenv(pTHX_ char *nam, char *val)
{
#ifndef PERL_USE_SAFE_PUTENV
/* most putenv()s leak, so we manipulate environ directly */
@@ -1716,7 +1716,7 @@ my_setenv(char *nam, char *val)
#else /* if WIN32 */
void
-my_setenv(char *nam,char *val)
+Perl_my_setenv(pTHX_ char *nam,char *val)
{
#ifdef USE_WIN32_RTL_ENV
@@ -1776,7 +1776,7 @@ my_setenv(char *nam,char *val)
#endif /* WIN32 */
I32
-setenv_getix(char *nam)
+Perl_setenv_getix(pTHX_ char *nam)
{
register I32 i, len = strlen(nam);
@@ -1797,7 +1797,7 @@ setenv_getix(char *nam)
#ifdef UNLINK_ALL_VERSIONS
I32
-unlnk(char *f) /* unlink all versions of a file */
+Perl_unlnk(pTHX_ char *f) /* unlink all versions of a file */
{
I32 i;
@@ -1808,7 +1808,7 @@ unlnk(char *f) /* unlink all versions of a file */
#if !defined(HAS_BCOPY) || !defined(HAS_SAFE_BCOPY)
char *
-my_bcopy(register const char *from,register char *to,register I32 len)
+Perl_my_bcopy(pTHX_ register const char *from,register char *to,register I32 len)
{
char *retval = to;
@@ -1828,7 +1828,7 @@ my_bcopy(register const char *from,register char *to,register I32 len)
#ifndef HAS_MEMSET
void *
-my_memset(register char *loc, register I32 ch, register I32 len)
+Perl_my_memset(pTHX_ register char *loc, register I32 ch, register I32 len)
{
char *retval = loc;
@@ -1840,7 +1840,7 @@ my_memset(register char *loc, register I32 ch, register I32 len)
#if !defined(HAS_BZERO) && !defined(HAS_MEMSET)
char *
-my_bzero(register char *loc, register I32 len)
+Perl_my_bzero(pTHX_ register char *loc, register I32 len)
{
char *retval = loc;
@@ -1852,7 +1852,7 @@ my_bzero(register char *loc, register I32 len)
#if !defined(HAS_MEMCMP) || !defined(HAS_SANE_MEMCMP)
I32
-my_memcmp(const char *s1, const char *s2, register I32 len)
+Perl_my_memcmp(pTHX_ const char *s1, const char *s2, register I32 len)
{
register U8 *a = (U8 *)s1;
register U8 *b = (U8 *)s2;
@@ -1897,7 +1897,7 @@ vsprintf(char *dest, const char *pat, char *args)
#ifdef MYSWAP
#if BYTEORDER != 0x4321
short
-my_swap(short s)
+Perl_my_swap(pTHX_ short s)
{
#if (BYTEORDER & 1) == 0
short result;
@@ -1910,7 +1910,7 @@ my_swap(short s)
}
long
-my_htonl(long l)
+Perl_my_htonl(pTHX_ long l)
{
union {
long result;
@@ -1939,7 +1939,7 @@ my_htonl(long l)
}
long
-my_ntohl(long l)
+Perl_my_ntohl(pTHX_ long l)
{
union {
long l;
@@ -2030,7 +2030,7 @@ VTOH(vtohl,long)
/* VMS' my_popen() is in VMS.c, same with OS/2. */
#if (!defined(DOSISH) || defined(HAS_FORK) || defined(AMIGAOS)) && !defined(VMS) && !defined(__OPEN_VM)
PerlIO *
-my_popen(char *cmd, char *mode)
+Perl_my_popen(pTHX_ char *cmd, char *mode)
{
int p[2];
register I32 This, that;
@@ -2153,7 +2153,7 @@ my_popen(char *cmd, char *mode)
#if defined(atarist) || defined(DJGPP)
FILE *popen();
PerlIO *
-my_popen(char *cmd, char *mode)
+Perl_my_popen(pTHX_ char *cmd, char *mode)
{
/* Needs work for PerlIO ! */
/* used 0 for 2nd parameter to PerlIO-exportFILE; apparently not used */
@@ -2166,7 +2166,7 @@ my_popen(char *cmd, char *mode)
#ifdef DUMP_FDS
void
-dump_fds(char *s)
+Perl_dump_fds(pTHX_ char *s)
{
int fd;
struct stat tmpstatbuf;
@@ -2218,7 +2218,7 @@ dup2(int oldfd, int newfd)
#ifdef HAS_SIGACTION
Sighandler_t
-rsignal(int signo, Sighandler_t handler)
+Perl_rsignal(pTHX_ int signo, Sighandler_t handler)
{
struct sigaction act, oact;
@@ -2239,7 +2239,7 @@ rsignal(int signo, Sighandler_t handler)
}
Sighandler_t
-rsignal_state(int signo)
+Perl_rsignal_state(pTHX_ int signo)
{
struct sigaction oact;
@@ -2250,7 +2250,7 @@ rsignal_state(int signo)
}
int
-rsignal_save(int signo, Sighandler_t handler, Sigsave_t *save)
+Perl_rsignal_save(pTHX_ int signo, Sighandler_t handler, Sigsave_t *save)
{
struct sigaction act;
@@ -2268,7 +2268,7 @@ rsignal_save(int signo, Sighandler_t handler, Sigsave_t *save)
}
int
-rsignal_restore(int signo, Sigsave_t *save)
+Perl_rsignal_restore(pTHX_ int signo, Sigsave_t *save)
{
return sigaction(signo, save, (struct sigaction *)NULL);
}
@@ -2276,7 +2276,7 @@ rsignal_restore(int signo, Sigsave_t *save)
#else /* !HAS_SIGACTION */
Sighandler_t
-rsignal(int signo, Sighandler_t handler)
+Perl_rsignal(pTHX_ int signo, Sighandler_t handler)
{
return PerlProc_signal(signo, handler);
}
@@ -2291,7 +2291,7 @@ sig_trap(int signo)
}
Sighandler_t
-rsignal_state(int signo)
+Perl_rsignal_state(pTHX_ int signo)
{
Sighandler_t oldsig;
@@ -2304,14 +2304,14 @@ rsignal_state(int signo)
}
int
-rsignal_save(int signo, Sighandler_t handler, Sigsave_t *save)
+Perl_rsignal_save(pTHX_ int signo, Sighandler_t handler, Sigsave_t *save)
{
*save = PerlProc_signal(signo, handler);
return (*save == SIG_ERR) ? -1 : 0;
}
int
-rsignal_restore(int signo, Sigsave_t *save)
+Perl_rsignal_restore(pTHX_ int signo, Sigsave_t *save)
{
return (PerlProc_signal(signo, *save) == SIG_ERR) ? -1 : 0;
}
@@ -2321,7 +2321,7 @@ rsignal_restore(int signo, Sigsave_t *save)
/* VMS' my_pclose() is in VMS.c; same with OS/2 */
#if (!defined(DOSISH) || defined(HAS_FORK) || defined(AMIGAOS)) && !defined(VMS) && !defined(__OPEN_VM)
I32
-my_pclose(PerlIO *ptr)
+Perl_my_pclose(pTHX_ PerlIO *ptr)
{
Sigsave_t hstat, istat, qstat;
int status;
@@ -2377,7 +2377,7 @@ my_pclose(PerlIO *ptr)
#if !defined(DOSISH) || defined(OS2) || defined(WIN32) || defined(CYGWIN32)
I32
-wait4pid(int pid, int *statusp, int flags)
+Perl_wait4pid(pTHX_ int pid, int *statusp, int flags)
{
SV *sv;
SV** svp;
@@ -2437,7 +2437,7 @@ wait4pid(int pid, int *statusp, int flags)
void
/*SUPPRESS 590*/
-pidgone(int pid, int status)
+Perl_pidgone(pTHX_ int pid, int status)
{
register SV *sv;
char spid[TYPE_CHARS(int)];
@@ -2457,7 +2457,7 @@ int /* Cannot prototype with I32
my_syspclose(PerlIO *ptr)
#else
I32
-my_pclose(PerlIO *ptr)
+Perl_my_pclose(pTHX_ PerlIO *ptr)
#endif
{
/* Needs work for PerlIO ! */
@@ -2469,7 +2469,7 @@ my_pclose(PerlIO *ptr)
#endif
void
-repeatcpy(register char *to, register const char *from, I32 len, register I32 count)
+Perl_repeatcpy(pTHX_ register char *to, register const char *from, I32 len, register I32 count)
{
register I32 todo;
register const char *frombase = from;
@@ -2489,7 +2489,7 @@ repeatcpy(register char *to, register const char *from, I32 len, register I32 co
}
U32
-cast_ulong(double f)
+Perl_cast_ulong(pTHX_ double f)
{
long along;
@@ -2526,7 +2526,7 @@ cast_ulong(double f)
#endif
I32
-cast_i32(double f)
+Perl_cast_i32(pTHX_ double f)
{
if (f >= I32_MAX)
return (I32) I32_MAX;
@@ -2536,7 +2536,7 @@ cast_i32(double f)
}
IV
-cast_iv(double f)
+Perl_cast_iv(pTHX_ double f)
{
if (f >= IV_MAX) {
UV uv;
@@ -2552,7 +2552,7 @@ cast_iv(double f)
}
UV
-cast_uv(double f)
+Perl_cast_uv(pTHX_ double f)
{
if (f >= MY_UV_MAX)
return (UV) MY_UV_MAX;
@@ -2569,7 +2569,7 @@ cast_uv(double f)
#ifndef HAS_RENAME
I32
-same_dirent(char *a, char *b)
+Perl_same_dirent(pTHX_ char *a, char *b)
{
char *fa = strrchr(a,'/');
char *fb = strrchr(b,'/');
@@ -2605,7 +2605,7 @@ same_dirent(char *a, char *b)
#endif /* !HAS_RENAME */
UV
-scan_bin(char *start, I32 len, I32 *retlen)
+Perl_scan_bin(pTHX_ char *start, I32 len, I32 *retlen)
{
register char *s = start;
register UV retval = 0;
@@ -2628,7 +2628,7 @@ scan_bin(char *start, I32 len, I32 *retlen)
return retval;
}
UV
-scan_oct(char *start, I32 len, I32 *retlen)
+Perl_scan_oct(pTHX_ char *start, I32 len, I32 *retlen)
{
register char *s = start;
register UV retval = 0;
@@ -2653,7 +2653,7 @@ scan_oct(char *start, I32 len, I32 *retlen)
}
UV
-scan_hex(char *start, I32 len, I32 *retlen)
+Perl_scan_hex(pTHX_ char *start, I32 len, I32 *retlen)
{
register char *s = start;
register UV retval = 0;
@@ -2686,7 +2686,7 @@ scan_hex(char *start, I32 len, I32 *retlen)
}
char*
-find_script(char *scriptname, bool dosearch, char **search_ext, I32 flags)
+Perl_find_script(pTHX_ char *scriptname, bool dosearch, char **search_ext, I32 flags)
{
dTHR;
char *xfound = Nullch;
@@ -2911,13 +2911,13 @@ schedule(void)
}
void
-perl_cond_init(perl_cond *cp)
+Perl_cond_init(pTHX_ perl_cond *cp)
{
*cp = 0;
}
void
-perl_cond_signal(perl_cond *cp)
+Perl_cond_signal(pTHX_ perl_cond *cp)
{
perl_os_thread t;
perl_cond cond = *cp;
@@ -2937,7 +2937,7 @@ perl_cond_signal(perl_cond *cp)
}
void
-perl_cond_broadcast(perl_cond *cp)
+Perl_cond_broadcast(pTHX_ perl_cond *cp)
{
perl_os_thread t;
perl_cond cond, cond_next;
@@ -2958,7 +2958,7 @@ perl_cond_broadcast(perl_cond *cp)
}
void
-perl_cond_wait(perl_cond *cp)
+Perl_cond_wait(pTHX_ perl_cond *cp)
{
perl_cond cond;
@@ -2978,7 +2978,7 @@ perl_cond_wait(perl_cond *cp)
#ifdef PTHREAD_GETSPECIFIC_INT
struct perl_thread *
-getTHR(void)
+Perl_getTHR(pTHX)
{
pthread_addr_t t;
@@ -2989,7 +2989,7 @@ getTHR(void)
#endif
MAGIC *
-condpair_magic(SV *sv)
+Perl_condpair_magic(pTHX_ SV *sv)
{
MAGIC *mg;
@@ -3034,7 +3034,7 @@ condpair_magic(SV *sv)
* thread calling new_struct_thread) clearly satisfies this constraint.
*/
struct perl_thread *
-new_struct_thread(struct perl_thread *t)
+Perl_new_struct_thread(pTHX_ struct perl_thread *t)
{
struct perl_thread *thr;
SV *sv;
@@ -3169,39 +3169,39 @@ Perl_huge(void)
#ifdef PERL_GLOBAL_STRUCT
struct perl_vars *
-Perl_GetVars(void)
+Perl_GetVars(pTHX)
{
return &PL_Vars;
}
#endif
char **
-get_op_names(void)
+Perl_get_op_names(pTHX)
{
return PL_op_name;
}
char **
-get_op_descs(void)
+Perl_get_op_descs(pTHX)
{
return PL_op_desc;
}
char *
-get_no_modify(void)
+Perl_get_no_modify(pTHX)
{
return (char*)PL_no_modify;
}
U32 *
-get_opargs(void)
+Perl_get_opargs(pTHX)
{
return PL_opargs;
}
#ifndef HAS_GETENV_LEN
char *
-getenv_len(char *env_elem, unsigned long *len)
+Perl_getenv_len(pTHX_ char *env_elem, unsigned long *len)
{
char *env_trans = PerlEnv_getenv(env_elem);
if (env_trans)
@@ -3212,7 +3212,7 @@ getenv_len(char *env_elem, unsigned long *len)
MGVTBL*
-get_vtbl(int vtbl_id)
+Perl_get_vtbl(pTHX_ int vtbl_id)
{
MGVTBL* result = Null(MGVTBL*);
@@ -3316,7 +3316,7 @@ get_vtbl(int vtbl_id)
}
I32
-my_fflush_all(void)
+Perl_my_fflush_all(pTHX)
{
#ifdef FFLUSH_NULL
return PerlIO_flush(NULL);