This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
Merge the XS implementation of all B::MG accessors using ALIAS.
[perl5.git] / perlapi.c
old mode 100755 (executable)
new mode 100644 (file)
index 51323c0..232b94f
--- a/perlapi.c
+++ b/perlapi.c
-/* !!!!!!!   DO NOT EDIT THIS FILE   !!!!!!! 
-   This file is built by embed.pl from data in embed.pl, pp.sym, intrpvar.h,
-   perlvars.h and thrdvar.h.  Any changes made here will be lost!
-*/
+/*  -*- buffer-read-only: t -*-
+ *
+ *    perlapi.c
+ *
+ *    Copyright (C) 1993, 1994, 1995, 1996, 1997, 1998, 1999,
+ *    2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, by Larry Wall and others
+ *
+ *    You may distribute under the terms of either the GNU General Public
+ *    License or the Artistic License, as specified in the README file.
+ *
+ * !!!!!!!   DO NOT EDIT THIS FILE   !!!!!!!
+ * This file is built by regen/embed.pl from data in embed.fnc,
+ * regen/embed.pl, pp.sym, intrpvar.h, and perlvars.h.
+ * Any changes made here will be lost!
+ *
+ * Edit those files and run 'make regen_headers' to effect changes.
+ *
+ *
+ * Up to the threshold of the door there mounted a flight of twenty-seven
+ * broad stairs, hewn by some unknown art of the same black stone.  This
+ * was the only entrance to the tower; ...
+ *
+ *     [p.577 of _The Lord of the Rings_, III/x: "The Voice of Saruman"]
+ *
+ */
 
 #include "EXTERN.h"
 #include "perl.h"
 #include "perlapi.h"
 
-#if defined(PERL_OBJECT) || defined (MULTIPLICITY)
+#if defined (MULTIPLICITY) && defined (PERL_GLOBAL_STRUCT)
 
-/* accessor functions for Perl variables (provides binary compatibility) */
+/* accessor functions for Perl "global" variables */
 START_EXTERN_C
 
-#undef PERLVAR
-#undef PERLVARA
 #undef PERLVARI
-#undef PERLVARIC
-
-#if defined(PERL_OBJECT)
-#define PERLVAR(v,t)   t* Perl_##v##_ptr(pTHXo)                        \
-                       { return &(aTHXo->interp.v); }
-#define PERLVARA(v,n,t)        PL_##v##_t* Perl_##v##_ptr(pTHXo)               \
-                       { return &(aTHXo->interp.v); }
-#else  /* MULTIPLICITY */
-#define PERLVAR(v,t)   t* Perl_##v##_ptr(pTHX)                         \
-                       { return &(aTHX->v); }
-#define PERLVARA(v,n,t)        PL_##v##_t* Perl_##v##_ptr(pTHX)                \
-                       { return &(aTHX->v); }
-#endif
-
-#define PERLVARI(v,t,i)        PERLVAR(v,t)
-#define PERLVARIC(v,t,i) PERLVAR(v, const t)
-
-#include "thrdvar.h"
-#include "intrpvar.h"
+#define PERLVARI(v,t,i) PERLVAR(v,t)
 
 #undef PERLVAR
 #undef PERLVARA
-#define PERLVAR(v,t)   t* Perl_##v##_ptr(pTHXo)                        \
-                       { return &(PL_##v); }
-#define PERLVARA(v,n,t)        PL_##v##_t* Perl_##v##_ptr(pTHXo)               \
-                       { return &(PL_##v); }
+#define PERLVAR(v,t)   t* Perl_##v##_ptr(pTHX                        \
+                       { dVAR; PERL_UNUSED_CONTEXT; return &(PL_##v); }
+#define PERLVARA(v,n,t)        PL_##v##_t* Perl_##v##_ptr(pTHX               \
+                       { dVAR; PERL_UNUSED_CONTEXT; return &(PL_##v); }
 #undef PERLVARIC
-#define PERLVARIC(v,t,i)       const t* Perl_##v##_ptr(pTHXo)          \
-                       { return (const t *)&(PL_##v); }
+#undef PERLVARISC
+#define PERLVARIC(v,t,i)       \
+                       const t* Perl_##v##_ptr(pTHX)           \
+                       { PERL_UNUSED_CONTEXT; return (const t *)&(PL_##v); }
+#define PERLVARISC(v,i)        PL_##v##_t* Perl_##v##_ptr(pTHX)        \
+                       { dVAR; PERL_UNUSED_CONTEXT; return &(PL_##v); }
 #include "perlvars.h"
 
 #undef PERLVAR
 #undef PERLVARA
 #undef PERLVARI
 #undef PERLVARIC
+#undef PERLVARISC
 
-#if defined(PERL_OBJECT)
-
-/* C-API layer for PERL_OBJECT */
-
-#if defined(PERL_IMPLICIT_SYS)
-#endif
-#if defined(USE_ITHREADS)
-#  if defined(PERL_IMPLICIT_SYS)
-#  endif
-#endif
-#if defined(MYMALLOC)
-#endif
-#if defined(PERL_OBJECT)
-#ifndef __BORLANDC__
-#endif
-#endif
-#if defined(PERL_OBJECT)
-#else
-#endif
-
-#undef  Perl_amagic_call
-SV*
-Perl_amagic_call(pTHXo_ SV* left, SV* right, int method, int dir)
-{
-    return ((CPerlObj*)pPerl)->Perl_amagic_call(left, right, method, dir);
-}
-
-#undef  Perl_Gv_AMupdate
-bool
-Perl_Gv_AMupdate(pTHXo_ HV* stash)
-{
-    return ((CPerlObj*)pPerl)->Perl_Gv_AMupdate(stash);
-}
-
-#undef  Perl_apply_attrs_string
-void
-Perl_apply_attrs_string(pTHXo_ char *stashpv, CV *cv, char *attrstr, STRLEN len)
-{
-    ((CPerlObj*)pPerl)->Perl_apply_attrs_string(stashpv, cv, attrstr, len);
-}
-
-#undef  Perl_avhv_delete_ent
-SV*
-Perl_avhv_delete_ent(pTHXo_ AV *ar, SV* keysv, I32 flags, U32 hash)
-{
-    return ((CPerlObj*)pPerl)->Perl_avhv_delete_ent(ar, keysv, flags, hash);
-}
-
-#undef  Perl_avhv_exists_ent
-bool
-Perl_avhv_exists_ent(pTHXo_ AV *ar, SV* keysv, U32 hash)
-{
-    return ((CPerlObj*)pPerl)->Perl_avhv_exists_ent(ar, keysv, hash);
-}
-
-#undef  Perl_avhv_fetch_ent
-SV**
-Perl_avhv_fetch_ent(pTHXo_ AV *ar, SV* keysv, I32 lval, U32 hash)
-{
-    return ((CPerlObj*)pPerl)->Perl_avhv_fetch_ent(ar, keysv, lval, hash);
-}
-
-#undef  Perl_avhv_store_ent
-SV**
-Perl_avhv_store_ent(pTHXo_ AV *ar, SV* keysv, SV* val, U32 hash)
-{
-    return ((CPerlObj*)pPerl)->Perl_avhv_store_ent(ar, keysv, val, hash);
-}
-
-#undef  Perl_avhv_iternext
-HE*
-Perl_avhv_iternext(pTHXo_ AV *ar)
-{
-    return ((CPerlObj*)pPerl)->Perl_avhv_iternext(ar);
-}
-
-#undef  Perl_avhv_iterval
-SV*
-Perl_avhv_iterval(pTHXo_ AV *ar, HE* entry)
-{
-    return ((CPerlObj*)pPerl)->Perl_avhv_iterval(ar, entry);
-}
-
-#undef  Perl_avhv_keys
-HV*
-Perl_avhv_keys(pTHXo_ AV *ar)
-{
-    return ((CPerlObj*)pPerl)->Perl_avhv_keys(ar);
-}
-
-#undef  Perl_av_clear
-void
-Perl_av_clear(pTHXo_ AV* ar)
-{
-    ((CPerlObj*)pPerl)->Perl_av_clear(ar);
-}
-
-#undef  Perl_av_delete
-SV*
-Perl_av_delete(pTHXo_ AV* ar, I32 key, I32 flags)
-{
-    return ((CPerlObj*)pPerl)->Perl_av_delete(ar, key, flags);
-}
-
-#undef  Perl_av_exists
-bool
-Perl_av_exists(pTHXo_ AV* ar, I32 key)
-{
-    return ((CPerlObj*)pPerl)->Perl_av_exists(ar, key);
-}
-
-#undef  Perl_av_extend
-void
-Perl_av_extend(pTHXo_ AV* ar, I32 key)
-{
-    ((CPerlObj*)pPerl)->Perl_av_extend(ar, key);
-}
-
-#undef  Perl_av_fake
-AV*
-Perl_av_fake(pTHXo_ I32 size, SV** svp)
-{
-    return ((CPerlObj*)pPerl)->Perl_av_fake(size, svp);
-}
-
-#undef  Perl_av_fetch
-SV**
-Perl_av_fetch(pTHXo_ AV* ar, I32 key, I32 lval)
-{
-    return ((CPerlObj*)pPerl)->Perl_av_fetch(ar, key, lval);
-}
-
-#undef  Perl_av_fill
-void
-Perl_av_fill(pTHXo_ AV* ar, I32 fill)
-{
-    ((CPerlObj*)pPerl)->Perl_av_fill(ar, fill);
-}
-
-#undef  Perl_av_len
-I32
-Perl_av_len(pTHXo_ AV* ar)
-{
-    return ((CPerlObj*)pPerl)->Perl_av_len(ar);
-}
-
-#undef  Perl_av_make
-AV*
-Perl_av_make(pTHXo_ I32 size, SV** svp)
-{
-    return ((CPerlObj*)pPerl)->Perl_av_make(size, svp);
-}
-
-#undef  Perl_av_pop
-SV*
-Perl_av_pop(pTHXo_ AV* ar)
-{
-    return ((CPerlObj*)pPerl)->Perl_av_pop(ar);
-}
-
-#undef  Perl_av_push
-void
-Perl_av_push(pTHXo_ AV* ar, SV* val)
-{
-    ((CPerlObj*)pPerl)->Perl_av_push(ar, val);
-}
-
-#undef  Perl_av_reify
-void
-Perl_av_reify(pTHXo_ AV* ar)
-{
-    ((CPerlObj*)pPerl)->Perl_av_reify(ar);
-}
-
-#undef  Perl_av_shift
-SV*
-Perl_av_shift(pTHXo_ AV* ar)
-{
-    return ((CPerlObj*)pPerl)->Perl_av_shift(ar);
-}
-
-#undef  Perl_av_store
-SV**
-Perl_av_store(pTHXo_ AV* ar, I32 key, SV* val)
-{
-    return ((CPerlObj*)pPerl)->Perl_av_store(ar, key, val);
-}
-
-#undef  Perl_av_undef
-void
-Perl_av_undef(pTHXo_ AV* ar)
-{
-    ((CPerlObj*)pPerl)->Perl_av_undef(ar);
-}
-
-#undef  Perl_av_unshift
-void
-Perl_av_unshift(pTHXo_ AV* ar, I32 num)
-{
-    ((CPerlObj*)pPerl)->Perl_av_unshift(ar, num);
-}
-
-#undef  Perl_block_gimme
-I32
-Perl_block_gimme(pTHXo)
-{
-    return ((CPerlObj*)pPerl)->Perl_block_gimme();
-}
-
-#undef  Perl_call_list
-void
-Perl_call_list(pTHXo_ I32 oldscope, AV* av_list)
-{
-    ((CPerlObj*)pPerl)->Perl_call_list(oldscope, av_list);
-}
-
-#undef  Perl_cast_ulong
-U32
-Perl_cast_ulong(pTHXo_ NV f)
-{
-    return ((CPerlObj*)pPerl)->Perl_cast_ulong(f);
-}
-
-#undef  Perl_cast_i32
-I32
-Perl_cast_i32(pTHXo_ NV f)
-{
-    return ((CPerlObj*)pPerl)->Perl_cast_i32(f);
-}
-
-#undef  Perl_cast_iv
-IV
-Perl_cast_iv(pTHXo_ NV f)
-{
-    return ((CPerlObj*)pPerl)->Perl_cast_iv(f);
-}
-
-#undef  Perl_cast_uv
-UV
-Perl_cast_uv(pTHXo_ NV f)
-{
-    return ((CPerlObj*)pPerl)->Perl_cast_uv(f);
-}
-#if !defined(HAS_TRUNCATE) && !defined(HAS_CHSIZE) && defined(F_FREESP)
-
-#undef  Perl_my_chsize
-I32
-Perl_my_chsize(pTHXo_ int fd, Off_t length)
-{
-    return ((CPerlObj*)pPerl)->Perl_my_chsize(fd, length);
-}
-#endif
-#if defined(USE_THREADS)
-
-#undef  Perl_condpair_magic
-MAGIC*
-Perl_condpair_magic(pTHXo_ SV *sv)
-{
-    return ((CPerlObj*)pPerl)->Perl_condpair_magic(sv);
-}
-#endif
-
-#undef  Perl_croak
-void
-Perl_croak(pTHXo_ const char* pat, ...)
-{
-    va_list args;
-    va_start(args, pat);
-    ((CPerlObj*)pPerl)->Perl_vcroak(pat, &args);
-    va_end(args);
-}
-
-#undef  Perl_vcroak
-void
-Perl_vcroak(pTHXo_ const char* pat, va_list* args)
-{
-    ((CPerlObj*)pPerl)->Perl_vcroak(pat, args);
-}
-#if defined(PERL_IMPLICIT_CONTEXT)
-
-#undef  Perl_croak_nocontext
-void
-Perl_croak_nocontext(const char* pat, ...)
-{
-    dTHXo;
-    va_list args;
-    va_start(args, pat);
-    ((CPerlObj*)pPerl)->Perl_vcroak(pat, &args);
-    va_end(args);
-}
-
-#undef  Perl_die_nocontext
-OP*
-Perl_die_nocontext(const char* pat, ...)
-{
-    dTHXo;
-    OP* retval;
-    va_list args;
-    va_start(args, pat);
-    retval = ((CPerlObj*)pPerl)->Perl_vdie(pat, &args);
-    va_end(args);
-    return retval;
-
-}
-
-#undef  Perl_deb_nocontext
-void
-Perl_deb_nocontext(const char* pat, ...)
-{
-    dTHXo;
-    va_list args;
-    va_start(args, pat);
-    ((CPerlObj*)pPerl)->Perl_vdeb(pat, &args);
-    va_end(args);
-}
-
-#undef  Perl_form_nocontext
-char*
-Perl_form_nocontext(const char* pat, ...)
-{
-    dTHXo;
-    char* retval;
-    va_list args;
-    va_start(args, pat);
-    retval = ((CPerlObj*)pPerl)->Perl_vform(pat, &args);
-    va_end(args);
-    return retval;
-
-}
-
-#undef  Perl_load_module_nocontext
-void
-Perl_load_module_nocontext(U32 flags, SV* name, SV* ver, ...)
-{
-    dTHXo;
-    va_list args;
-    va_start(args, ver);
-    ((CPerlObj*)pPerl)->Perl_vload_module(flags, name, ver, &args);
-    va_end(args);
-}
-
-#undef  Perl_mess_nocontext
-SV*
-Perl_mess_nocontext(const char* pat, ...)
-{
-    dTHXo;
-    SV* retval;
-    va_list args;
-    va_start(args, pat);
-    retval = ((CPerlObj*)pPerl)->Perl_vmess(pat, &args);
-    va_end(args);
-    return retval;
-
-}
-
-#undef  Perl_warn_nocontext
-void
-Perl_warn_nocontext(const char* pat, ...)
-{
-    dTHXo;
-    va_list args;
-    va_start(args, pat);
-    ((CPerlObj*)pPerl)->Perl_vwarn(pat, &args);
-    va_end(args);
-}
-
-#undef  Perl_warner_nocontext
-void
-Perl_warner_nocontext(U32 err, const char* pat, ...)
-{
-    dTHXo;
-    va_list args;
-    va_start(args, pat);
-    ((CPerlObj*)pPerl)->Perl_vwarner(err, pat, &args);
-    va_end(args);
-}
-
-#undef  Perl_newSVpvf_nocontext
-SV*
-Perl_newSVpvf_nocontext(const char* pat, ...)
-{
-    dTHXo;
-    SV* retval;
-    va_list args;
-    va_start(args, pat);
-    retval = ((CPerlObj*)pPerl)->Perl_vnewSVpvf(pat, &args);
-    va_end(args);
-    return retval;
-
-}
-
-#undef  Perl_sv_catpvf_nocontext
-void
-Perl_sv_catpvf_nocontext(SV* sv, const char* pat, ...)
-{
-    dTHXo;
-    va_list args;
-    va_start(args, pat);
-    ((CPerlObj*)pPerl)->Perl_sv_vcatpvf(sv, pat, &args);
-    va_end(args);
-}
-
-#undef  Perl_sv_setpvf_nocontext
-void
-Perl_sv_setpvf_nocontext(SV* sv, const char* pat, ...)
-{
-    dTHXo;
-    va_list args;
-    va_start(args, pat);
-    ((CPerlObj*)pPerl)->Perl_sv_vsetpvf(sv, pat, &args);
-    va_end(args);
-}
-
-#undef  Perl_sv_catpvf_mg_nocontext
-void
-Perl_sv_catpvf_mg_nocontext(SV* sv, const char* pat, ...)
-{
-    dTHXo;
-    va_list args;
-    va_start(args, pat);
-    ((CPerlObj*)pPerl)->Perl_sv_vcatpvf_mg(sv, pat, &args);
-    va_end(args);
-}
-
-#undef  Perl_sv_setpvf_mg_nocontext
-void
-Perl_sv_setpvf_mg_nocontext(SV* sv, const char* pat, ...)
-{
-    dTHXo;
-    va_list args;
-    va_start(args, pat);
-    ((CPerlObj*)pPerl)->Perl_sv_vsetpvf_mg(sv, pat, &args);
-    va_end(args);
-}
-
-#undef  Perl_fprintf_nocontext
-#endif
-
-#undef  Perl_cv_const_sv
-SV*
-Perl_cv_const_sv(pTHXo_ CV* cv)
-{
-    return ((CPerlObj*)pPerl)->Perl_cv_const_sv(cv);
-}
-
-#undef  Perl_cv_undef
-void
-Perl_cv_undef(pTHXo_ CV* cv)
-{
-    ((CPerlObj*)pPerl)->Perl_cv_undef(cv);
-}
-
-#undef  Perl_cx_dump
-void
-Perl_cx_dump(pTHXo_ PERL_CONTEXT* cs)
-{
-    ((CPerlObj*)pPerl)->Perl_cx_dump(cs);
-}
-
-#undef  Perl_filter_add
-SV*
-Perl_filter_add(pTHXo_ filter_t funcp, SV* datasv)
-{
-    return ((CPerlObj*)pPerl)->Perl_filter_add(funcp, datasv);
-}
-
-#undef  Perl_filter_del
-void
-Perl_filter_del(pTHXo_ filter_t funcp)
-{
-    ((CPerlObj*)pPerl)->Perl_filter_del(funcp);
-}
-
-#undef  Perl_filter_read
-I32
-Perl_filter_read(pTHXo_ int idx, SV* buffer, int maxlen)
-{
-    return ((CPerlObj*)pPerl)->Perl_filter_read(idx, buffer, maxlen);
-}
-
-#undef  Perl_get_op_descs
-char**
-Perl_get_op_descs(pTHXo)
-{
-    return ((CPerlObj*)pPerl)->Perl_get_op_descs();
-}
-
-#undef  Perl_get_op_names
-char**
-Perl_get_op_names(pTHXo)
-{
-    return ((CPerlObj*)pPerl)->Perl_get_op_names();
-}
-
-#undef  Perl_get_ppaddr
-PPADDR_t*
-Perl_get_ppaddr(pTHXo)
-{
-    return ((CPerlObj*)pPerl)->Perl_get_ppaddr();
-}
-
-#undef  Perl_deb
-void
-Perl_deb(pTHXo_ const char* pat, ...)
-{
-    va_list args;
-    va_start(args, pat);
-    ((CPerlObj*)pPerl)->Perl_vdeb(pat, &args);
-    va_end(args);
-}
-
-#undef  Perl_vdeb
-void
-Perl_vdeb(pTHXo_ const char* pat, va_list* args)
-{
-    ((CPerlObj*)pPerl)->Perl_vdeb(pat, args);
-}
-
-#undef  Perl_debprofdump
-void
-Perl_debprofdump(pTHXo)
-{
-    ((CPerlObj*)pPerl)->Perl_debprofdump();
-}
-
-#undef  Perl_debop
-I32
-Perl_debop(pTHXo_ OP* o)
-{
-    return ((CPerlObj*)pPerl)->Perl_debop(o);
-}
-
-#undef  Perl_debstack
-I32
-Perl_debstack(pTHXo)
-{
-    return ((CPerlObj*)pPerl)->Perl_debstack();
-}
-
-#undef  Perl_debstackptrs
-I32
-Perl_debstackptrs(pTHXo)
-{
-    return ((CPerlObj*)pPerl)->Perl_debstackptrs();
-}
-
-#undef  Perl_delimcpy
-char*
-Perl_delimcpy(pTHXo_ char* to, char* toend, char* from, char* fromend, int delim, I32* retlen)
-{
-    return ((CPerlObj*)pPerl)->Perl_delimcpy(to, toend, from, fromend, delim, retlen);
-}
-
-#undef  Perl_die
-OP*
-Perl_die(pTHXo_ const char* pat, ...)
-{
-    OP* retval;
-    va_list args;
-    va_start(args, pat);
-    retval = ((CPerlObj*)pPerl)->Perl_vdie(pat, &args);
-    va_end(args);
-    return retval;
-
-}
-
-#undef  Perl_dounwind
-void
-Perl_dounwind(pTHXo_ I32 cxix)
-{
-    ((CPerlObj*)pPerl)->Perl_dounwind(cxix);
-}
-
-#undef  Perl_do_binmode
-int
-Perl_do_binmode(pTHXo_ PerlIO *fp, int iotype, int mode)
-{
-    return ((CPerlObj*)pPerl)->Perl_do_binmode(fp, iotype, mode);
-}
-
-#undef  Perl_do_close
-bool
-Perl_do_close(pTHXo_ GV* gv, bool not_implicit)
-{
-    return ((CPerlObj*)pPerl)->Perl_do_close(gv, not_implicit);
-}
-#if !defined(WIN32)
-#endif
-#if defined(HAS_MSG) || defined(HAS_SEM) || defined(HAS_SHM)
-#endif
-
-#undef  Perl_do_join
-void
-Perl_do_join(pTHXo_ SV* sv, SV* del, SV** mark, SV** sp)
-{
-    ((CPerlObj*)pPerl)->Perl_do_join(sv, del, mark, sp);
-}
-
-#undef  Perl_do_open
-bool
-Perl_do_open(pTHXo_ GV* gv, char* name, I32 len, int as_raw, int rawmode, int rawperm, PerlIO* supplied_fp)
-{
-    return ((CPerlObj*)pPerl)->Perl_do_open(gv, name, len, as_raw, rawmode, rawperm, supplied_fp);
-}
-
-#undef  Perl_do_open9
-bool
-Perl_do_open9(pTHXo_ GV *gv, char *name, I32 len, int as_raw, int rawmode, int rawperm, PerlIO *supplied_fp, SV *svs, I32 num)
-{
-    return ((CPerlObj*)pPerl)->Perl_do_open9(gv, name, len, as_raw, rawmode, rawperm, supplied_fp, svs, num);
-}
-
-#undef  Perl_dowantarray
-I32
-Perl_dowantarray(pTHXo)
-{
-    return ((CPerlObj*)pPerl)->Perl_dowantarray();
-}
-
-#undef  Perl_dump_all
-void
-Perl_dump_all(pTHXo)
-{
-    ((CPerlObj*)pPerl)->Perl_dump_all();
-}
-
-#undef  Perl_dump_eval
-void
-Perl_dump_eval(pTHXo)
-{
-    ((CPerlObj*)pPerl)->Perl_dump_eval();
-}
-#if defined(DUMP_FDS)
-
-#undef  Perl_dump_fds
-void
-Perl_dump_fds(pTHXo_ char* s)
-{
-    ((CPerlObj*)pPerl)->Perl_dump_fds(s);
-}
-#endif
-
-#undef  Perl_dump_form
-void
-Perl_dump_form(pTHXo_ GV* gv)
-{
-    ((CPerlObj*)pPerl)->Perl_dump_form(gv);
-}
-
-#undef  Perl_gv_dump
-void
-Perl_gv_dump(pTHXo_ GV* gv)
-{
-    ((CPerlObj*)pPerl)->Perl_gv_dump(gv);
-}
-
-#undef  Perl_op_dump
-void
-Perl_op_dump(pTHXo_ OP* arg)
-{
-    ((CPerlObj*)pPerl)->Perl_op_dump(arg);
-}
-
-#undef  Perl_pmop_dump
-void
-Perl_pmop_dump(pTHXo_ PMOP* pm)
-{
-    ((CPerlObj*)pPerl)->Perl_pmop_dump(pm);
-}
-
-#undef  Perl_dump_packsubs
-void
-Perl_dump_packsubs(pTHXo_ HV* stash)
-{
-    ((CPerlObj*)pPerl)->Perl_dump_packsubs(stash);
-}
-
-#undef  Perl_dump_sub
-void
-Perl_dump_sub(pTHXo_ GV* gv)
-{
-    ((CPerlObj*)pPerl)->Perl_dump_sub(gv);
-}
-
-#undef  Perl_fbm_compile
-void
-Perl_fbm_compile(pTHXo_ SV* sv, U32 flags)
-{
-    ((CPerlObj*)pPerl)->Perl_fbm_compile(sv, flags);
-}
-
-#undef  Perl_fbm_instr
-char*
-Perl_fbm_instr(pTHXo_ unsigned char* big, unsigned char* bigend, SV* littlesv, U32 flags)
-{
-    return ((CPerlObj*)pPerl)->Perl_fbm_instr(big, bigend, littlesv, flags);
-}
-#if defined(USE_THREADS)
-#endif
-
-#undef  Perl_form
-char*
-Perl_form(pTHXo_ const char* pat, ...)
-{
-    char* retval;
-    va_list args;
-    va_start(args, pat);
-    retval = ((CPerlObj*)pPerl)->Perl_vform(pat, &args);
-    va_end(args);
-    return retval;
-
-}
-
-#undef  Perl_vform
-char*
-Perl_vform(pTHXo_ const char* pat, va_list* args)
-{
-    return ((CPerlObj*)pPerl)->Perl_vform(pat, args);
-}
-
-#undef  Perl_free_tmps
-void
-Perl_free_tmps(pTHXo)
-{
-    ((CPerlObj*)pPerl)->Perl_free_tmps();
-}
-#if !defined(HAS_GETENV_LEN)
-#endif
-
-#undef  Perl_gp_free
-void
-Perl_gp_free(pTHXo_ GV* gv)
-{
-    ((CPerlObj*)pPerl)->Perl_gp_free(gv);
-}
-
-#undef  Perl_gp_ref
-GP*
-Perl_gp_ref(pTHXo_ GP* gp)
-{
-    return ((CPerlObj*)pPerl)->Perl_gp_ref(gp);
-}
-
-#undef  Perl_gv_AVadd
-GV*
-Perl_gv_AVadd(pTHXo_ GV* gv)
-{
-    return ((CPerlObj*)pPerl)->Perl_gv_AVadd(gv);
-}
-
-#undef  Perl_gv_HVadd
-GV*
-Perl_gv_HVadd(pTHXo_ GV* gv)
-{
-    return ((CPerlObj*)pPerl)->Perl_gv_HVadd(gv);
-}
-
-#undef  Perl_gv_IOadd
-GV*
-Perl_gv_IOadd(pTHXo_ GV* gv)
-{
-    return ((CPerlObj*)pPerl)->Perl_gv_IOadd(gv);
-}
-
-#undef  Perl_gv_autoload4
-GV*
-Perl_gv_autoload4(pTHXo_ HV* stash, const char* name, STRLEN len, I32 method)
-{
-    return ((CPerlObj*)pPerl)->Perl_gv_autoload4(stash, name, len, method);
-}
-
-#undef  Perl_gv_check
-void
-Perl_gv_check(pTHXo_ HV* stash)
-{
-    ((CPerlObj*)pPerl)->Perl_gv_check(stash);
-}
-
-#undef  Perl_gv_efullname
-void
-Perl_gv_efullname(pTHXo_ SV* sv, GV* gv)
-{
-    ((CPerlObj*)pPerl)->Perl_gv_efullname(sv, gv);
-}
-
-#undef  Perl_gv_efullname3
-void
-Perl_gv_efullname3(pTHXo_ SV* sv, GV* gv, const char* prefix)
-{
-    ((CPerlObj*)pPerl)->Perl_gv_efullname3(sv, gv, prefix);
-}
-
-#undef  Perl_gv_fetchfile
-GV*
-Perl_gv_fetchfile(pTHXo_ const char* name)
-{
-    return ((CPerlObj*)pPerl)->Perl_gv_fetchfile(name);
-}
-
-#undef  Perl_gv_fetchmeth
-GV*
-Perl_gv_fetchmeth(pTHXo_ HV* stash, const char* name, STRLEN len, I32 level)
-{
-    return ((CPerlObj*)pPerl)->Perl_gv_fetchmeth(stash, name, len, level);
-}
-
-#undef  Perl_gv_fetchmethod
-GV*
-Perl_gv_fetchmethod(pTHXo_ HV* stash, const char* name)
-{
-    return ((CPerlObj*)pPerl)->Perl_gv_fetchmethod(stash, name);
-}
-
-#undef  Perl_gv_fetchmethod_autoload
-GV*
-Perl_gv_fetchmethod_autoload(pTHXo_ HV* stash, const char* name, I32 autoload)
-{
-    return ((CPerlObj*)pPerl)->Perl_gv_fetchmethod_autoload(stash, name, autoload);
-}
-
-#undef  Perl_gv_fetchpv
-GV*
-Perl_gv_fetchpv(pTHXo_ const char* name, I32 add, I32 sv_type)
-{
-    return ((CPerlObj*)pPerl)->Perl_gv_fetchpv(name, add, sv_type);
-}
-
-#undef  Perl_gv_fullname
-void
-Perl_gv_fullname(pTHXo_ SV* sv, GV* gv)
-{
-    ((CPerlObj*)pPerl)->Perl_gv_fullname(sv, gv);
-}
-
-#undef  Perl_gv_fullname3
-void
-Perl_gv_fullname3(pTHXo_ SV* sv, GV* gv, const char* prefix)
-{
-    ((CPerlObj*)pPerl)->Perl_gv_fullname3(sv, gv, prefix);
-}
-
-#undef  Perl_gv_init
-void
-Perl_gv_init(pTHXo_ GV* gv, HV* stash, const char* name, STRLEN len, int multi)
-{
-    ((CPerlObj*)pPerl)->Perl_gv_init(gv, stash, name, len, multi);
-}
-
-#undef  Perl_gv_stashpv
-HV*
-Perl_gv_stashpv(pTHXo_ const char* name, I32 create)
-{
-    return ((CPerlObj*)pPerl)->Perl_gv_stashpv(name, create);
-}
-
-#undef  Perl_gv_stashpvn
-HV*
-Perl_gv_stashpvn(pTHXo_ const char* name, U32 namelen, I32 create)
-{
-    return ((CPerlObj*)pPerl)->Perl_gv_stashpvn(name, namelen, create);
-}
-
-#undef  Perl_gv_stashsv
-HV*
-Perl_gv_stashsv(pTHXo_ SV* sv, I32 create)
-{
-    return ((CPerlObj*)pPerl)->Perl_gv_stashsv(sv, create);
-}
-
-#undef  Perl_hv_clear
-void
-Perl_hv_clear(pTHXo_ HV* tb)
-{
-    ((CPerlObj*)pPerl)->Perl_hv_clear(tb);
-}
-
-#undef  Perl_hv_delayfree_ent
-void
-Perl_hv_delayfree_ent(pTHXo_ HV* hv, HE* entry)
-{
-    ((CPerlObj*)pPerl)->Perl_hv_delayfree_ent(hv, entry);
-}
-
-#undef  Perl_hv_delete
-SV*
-Perl_hv_delete(pTHXo_ HV* tb, const char* key, U32 klen, I32 flags)
-{
-    return ((CPerlObj*)pPerl)->Perl_hv_delete(tb, key, klen, flags);
-}
-
-#undef  Perl_hv_delete_ent
-SV*
-Perl_hv_delete_ent(pTHXo_ HV* tb, SV* key, I32 flags, U32 hash)
-{
-    return ((CPerlObj*)pPerl)->Perl_hv_delete_ent(tb, key, flags, hash);
-}
-
-#undef  Perl_hv_exists
-bool
-Perl_hv_exists(pTHXo_ HV* tb, const char* key, U32 klen)
-{
-    return ((CPerlObj*)pPerl)->Perl_hv_exists(tb, key, klen);
-}
-
-#undef  Perl_hv_exists_ent
-bool
-Perl_hv_exists_ent(pTHXo_ HV* tb, SV* key, U32 hash)
-{
-    return ((CPerlObj*)pPerl)->Perl_hv_exists_ent(tb, key, hash);
-}
-
-#undef  Perl_hv_fetch
-SV**
-Perl_hv_fetch(pTHXo_ HV* tb, const char* key, U32 klen, I32 lval)
-{
-    return ((CPerlObj*)pPerl)->Perl_hv_fetch(tb, key, klen, lval);
-}
-
-#undef  Perl_hv_fetch_ent
-HE*
-Perl_hv_fetch_ent(pTHXo_ HV* tb, SV* key, I32 lval, U32 hash)
-{
-    return ((CPerlObj*)pPerl)->Perl_hv_fetch_ent(tb, key, lval, hash);
-}
-
-#undef  Perl_hv_free_ent
-void
-Perl_hv_free_ent(pTHXo_ HV* hv, HE* entry)
-{
-    ((CPerlObj*)pPerl)->Perl_hv_free_ent(hv, entry);
-}
-
-#undef  Perl_hv_iterinit
-I32
-Perl_hv_iterinit(pTHXo_ HV* tb)
-{
-    return ((CPerlObj*)pPerl)->Perl_hv_iterinit(tb);
-}
-
-#undef  Perl_hv_iterkey
-char*
-Perl_hv_iterkey(pTHXo_ HE* entry, I32* retlen)
-{
-    return ((CPerlObj*)pPerl)->Perl_hv_iterkey(entry, retlen);
-}
-
-#undef  Perl_hv_iterkeysv
-SV*
-Perl_hv_iterkeysv(pTHXo_ HE* entry)
-{
-    return ((CPerlObj*)pPerl)->Perl_hv_iterkeysv(entry);
-}
-
-#undef  Perl_hv_iternext
-HE*
-Perl_hv_iternext(pTHXo_ HV* tb)
-{
-    return ((CPerlObj*)pPerl)->Perl_hv_iternext(tb);
-}
-
-#undef  Perl_hv_iternextsv
-SV*
-Perl_hv_iternextsv(pTHXo_ HV* hv, char** key, I32* retlen)
-{
-    return ((CPerlObj*)pPerl)->Perl_hv_iternextsv(hv, key, retlen);
-}
-
-#undef  Perl_hv_iterval
-SV*
-Perl_hv_iterval(pTHXo_ HV* tb, HE* entry)
-{
-    return ((CPerlObj*)pPerl)->Perl_hv_iterval(tb, entry);
-}
-
-#undef  Perl_hv_ksplit
-void
-Perl_hv_ksplit(pTHXo_ HV* hv, IV newmax)
-{
-    ((CPerlObj*)pPerl)->Perl_hv_ksplit(hv, newmax);
-}
-
-#undef  Perl_hv_magic
-void
-Perl_hv_magic(pTHXo_ HV* hv, GV* gv, int how)
-{
-    ((CPerlObj*)pPerl)->Perl_hv_magic(hv, gv, how);
-}
-
-#undef  Perl_hv_store
-SV**
-Perl_hv_store(pTHXo_ HV* tb, const char* key, U32 klen, SV* val, U32 hash)
-{
-    return ((CPerlObj*)pPerl)->Perl_hv_store(tb, key, klen, val, hash);
-}
-
-#undef  Perl_hv_store_ent
-HE*
-Perl_hv_store_ent(pTHXo_ HV* tb, SV* key, SV* val, U32 hash)
-{
-    return ((CPerlObj*)pPerl)->Perl_hv_store_ent(tb, key, val, hash);
-}
-
-#undef  Perl_hv_undef
-void
-Perl_hv_undef(pTHXo_ HV* tb)
-{
-    ((CPerlObj*)pPerl)->Perl_hv_undef(tb);
-}
-
-#undef  Perl_ibcmp
-I32
-Perl_ibcmp(pTHXo_ const char* a, const char* b, I32 len)
-{
-    return ((CPerlObj*)pPerl)->Perl_ibcmp(a, b, len);
-}
-
-#undef  Perl_ibcmp_locale
-I32
-Perl_ibcmp_locale(pTHXo_ const char* a, const char* b, I32 len)
-{
-    return ((CPerlObj*)pPerl)->Perl_ibcmp_locale(a, b, len);
-}
-
-#undef  Perl_init_stacks
-void
-Perl_init_stacks(pTHXo)
-{
-    ((CPerlObj*)pPerl)->Perl_init_stacks();
-}
-
-#undef  Perl_instr
-char*
-Perl_instr(pTHXo_ const char* big, const char* little)
-{
-    return ((CPerlObj*)pPerl)->Perl_instr(big, little);
-}
-
-#undef  Perl_is_uni_alnum
-bool
-Perl_is_uni_alnum(pTHXo_ U32 c)
-{
-    return ((CPerlObj*)pPerl)->Perl_is_uni_alnum(c);
-}
-
-#undef  Perl_is_uni_alnumc
-bool
-Perl_is_uni_alnumc(pTHXo_ U32 c)
-{
-    return ((CPerlObj*)pPerl)->Perl_is_uni_alnumc(c);
-}
-
-#undef  Perl_is_uni_idfirst
-bool
-Perl_is_uni_idfirst(pTHXo_ U32 c)
-{
-    return ((CPerlObj*)pPerl)->Perl_is_uni_idfirst(c);
-}
-
-#undef  Perl_is_uni_alpha
-bool
-Perl_is_uni_alpha(pTHXo_ U32 c)
-{
-    return ((CPerlObj*)pPerl)->Perl_is_uni_alpha(c);
-}
-
-#undef  Perl_is_uni_ascii
-bool
-Perl_is_uni_ascii(pTHXo_ U32 c)
-{
-    return ((CPerlObj*)pPerl)->Perl_is_uni_ascii(c);
-}
-
-#undef  Perl_is_uni_space
-bool
-Perl_is_uni_space(pTHXo_ U32 c)
-{
-    return ((CPerlObj*)pPerl)->Perl_is_uni_space(c);
-}
-
-#undef  Perl_is_uni_cntrl
-bool
-Perl_is_uni_cntrl(pTHXo_ U32 c)
-{
-    return ((CPerlObj*)pPerl)->Perl_is_uni_cntrl(c);
-}
-
-#undef  Perl_is_uni_graph
-bool
-Perl_is_uni_graph(pTHXo_ U32 c)
-{
-    return ((CPerlObj*)pPerl)->Perl_is_uni_graph(c);
-}
-
-#undef  Perl_is_uni_digit
-bool
-Perl_is_uni_digit(pTHXo_ U32 c)
-{
-    return ((CPerlObj*)pPerl)->Perl_is_uni_digit(c);
-}
-
-#undef  Perl_is_uni_upper
-bool
-Perl_is_uni_upper(pTHXo_ U32 c)
-{
-    return ((CPerlObj*)pPerl)->Perl_is_uni_upper(c);
-}
-
-#undef  Perl_is_uni_lower
-bool
-Perl_is_uni_lower(pTHXo_ U32 c)
-{
-    return ((CPerlObj*)pPerl)->Perl_is_uni_lower(c);
-}
-
-#undef  Perl_is_uni_print
-bool
-Perl_is_uni_print(pTHXo_ U32 c)
-{
-    return ((CPerlObj*)pPerl)->Perl_is_uni_print(c);
-}
-
-#undef  Perl_is_uni_punct
-bool
-Perl_is_uni_punct(pTHXo_ U32 c)
-{
-    return ((CPerlObj*)pPerl)->Perl_is_uni_punct(c);
-}
-
-#undef  Perl_is_uni_xdigit
-bool
-Perl_is_uni_xdigit(pTHXo_ U32 c)
-{
-    return ((CPerlObj*)pPerl)->Perl_is_uni_xdigit(c);
-}
-
-#undef  Perl_to_uni_upper
-U32
-Perl_to_uni_upper(pTHXo_ U32 c)
-{
-    return ((CPerlObj*)pPerl)->Perl_to_uni_upper(c);
-}
-
-#undef  Perl_to_uni_title
-U32
-Perl_to_uni_title(pTHXo_ U32 c)
-{
-    return ((CPerlObj*)pPerl)->Perl_to_uni_title(c);
-}
-
-#undef  Perl_to_uni_lower
-U32
-Perl_to_uni_lower(pTHXo_ U32 c)
-{
-    return ((CPerlObj*)pPerl)->Perl_to_uni_lower(c);
-}
-
-#undef  Perl_is_uni_alnum_lc
-bool
-Perl_is_uni_alnum_lc(pTHXo_ U32 c)
-{
-    return ((CPerlObj*)pPerl)->Perl_is_uni_alnum_lc(c);
-}
-
-#undef  Perl_is_uni_alnumc_lc
-bool
-Perl_is_uni_alnumc_lc(pTHXo_ U32 c)
-{
-    return ((CPerlObj*)pPerl)->Perl_is_uni_alnumc_lc(c);
-}
-
-#undef  Perl_is_uni_idfirst_lc
-bool
-Perl_is_uni_idfirst_lc(pTHXo_ U32 c)
-{
-    return ((CPerlObj*)pPerl)->Perl_is_uni_idfirst_lc(c);
-}
-
-#undef  Perl_is_uni_alpha_lc
-bool
-Perl_is_uni_alpha_lc(pTHXo_ U32 c)
-{
-    return ((CPerlObj*)pPerl)->Perl_is_uni_alpha_lc(c);
-}
-
-#undef  Perl_is_uni_ascii_lc
-bool
-Perl_is_uni_ascii_lc(pTHXo_ U32 c)
-{
-    return ((CPerlObj*)pPerl)->Perl_is_uni_ascii_lc(c);
-}
-
-#undef  Perl_is_uni_space_lc
-bool
-Perl_is_uni_space_lc(pTHXo_ U32 c)
-{
-    return ((CPerlObj*)pPerl)->Perl_is_uni_space_lc(c);
-}
-
-#undef  Perl_is_uni_cntrl_lc
-bool
-Perl_is_uni_cntrl_lc(pTHXo_ U32 c)
-{
-    return ((CPerlObj*)pPerl)->Perl_is_uni_cntrl_lc(c);
-}
-
-#undef  Perl_is_uni_graph_lc
-bool
-Perl_is_uni_graph_lc(pTHXo_ U32 c)
-{
-    return ((CPerlObj*)pPerl)->Perl_is_uni_graph_lc(c);
-}
-
-#undef  Perl_is_uni_digit_lc
-bool
-Perl_is_uni_digit_lc(pTHXo_ U32 c)
-{
-    return ((CPerlObj*)pPerl)->Perl_is_uni_digit_lc(c);
-}
-
-#undef  Perl_is_uni_upper_lc
-bool
-Perl_is_uni_upper_lc(pTHXo_ U32 c)
-{
-    return ((CPerlObj*)pPerl)->Perl_is_uni_upper_lc(c);
-}
-
-#undef  Perl_is_uni_lower_lc
-bool
-Perl_is_uni_lower_lc(pTHXo_ U32 c)
-{
-    return ((CPerlObj*)pPerl)->Perl_is_uni_lower_lc(c);
-}
-
-#undef  Perl_is_uni_print_lc
-bool
-Perl_is_uni_print_lc(pTHXo_ U32 c)
-{
-    return ((CPerlObj*)pPerl)->Perl_is_uni_print_lc(c);
-}
-
-#undef  Perl_is_uni_punct_lc
-bool
-Perl_is_uni_punct_lc(pTHXo_ U32 c)
-{
-    return ((CPerlObj*)pPerl)->Perl_is_uni_punct_lc(c);
-}
-
-#undef  Perl_is_uni_xdigit_lc
-bool
-Perl_is_uni_xdigit_lc(pTHXo_ U32 c)
-{
-    return ((CPerlObj*)pPerl)->Perl_is_uni_xdigit_lc(c);
-}
-
-#undef  Perl_to_uni_upper_lc
-U32
-Perl_to_uni_upper_lc(pTHXo_ U32 c)
-{
-    return ((CPerlObj*)pPerl)->Perl_to_uni_upper_lc(c);
-}
-
-#undef  Perl_to_uni_title_lc
-U32
-Perl_to_uni_title_lc(pTHXo_ U32 c)
-{
-    return ((CPerlObj*)pPerl)->Perl_to_uni_title_lc(c);
-}
-
-#undef  Perl_to_uni_lower_lc
-U32
-Perl_to_uni_lower_lc(pTHXo_ U32 c)
-{
-    return ((CPerlObj*)pPerl)->Perl_to_uni_lower_lc(c);
-}
-
-#undef  Perl_is_utf8_char
-int
-Perl_is_utf8_char(pTHXo_ U8 *p)
-{
-    return ((CPerlObj*)pPerl)->Perl_is_utf8_char(p);
-}
-
-#undef  Perl_is_utf8_string
-bool
-Perl_is_utf8_string(pTHXo_ U8 *s, STRLEN len)
-{
-    return ((CPerlObj*)pPerl)->Perl_is_utf8_string(s, len);
-}
-
-#undef  Perl_is_utf8_alnum
-bool
-Perl_is_utf8_alnum(pTHXo_ U8 *p)
-{
-    return ((CPerlObj*)pPerl)->Perl_is_utf8_alnum(p);
-}
-
-#undef  Perl_is_utf8_alnumc
-bool
-Perl_is_utf8_alnumc(pTHXo_ U8 *p)
-{
-    return ((CPerlObj*)pPerl)->Perl_is_utf8_alnumc(p);
-}
-
-#undef  Perl_is_utf8_idfirst
-bool
-Perl_is_utf8_idfirst(pTHXo_ U8 *p)
-{
-    return ((CPerlObj*)pPerl)->Perl_is_utf8_idfirst(p);
-}
-
-#undef  Perl_is_utf8_alpha
-bool
-Perl_is_utf8_alpha(pTHXo_ U8 *p)
-{
-    return ((CPerlObj*)pPerl)->Perl_is_utf8_alpha(p);
-}
-
-#undef  Perl_is_utf8_ascii
-bool
-Perl_is_utf8_ascii(pTHXo_ U8 *p)
-{
-    return ((CPerlObj*)pPerl)->Perl_is_utf8_ascii(p);
-}
-
-#undef  Perl_is_utf8_space
-bool
-Perl_is_utf8_space(pTHXo_ U8 *p)
-{
-    return ((CPerlObj*)pPerl)->Perl_is_utf8_space(p);
-}
-
-#undef  Perl_is_utf8_cntrl
-bool
-Perl_is_utf8_cntrl(pTHXo_ U8 *p)
-{
-    return ((CPerlObj*)pPerl)->Perl_is_utf8_cntrl(p);
-}
-
-#undef  Perl_is_utf8_digit
-bool
-Perl_is_utf8_digit(pTHXo_ U8 *p)
-{
-    return ((CPerlObj*)pPerl)->Perl_is_utf8_digit(p);
-}
-
-#undef  Perl_is_utf8_graph
-bool
-Perl_is_utf8_graph(pTHXo_ U8 *p)
-{
-    return ((CPerlObj*)pPerl)->Perl_is_utf8_graph(p);
-}
-
-#undef  Perl_is_utf8_upper
-bool
-Perl_is_utf8_upper(pTHXo_ U8 *p)
-{
-    return ((CPerlObj*)pPerl)->Perl_is_utf8_upper(p);
-}
-
-#undef  Perl_is_utf8_lower
-bool
-Perl_is_utf8_lower(pTHXo_ U8 *p)
-{
-    return ((CPerlObj*)pPerl)->Perl_is_utf8_lower(p);
-}
-
-#undef  Perl_is_utf8_print
-bool
-Perl_is_utf8_print(pTHXo_ U8 *p)
-{
-    return ((CPerlObj*)pPerl)->Perl_is_utf8_print(p);
-}
-
-#undef  Perl_is_utf8_punct
-bool
-Perl_is_utf8_punct(pTHXo_ U8 *p)
-{
-    return ((CPerlObj*)pPerl)->Perl_is_utf8_punct(p);
-}
-
-#undef  Perl_is_utf8_xdigit
-bool
-Perl_is_utf8_xdigit(pTHXo_ U8 *p)
-{
-    return ((CPerlObj*)pPerl)->Perl_is_utf8_xdigit(p);
-}
-
-#undef  Perl_is_utf8_mark
-bool
-Perl_is_utf8_mark(pTHXo_ U8 *p)
-{
-    return ((CPerlObj*)pPerl)->Perl_is_utf8_mark(p);
-}
-
-#undef  Perl_leave_scope
-void
-Perl_leave_scope(pTHXo_ I32 base)
-{
-    ((CPerlObj*)pPerl)->Perl_leave_scope(base);
-}
-
-#undef  Perl_load_module
-void
-Perl_load_module(pTHXo_ U32 flags, SV* name, SV* ver, ...)
-{
-    va_list args;
-    va_start(args, ver);
-    ((CPerlObj*)pPerl)->Perl_vload_module(flags, name, ver, &args);
-    va_end(args);
-}
-
-#undef  Perl_vload_module
-void
-Perl_vload_module(pTHXo_ U32 flags, SV* name, SV* ver, va_list* args)
-{
-    ((CPerlObj*)pPerl)->Perl_vload_module(flags, name, ver, args);
-}
-
-#undef  Perl_looks_like_number
-I32
-Perl_looks_like_number(pTHXo_ SV* sv)
-{
-    return ((CPerlObj*)pPerl)->Perl_looks_like_number(sv);
-}
-#if defined(USE_THREADS)
-#endif
-#if defined(USE_LOCALE_COLLATE)
-#endif
-
-#undef  Perl_markstack_grow
-void
-Perl_markstack_grow(pTHXo)
-{
-    ((CPerlObj*)pPerl)->Perl_markstack_grow();
-}
-#if defined(USE_LOCALE_COLLATE)
-#endif
-
-#undef  Perl_mess
-SV*
-Perl_mess(pTHXo_ const char* pat, ...)
-{
-    SV* retval;
-    va_list args;
-    va_start(args, pat);
-    retval = ((CPerlObj*)pPerl)->Perl_vmess(pat, &args);
-    va_end(args);
-    return retval;
-
-}
-
-#undef  Perl_vmess
-SV*
-Perl_vmess(pTHXo_ const char* pat, va_list* args)
-{
-    return ((CPerlObj*)pPerl)->Perl_vmess(pat, args);
-}
-
-#undef  Perl_mg_clear
-int
-Perl_mg_clear(pTHXo_ SV* sv)
-{
-    return ((CPerlObj*)pPerl)->Perl_mg_clear(sv);
-}
-
-#undef  Perl_mg_copy
-int
-Perl_mg_copy(pTHXo_ SV* sv, SV* nsv, const char* key, I32 klen)
-{
-    return ((CPerlObj*)pPerl)->Perl_mg_copy(sv, nsv, key, klen);
-}
-
-#undef  Perl_mg_find
-MAGIC*
-Perl_mg_find(pTHXo_ SV* sv, int type)
-{
-    return ((CPerlObj*)pPerl)->Perl_mg_find(sv, type);
-}
-
-#undef  Perl_mg_free
-int
-Perl_mg_free(pTHXo_ SV* sv)
-{
-    return ((CPerlObj*)pPerl)->Perl_mg_free(sv);
-}
-
-#undef  Perl_mg_get
-int
-Perl_mg_get(pTHXo_ SV* sv)
-{
-    return ((CPerlObj*)pPerl)->Perl_mg_get(sv);
-}
-
-#undef  Perl_mg_length
-U32
-Perl_mg_length(pTHXo_ SV* sv)
-{
-    return ((CPerlObj*)pPerl)->Perl_mg_length(sv);
-}
-
-#undef  Perl_mg_magical
-void
-Perl_mg_magical(pTHXo_ SV* sv)
-{
-    ((CPerlObj*)pPerl)->Perl_mg_magical(sv);
-}
-
-#undef  Perl_mg_set
-int
-Perl_mg_set(pTHXo_ SV* sv)
-{
-    return ((CPerlObj*)pPerl)->Perl_mg_set(sv);
-}
-
-#undef  Perl_mg_size
-I32
-Perl_mg_size(pTHXo_ SV* sv)
-{
-    return ((CPerlObj*)pPerl)->Perl_mg_size(sv);
-}
-
-#undef  Perl_moreswitches
-char*
-Perl_moreswitches(pTHXo_ char* s)
-{
-    return ((CPerlObj*)pPerl)->Perl_moreswitches(s);
-}
-
-#undef  Perl_my_atof
-NV
-Perl_my_atof(pTHXo_ const char *s)
-{
-    return ((CPerlObj*)pPerl)->Perl_my_atof(s);
-}
-#if !defined(HAS_BCOPY) || !defined(HAS_SAFE_BCOPY)
-
-#undef  Perl_my_bcopy
-char*
-Perl_my_bcopy(const char* from, char* to, I32 len)
-{
-    dTHXo;
-    return ((CPerlObj*)pPerl)->Perl_my_bcopy(from, to, len);
-}
-#endif
-#if !defined(HAS_BZERO) && !defined(HAS_MEMSET)
-
-#undef  Perl_my_bzero
-char*
-Perl_my_bzero(char* loc, I32 len)
-{
-    dTHXo;
-    return ((CPerlObj*)pPerl)->Perl_my_bzero(loc, len);
-}
-#endif
-
-#undef  Perl_my_exit
-void
-Perl_my_exit(pTHXo_ U32 status)
-{
-    ((CPerlObj*)pPerl)->Perl_my_exit(status);
-}
-
-#undef  Perl_my_failure_exit
-void
-Perl_my_failure_exit(pTHXo)
-{
-    ((CPerlObj*)pPerl)->Perl_my_failure_exit();
-}
-
-#undef  Perl_my_fflush_all
-I32
-Perl_my_fflush_all(pTHXo)
-{
-    return ((CPerlObj*)pPerl)->Perl_my_fflush_all();
-}
-
-#undef  Perl_my_lstat
-I32
-Perl_my_lstat(pTHXo)
-{
-    return ((CPerlObj*)pPerl)->Perl_my_lstat();
-}
-#if !defined(HAS_MEMCMP) || !defined(HAS_SANE_MEMCMP)
-
-#undef  Perl_my_memcmp
-I32
-Perl_my_memcmp(const char* s1, const char* s2, I32 len)
-{
-    dTHXo;
-    return ((CPerlObj*)pPerl)->Perl_my_memcmp(s1, s2, len);
-}
-#endif
-#if !defined(HAS_MEMSET)
-
-#undef  Perl_my_memset
-void*
-Perl_my_memset(char* loc, I32 ch, I32 len)
-{
-    dTHXo;
-    return ((CPerlObj*)pPerl)->Perl_my_memset(loc, ch, len);
-}
-#endif
-#if !defined(PERL_OBJECT)
-
-#undef  Perl_my_pclose
-I32
-Perl_my_pclose(pTHXo_ PerlIO* ptr)
-{
-    return ((CPerlObj*)pPerl)->Perl_my_pclose(ptr);
-}
-
-#undef  Perl_my_popen
-PerlIO*
-Perl_my_popen(pTHXo_ char* cmd, char* mode)
-{
-    return ((CPerlObj*)pPerl)->Perl_my_popen(cmd, mode);
-}
-#endif
-
-#undef  Perl_my_setenv
-void
-Perl_my_setenv(pTHXo_ char* nam, char* val)
-{
-    ((CPerlObj*)pPerl)->Perl_my_setenv(nam, val);
-}
-
-#undef  Perl_my_stat
-I32
-Perl_my_stat(pTHXo)
-{
-    return ((CPerlObj*)pPerl)->Perl_my_stat();
-}
-#if defined(MYSWAP)
-
-#undef  Perl_my_swap
-short
-Perl_my_swap(pTHXo_ short s)
-{
-    return ((CPerlObj*)pPerl)->Perl_my_swap(s);
-}
-
-#undef  Perl_my_htonl
-long
-Perl_my_htonl(pTHXo_ long l)
-{
-    return ((CPerlObj*)pPerl)->Perl_my_htonl(l);
-}
-
-#undef  Perl_my_ntohl
-long
-Perl_my_ntohl(pTHXo_ long l)
-{
-    return ((CPerlObj*)pPerl)->Perl_my_ntohl(l);
-}
-#endif
-
-#undef  Perl_newANONLIST
-OP*
-Perl_newANONLIST(pTHXo_ OP* o)
-{
-    return ((CPerlObj*)pPerl)->Perl_newANONLIST(o);
-}
-
-#undef  Perl_newANONHASH
-OP*
-Perl_newANONHASH(pTHXo_ OP* o)
-{
-    return ((CPerlObj*)pPerl)->Perl_newANONHASH(o);
-}
-
-#undef  Perl_newANONSUB
-OP*
-Perl_newANONSUB(pTHXo_ I32 floor, OP* proto, OP* block)
-{
-    return ((CPerlObj*)pPerl)->Perl_newANONSUB(floor, proto, block);
-}
-
-#undef  Perl_newASSIGNOP
-OP*
-Perl_newASSIGNOP(pTHXo_ I32 flags, OP* left, I32 optype, OP* right)
-{
-    return ((CPerlObj*)pPerl)->Perl_newASSIGNOP(flags, left, optype, right);
-}
-
-#undef  Perl_newCONDOP
-OP*
-Perl_newCONDOP(pTHXo_ I32 flags, OP* expr, OP* trueop, OP* falseop)
-{
-    return ((CPerlObj*)pPerl)->Perl_newCONDOP(flags, expr, trueop, falseop);
-}
-
-#undef  Perl_newCONSTSUB
-void
-Perl_newCONSTSUB(pTHXo_ HV* stash, char* name, SV* sv)
-{
-    ((CPerlObj*)pPerl)->Perl_newCONSTSUB(stash, name, sv);
-}
-
-#undef  Perl_newFORM
-void
-Perl_newFORM(pTHXo_ I32 floor, OP* o, OP* block)
-{
-    ((CPerlObj*)pPerl)->Perl_newFORM(floor, o, block);
-}
-
-#undef  Perl_newFOROP
-OP*
-Perl_newFOROP(pTHXo_ I32 flags, char* label, line_t forline, OP* sclr, OP* expr, OP*block, OP*cont)
-{
-    return ((CPerlObj*)pPerl)->Perl_newFOROP(flags, label, forline, sclr, expr, block, cont);
-}
-
-#undef  Perl_newLOGOP
-OP*
-Perl_newLOGOP(pTHXo_ I32 optype, I32 flags, OP* left, OP* right)
-{
-    return ((CPerlObj*)pPerl)->Perl_newLOGOP(optype, flags, left, right);
-}
-
-#undef  Perl_newLOOPEX
-OP*
-Perl_newLOOPEX(pTHXo_ I32 type, OP* label)
-{
-    return ((CPerlObj*)pPerl)->Perl_newLOOPEX(type, label);
-}
-
-#undef  Perl_newLOOPOP
-OP*
-Perl_newLOOPOP(pTHXo_ I32 flags, I32 debuggable, OP* expr, OP* block)
-{
-    return ((CPerlObj*)pPerl)->Perl_newLOOPOP(flags, debuggable, expr, block);
-}
-
-#undef  Perl_newNULLLIST
-OP*
-Perl_newNULLLIST(pTHXo)
-{
-    return ((CPerlObj*)pPerl)->Perl_newNULLLIST();
-}
-
-#undef  Perl_newOP
-OP*
-Perl_newOP(pTHXo_ I32 optype, I32 flags)
-{
-    return ((CPerlObj*)pPerl)->Perl_newOP(optype, flags);
-}
-
-#undef  Perl_newPROG
-void
-Perl_newPROG(pTHXo_ OP* o)
-{
-    ((CPerlObj*)pPerl)->Perl_newPROG(o);
-}
-
-#undef  Perl_newRANGE
-OP*
-Perl_newRANGE(pTHXo_ I32 flags, OP* left, OP* right)
-{
-    return ((CPerlObj*)pPerl)->Perl_newRANGE(flags, left, right);
-}
-
-#undef  Perl_newSLICEOP
-OP*
-Perl_newSLICEOP(pTHXo_ I32 flags, OP* subscript, OP* listop)
-{
-    return ((CPerlObj*)pPerl)->Perl_newSLICEOP(flags, subscript, listop);
-}
-
-#undef  Perl_newSTATEOP
-OP*
-Perl_newSTATEOP(pTHXo_ I32 flags, char* label, OP* o)
-{
-    return ((CPerlObj*)pPerl)->Perl_newSTATEOP(flags, label, o);
-}
-
-#undef  Perl_newSUB
-CV*
-Perl_newSUB(pTHXo_ I32 floor, OP* o, OP* proto, OP* block)
-{
-    return ((CPerlObj*)pPerl)->Perl_newSUB(floor, o, proto, block);
-}
-
-#undef  Perl_newXS
-CV*
-Perl_newXS(pTHXo_ char* name, XSUBADDR_t f, char* filename)
-{
-    return ((CPerlObj*)pPerl)->Perl_newXS(name, f, filename);
-}
-
-#undef  Perl_newAV
-AV*
-Perl_newAV(pTHXo)
-{
-    return ((CPerlObj*)pPerl)->Perl_newAV();
-}
+END_EXTERN_C
 
-#undef  Perl_newAVREF
-OP*
-Perl_newAVREF(pTHXo_ OP* o)
-{
-    return ((CPerlObj*)pPerl)->Perl_newAVREF(o);
-}
-
-#undef  Perl_newBINOP
-OP*
-Perl_newBINOP(pTHXo_ I32 type, I32 flags, OP* first, OP* last)
-{
-    return ((CPerlObj*)pPerl)->Perl_newBINOP(type, flags, first, last);
-}
-
-#undef  Perl_newCVREF
-OP*
-Perl_newCVREF(pTHXo_ I32 flags, OP* o)
-{
-    return ((CPerlObj*)pPerl)->Perl_newCVREF(flags, o);
-}
-
-#undef  Perl_newGVOP
-OP*
-Perl_newGVOP(pTHXo_ I32 type, I32 flags, GV* gv)
-{
-    return ((CPerlObj*)pPerl)->Perl_newGVOP(type, flags, gv);
-}
-
-#undef  Perl_newGVgen
-GV*
-Perl_newGVgen(pTHXo_ char* pack)
-{
-    return ((CPerlObj*)pPerl)->Perl_newGVgen(pack);
-}
-
-#undef  Perl_newGVREF
-OP*
-Perl_newGVREF(pTHXo_ I32 type, OP* o)
-{
-    return ((CPerlObj*)pPerl)->Perl_newGVREF(type, o);
-}
-
-#undef  Perl_newHVREF
-OP*
-Perl_newHVREF(pTHXo_ OP* o)
-{
-    return ((CPerlObj*)pPerl)->Perl_newHVREF(o);
-}
-
-#undef  Perl_newHV
-HV*
-Perl_newHV(pTHXo)
-{
-    return ((CPerlObj*)pPerl)->Perl_newHV();
-}
-
-#undef  Perl_newHVhv
-HV*
-Perl_newHVhv(pTHXo_ HV* hv)
-{
-    return ((CPerlObj*)pPerl)->Perl_newHVhv(hv);
-}
-
-#undef  Perl_newIO
-IO*
-Perl_newIO(pTHXo)
-{
-    return ((CPerlObj*)pPerl)->Perl_newIO();
-}
-
-#undef  Perl_newLISTOP
-OP*
-Perl_newLISTOP(pTHXo_ I32 type, I32 flags, OP* first, OP* last)
-{
-    return ((CPerlObj*)pPerl)->Perl_newLISTOP(type, flags, first, last);
-}
-
-#undef  Perl_newPADOP
-OP*
-Perl_newPADOP(pTHXo_ I32 type, I32 flags, SV* sv)
-{
-    return ((CPerlObj*)pPerl)->Perl_newPADOP(type, flags, sv);
-}
-
-#undef  Perl_newPMOP
-OP*
-Perl_newPMOP(pTHXo_ I32 type, I32 flags)
-{
-    return ((CPerlObj*)pPerl)->Perl_newPMOP(type, flags);
-}
-
-#undef  Perl_newPVOP
-OP*
-Perl_newPVOP(pTHXo_ I32 type, I32 flags, char* pv)
-{
-    return ((CPerlObj*)pPerl)->Perl_newPVOP(type, flags, pv);
-}
-
-#undef  Perl_newRV
-SV*
-Perl_newRV(pTHXo_ SV* pref)
-{
-    return ((CPerlObj*)pPerl)->Perl_newRV(pref);
-}
-
-#undef  Perl_newRV_noinc
-SV*
-Perl_newRV_noinc(pTHXo_ SV *sv)
-{
-    return ((CPerlObj*)pPerl)->Perl_newRV_noinc(sv);
-}
-
-#undef  Perl_newSV
-SV*
-Perl_newSV(pTHXo_ STRLEN len)
-{
-    return ((CPerlObj*)pPerl)->Perl_newSV(len);
-}
-
-#undef  Perl_newSVREF
-OP*
-Perl_newSVREF(pTHXo_ OP* o)
-{
-    return ((CPerlObj*)pPerl)->Perl_newSVREF(o);
-}
-
-#undef  Perl_newSVOP
-OP*
-Perl_newSVOP(pTHXo_ I32 type, I32 flags, SV* sv)
-{
-    return ((CPerlObj*)pPerl)->Perl_newSVOP(type, flags, sv);
-}
-
-#undef  Perl_newSViv
-SV*
-Perl_newSViv(pTHXo_ IV i)
-{
-    return ((CPerlObj*)pPerl)->Perl_newSViv(i);
-}
-
-#undef  Perl_newSVuv
-SV*
-Perl_newSVuv(pTHXo_ UV u)
-{
-    return ((CPerlObj*)pPerl)->Perl_newSVuv(u);
-}
-
-#undef  Perl_newSVnv
-SV*
-Perl_newSVnv(pTHXo_ NV n)
-{
-    return ((CPerlObj*)pPerl)->Perl_newSVnv(n);
-}
-
-#undef  Perl_newSVpv
-SV*
-Perl_newSVpv(pTHXo_ const char* s, STRLEN len)
-{
-    return ((CPerlObj*)pPerl)->Perl_newSVpv(s, len);
-}
-
-#undef  Perl_newSVpvn
-SV*
-Perl_newSVpvn(pTHXo_ const char* s, STRLEN len)
-{
-    return ((CPerlObj*)pPerl)->Perl_newSVpvn(s, len);
-}
-
-#undef  Perl_newSVpvf
-SV*
-Perl_newSVpvf(pTHXo_ const char* pat, ...)
-{
-    SV* retval;
-    va_list args;
-    va_start(args, pat);
-    retval = ((CPerlObj*)pPerl)->Perl_vnewSVpvf(pat, &args);
-    va_end(args);
-    return retval;
-
-}
-
-#undef  Perl_vnewSVpvf
-SV*
-Perl_vnewSVpvf(pTHXo_ const char* pat, va_list* args)
-{
-    return ((CPerlObj*)pPerl)->Perl_vnewSVpvf(pat, args);
-}
-
-#undef  Perl_newSVrv
-SV*
-Perl_newSVrv(pTHXo_ SV* rv, const char* classname)
-{
-    return ((CPerlObj*)pPerl)->Perl_newSVrv(rv, classname);
-}
-
-#undef  Perl_newSVsv
-SV*
-Perl_newSVsv(pTHXo_ SV* old)
-{
-    return ((CPerlObj*)pPerl)->Perl_newSVsv(old);
-}
-
-#undef  Perl_newUNOP
-OP*
-Perl_newUNOP(pTHXo_ I32 type, I32 flags, OP* first)
-{
-    return ((CPerlObj*)pPerl)->Perl_newUNOP(type, flags, first);
-}
-
-#undef  Perl_newWHILEOP
-OP*
-Perl_newWHILEOP(pTHXo_ I32 flags, I32 debuggable, LOOP* loop, I32 whileline, OP* expr, OP* block, OP* cont)
-{
-    return ((CPerlObj*)pPerl)->Perl_newWHILEOP(flags, debuggable, loop, whileline, expr, block, cont);
-}
-
-#undef  Perl_new_stackinfo
-PERL_SI*
-Perl_new_stackinfo(pTHXo_ I32 stitems, I32 cxitems)
-{
-    return ((CPerlObj*)pPerl)->Perl_new_stackinfo(stitems, cxitems);
-}
-
-#undef  Perl_ninstr
-char*
-Perl_ninstr(pTHXo_ const char* big, const char* bigend, const char* little, const char* lend)
-{
-    return ((CPerlObj*)pPerl)->Perl_ninstr(big, bigend, little, lend);
-}
-
-#undef  Perl_op_free
-void
-Perl_op_free(pTHXo_ OP* arg)
-{
-    ((CPerlObj*)pPerl)->Perl_op_free(arg);
-}
-
-#undef  Perl_pad_sv
-SV*
-Perl_pad_sv(pTHXo_ PADOFFSET po)
-{
-    return ((CPerlObj*)pPerl)->Perl_pad_sv(po);
-}
-#if defined(PERL_OBJECT)
-
-#undef  Perl_construct
-void
-Perl_construct(pTHXo)
-{
-    ((CPerlObj*)pPerl)->Perl_construct();
-}
-
-#undef  Perl_destruct
-void
-Perl_destruct(pTHXo)
-{
-    ((CPerlObj*)pPerl)->Perl_destruct();
-}
-
-#undef  Perl_free
-void
-Perl_free(pTHXo)
-{
-    ((CPerlObj*)pPerl)->Perl_free();
-}
-
-#undef  Perl_run
-int
-Perl_run(pTHXo)
-{
-    return ((CPerlObj*)pPerl)->Perl_run();
-}
-
-#undef  Perl_parse
-int
-Perl_parse(pTHXo_ XSINIT_t xsinit, int argc, char** argv, char** env)
-{
-    return ((CPerlObj*)pPerl)->Perl_parse(xsinit, argc, argv, env);
-}
-#endif
-#if defined(USE_THREADS)
-
-#undef  Perl_new_struct_thread
-struct perl_thread*
-Perl_new_struct_thread(pTHXo_ struct perl_thread *t)
-{
-    return ((CPerlObj*)pPerl)->Perl_new_struct_thread(t);
-}
-#endif
-
-#undef  Perl_call_atexit
-void
-Perl_call_atexit(pTHXo_ ATEXIT_t fn, void *ptr)
-{
-    ((CPerlObj*)pPerl)->Perl_call_atexit(fn, ptr);
-}
-
-#undef  Perl_call_argv
-I32
-Perl_call_argv(pTHXo_ const char* sub_name, I32 flags, char** argv)
-{
-    return ((CPerlObj*)pPerl)->Perl_call_argv(sub_name, flags, argv);
-}
-
-#undef  Perl_call_method
-I32
-Perl_call_method(pTHXo_ const char* methname, I32 flags)
-{
-    return ((CPerlObj*)pPerl)->Perl_call_method(methname, flags);
-}
-
-#undef  Perl_call_pv
-I32
-Perl_call_pv(pTHXo_ const char* sub_name, I32 flags)
-{
-    return ((CPerlObj*)pPerl)->Perl_call_pv(sub_name, flags);
-}
-
-#undef  Perl_call_sv
-I32
-Perl_call_sv(pTHXo_ SV* sv, I32 flags)
-{
-    return ((CPerlObj*)pPerl)->Perl_call_sv(sv, flags);
-}
-
-#undef  Perl_eval_pv
-SV*
-Perl_eval_pv(pTHXo_ const char* p, I32 croak_on_error)
-{
-    return ((CPerlObj*)pPerl)->Perl_eval_pv(p, croak_on_error);
-}
-
-#undef  Perl_eval_sv
-I32
-Perl_eval_sv(pTHXo_ SV* sv, I32 flags)
-{
-    return ((CPerlObj*)pPerl)->Perl_eval_sv(sv, flags);
-}
-
-#undef  Perl_get_sv
-SV*
-Perl_get_sv(pTHXo_ const char* name, I32 create)
-{
-    return ((CPerlObj*)pPerl)->Perl_get_sv(name, create);
-}
-
-#undef  Perl_get_av
-AV*
-Perl_get_av(pTHXo_ const char* name, I32 create)
-{
-    return ((CPerlObj*)pPerl)->Perl_get_av(name, create);
-}
-
-#undef  Perl_get_hv
-HV*
-Perl_get_hv(pTHXo_ const char* name, I32 create)
-{
-    return ((CPerlObj*)pPerl)->Perl_get_hv(name, create);
-}
-
-#undef  Perl_get_cv
-CV*
-Perl_get_cv(pTHXo_ const char* name, I32 create)
-{
-    return ((CPerlObj*)pPerl)->Perl_get_cv(name, create);
-}
-
-#undef  Perl_init_i18nl10n
-int
-Perl_init_i18nl10n(pTHXo_ int printwarn)
-{
-    return ((CPerlObj*)pPerl)->Perl_init_i18nl10n(printwarn);
-}
-
-#undef  Perl_init_i18nl14n
-int
-Perl_init_i18nl14n(pTHXo_ int printwarn)
-{
-    return ((CPerlObj*)pPerl)->Perl_init_i18nl14n(printwarn);
-}
-
-#undef  Perl_new_collate
-void
-Perl_new_collate(pTHXo_ const char* newcoll)
-{
-    ((CPerlObj*)pPerl)->Perl_new_collate(newcoll);
-}
-
-#undef  Perl_new_ctype
-void
-Perl_new_ctype(pTHXo_ const char* newctype)
-{
-    ((CPerlObj*)pPerl)->Perl_new_ctype(newctype);
-}
-
-#undef  Perl_new_numeric
-void
-Perl_new_numeric(pTHXo_ const char* newcoll)
-{
-    ((CPerlObj*)pPerl)->Perl_new_numeric(newcoll);
-}
-
-#undef  Perl_set_numeric_local
-void
-Perl_set_numeric_local(pTHXo)
-{
-    ((CPerlObj*)pPerl)->Perl_set_numeric_local();
-}
-
-#undef  Perl_set_numeric_radix
-void
-Perl_set_numeric_radix(pTHXo)
-{
-    ((CPerlObj*)pPerl)->Perl_set_numeric_radix();
-}
-
-#undef  Perl_set_numeric_standard
-void
-Perl_set_numeric_standard(pTHXo)
-{
-    ((CPerlObj*)pPerl)->Perl_set_numeric_standard();
-}
-
-#undef  Perl_require_pv
-void
-Perl_require_pv(pTHXo_ const char* pv)
-{
-    ((CPerlObj*)pPerl)->Perl_require_pv(pv);
-}
-
-#undef  Perl_pmflag
-void
-Perl_pmflag(pTHXo_ U16* pmfl, int ch)
-{
-    ((CPerlObj*)pPerl)->Perl_pmflag(pmfl, ch);
-}
-
-#undef  Perl_pop_scope
-void
-Perl_pop_scope(pTHXo)
-{
-    ((CPerlObj*)pPerl)->Perl_pop_scope();
-}
-
-#undef  Perl_push_scope
-void
-Perl_push_scope(pTHXo)
-{
-    ((CPerlObj*)pPerl)->Perl_push_scope();
-}
-
-#undef  Perl_regdump
-void
-Perl_regdump(pTHXo_ regexp* r)
-{
-    ((CPerlObj*)pPerl)->Perl_regdump(r);
-}
-
-#undef  Perl_pregexec
-I32
-Perl_pregexec(pTHXo_ regexp* prog, char* stringarg, char* strend, char* strbeg, I32 minend, SV* screamer, U32 nosave)
-{
-    return ((CPerlObj*)pPerl)->Perl_pregexec(prog, stringarg, strend, strbeg, minend, screamer, nosave);
-}
-
-#undef  Perl_pregfree
-void
-Perl_pregfree(pTHXo_ struct regexp* r)
-{
-    ((CPerlObj*)pPerl)->Perl_pregfree(r);
-}
-
-#undef  Perl_pregcomp
-regexp*
-Perl_pregcomp(pTHXo_ char* exp, char* xend, PMOP* pm)
-{
-    return ((CPerlObj*)pPerl)->Perl_pregcomp(exp, xend, pm);
-}
-
-#undef  Perl_re_intuit_start
-char*
-Perl_re_intuit_start(pTHXo_ regexp* prog, SV* sv, char* strpos, char* strend, U32 flags, struct re_scream_pos_data_s *data)
-{
-    return ((CPerlObj*)pPerl)->Perl_re_intuit_start(prog, sv, strpos, strend, flags, data);
-}
-
-#undef  Perl_re_intuit_string
-SV*
-Perl_re_intuit_string(pTHXo_ regexp* prog)
-{
-    return ((CPerlObj*)pPerl)->Perl_re_intuit_string(prog);
-}
-
-#undef  Perl_regexec_flags
-I32
-Perl_regexec_flags(pTHXo_ regexp* prog, char* stringarg, char* strend, char* strbeg, I32 minend, SV* screamer, void* data, U32 flags)
-{
-    return ((CPerlObj*)pPerl)->Perl_regexec_flags(prog, stringarg, strend, strbeg, minend, screamer, data, flags);
-}
-
-#undef  Perl_regnext
-regnode*
-Perl_regnext(pTHXo_ regnode* p)
-{
-    return ((CPerlObj*)pPerl)->Perl_regnext(p);
-}
-
-#undef  Perl_repeatcpy
-void
-Perl_repeatcpy(pTHXo_ char* to, const char* from, I32 len, I32 count)
-{
-    ((CPerlObj*)pPerl)->Perl_repeatcpy(to, from, len, count);
-}
-
-#undef  Perl_rninstr
-char*
-Perl_rninstr(pTHXo_ const char* big, const char* bigend, const char* little, const char* lend)
-{
-    return ((CPerlObj*)pPerl)->Perl_rninstr(big, bigend, little, lend);
-}
-
-#undef  Perl_rsignal
-Sighandler_t
-Perl_rsignal(pTHXo_ int i, Sighandler_t t)
-{
-    return ((CPerlObj*)pPerl)->Perl_rsignal(i, t);
-}
-#if !defined(HAS_RENAME)
-#endif
-
-#undef  Perl_savepv
-char*
-Perl_savepv(pTHXo_ const char* sv)
-{
-    return ((CPerlObj*)pPerl)->Perl_savepv(sv);
-}
-
-#undef  Perl_savepvn
-char*
-Perl_savepvn(pTHXo_ const char* sv, I32 len)
-{
-    return ((CPerlObj*)pPerl)->Perl_savepvn(sv, len);
-}
-
-#undef  Perl_savestack_grow
-void
-Perl_savestack_grow(pTHXo)
-{
-    ((CPerlObj*)pPerl)->Perl_savestack_grow();
-}
-
-#undef  Perl_save_aelem
-void
-Perl_save_aelem(pTHXo_ AV* av, I32 idx, SV **sptr)
-{
-    ((CPerlObj*)pPerl)->Perl_save_aelem(av, idx, sptr);
-}
-
-#undef  Perl_save_alloc
-I32
-Perl_save_alloc(pTHXo_ I32 size, I32 pad)
-{
-    return ((CPerlObj*)pPerl)->Perl_save_alloc(size, pad);
-}
-
-#undef  Perl_save_aptr
-void
-Perl_save_aptr(pTHXo_ AV** aptr)
-{
-    ((CPerlObj*)pPerl)->Perl_save_aptr(aptr);
-}
-
-#undef  Perl_save_ary
-AV*
-Perl_save_ary(pTHXo_ GV* gv)
-{
-    return ((CPerlObj*)pPerl)->Perl_save_ary(gv);
-}
-
-#undef  Perl_save_clearsv
-void
-Perl_save_clearsv(pTHXo_ SV** svp)
-{
-    ((CPerlObj*)pPerl)->Perl_save_clearsv(svp);
-}
-
-#undef  Perl_save_delete
-void
-Perl_save_delete(pTHXo_ HV* hv, char* key, I32 klen)
-{
-    ((CPerlObj*)pPerl)->Perl_save_delete(hv, key, klen);
-}
-
-#undef  Perl_save_destructor
-void
-Perl_save_destructor(pTHXo_ DESTRUCTORFUNC_NOCONTEXT_t f, void* p)
-{
-    ((CPerlObj*)pPerl)->Perl_save_destructor(f, p);
-}
-
-#undef  Perl_save_destructor_x
-void
-Perl_save_destructor_x(pTHXo_ DESTRUCTORFUNC_t f, void* p)
-{
-    ((CPerlObj*)pPerl)->Perl_save_destructor_x(f, p);
-}
-
-#undef  Perl_save_freesv
-void
-Perl_save_freesv(pTHXo_ SV* sv)
-{
-    ((CPerlObj*)pPerl)->Perl_save_freesv(sv);
-}
-
-#undef  Perl_save_freepv
-void
-Perl_save_freepv(pTHXo_ char* pv)
-{
-    ((CPerlObj*)pPerl)->Perl_save_freepv(pv);
-}
-
-#undef  Perl_save_generic_svref
-void
-Perl_save_generic_svref(pTHXo_ SV** sptr)
-{
-    ((CPerlObj*)pPerl)->Perl_save_generic_svref(sptr);
-}
-
-#undef  Perl_save_generic_pvref
-void
-Perl_save_generic_pvref(pTHXo_ char** str)
-{
-    ((CPerlObj*)pPerl)->Perl_save_generic_pvref(str);
-}
-
-#undef  Perl_save_gp
-void
-Perl_save_gp(pTHXo_ GV* gv, I32 empty)
-{
-    ((CPerlObj*)pPerl)->Perl_save_gp(gv, empty);
-}
-
-#undef  Perl_save_hash
-HV*
-Perl_save_hash(pTHXo_ GV* gv)
-{
-    return ((CPerlObj*)pPerl)->Perl_save_hash(gv);
-}
-
-#undef  Perl_save_helem
-void
-Perl_save_helem(pTHXo_ HV* hv, SV *key, SV **sptr)
-{
-    ((CPerlObj*)pPerl)->Perl_save_helem(hv, key, sptr);
-}
-
-#undef  Perl_save_hints
-void
-Perl_save_hints(pTHXo)
-{
-    ((CPerlObj*)pPerl)->Perl_save_hints();
-}
-
-#undef  Perl_save_hptr
-void
-Perl_save_hptr(pTHXo_ HV** hptr)
-{
-    ((CPerlObj*)pPerl)->Perl_save_hptr(hptr);
-}
-
-#undef  Perl_save_I16
-void
-Perl_save_I16(pTHXo_ I16* intp)
-{
-    ((CPerlObj*)pPerl)->Perl_save_I16(intp);
-}
-
-#undef  Perl_save_I32
-void
-Perl_save_I32(pTHXo_ I32* intp)
-{
-    ((CPerlObj*)pPerl)->Perl_save_I32(intp);
-}
-
-#undef  Perl_save_I8
-void
-Perl_save_I8(pTHXo_ I8* bytep)
-{
-    ((CPerlObj*)pPerl)->Perl_save_I8(bytep);
-}
-
-#undef  Perl_save_int
-void
-Perl_save_int(pTHXo_ int* intp)
-{
-    ((CPerlObj*)pPerl)->Perl_save_int(intp);
-}
-
-#undef  Perl_save_item
-void
-Perl_save_item(pTHXo_ SV* item)
-{
-    ((CPerlObj*)pPerl)->Perl_save_item(item);
-}
-
-#undef  Perl_save_iv
-void
-Perl_save_iv(pTHXo_ IV* iv)
-{
-    ((CPerlObj*)pPerl)->Perl_save_iv(iv);
-}
-
-#undef  Perl_save_list
-void
-Perl_save_list(pTHXo_ SV** sarg, I32 maxsarg)
-{
-    ((CPerlObj*)pPerl)->Perl_save_list(sarg, maxsarg);
-}
-
-#undef  Perl_save_long
-void
-Perl_save_long(pTHXo_ long* longp)
-{
-    ((CPerlObj*)pPerl)->Perl_save_long(longp);
-}
-
-#undef  Perl_save_nogv
-void
-Perl_save_nogv(pTHXo_ GV* gv)
-{
-    ((CPerlObj*)pPerl)->Perl_save_nogv(gv);
-}
-
-#undef  Perl_save_scalar
-SV*
-Perl_save_scalar(pTHXo_ GV* gv)
-{
-    return ((CPerlObj*)pPerl)->Perl_save_scalar(gv);
-}
-
-#undef  Perl_save_pptr
-void
-Perl_save_pptr(pTHXo_ char** pptr)
-{
-    ((CPerlObj*)pPerl)->Perl_save_pptr(pptr);
-}
-
-#undef  Perl_save_vptr
-void
-Perl_save_vptr(pTHXo_ void* pptr)
-{
-    ((CPerlObj*)pPerl)->Perl_save_vptr(pptr);
-}
-
-#undef  Perl_save_re_context
-void
-Perl_save_re_context(pTHXo)
-{
-    ((CPerlObj*)pPerl)->Perl_save_re_context();
-}
-
-#undef  Perl_save_sptr
-void
-Perl_save_sptr(pTHXo_ SV** sptr)
-{
-    ((CPerlObj*)pPerl)->Perl_save_sptr(sptr);
-}
-
-#undef  Perl_save_svref
-SV*
-Perl_save_svref(pTHXo_ SV** sptr)
-{
-    return ((CPerlObj*)pPerl)->Perl_save_svref(sptr);
-}
-
-#undef  Perl_save_threadsv
-SV**
-Perl_save_threadsv(pTHXo_ PADOFFSET i)
-{
-    return ((CPerlObj*)pPerl)->Perl_save_threadsv(i);
-}
-
-#undef  Perl_scan_bin
-NV
-Perl_scan_bin(pTHXo_ char* start, I32 len, I32* retlen)
-{
-    return ((CPerlObj*)pPerl)->Perl_scan_bin(start, len, retlen);
-}
-
-#undef  Perl_scan_hex
-NV
-Perl_scan_hex(pTHXo_ char* start, I32 len, I32* retlen)
-{
-    return ((CPerlObj*)pPerl)->Perl_scan_hex(start, len, retlen);
-}
-
-#undef  Perl_scan_num
-char*
-Perl_scan_num(pTHXo_ char* s)
-{
-    return ((CPerlObj*)pPerl)->Perl_scan_num(s);
-}
-
-#undef  Perl_scan_oct
-NV
-Perl_scan_oct(pTHXo_ char* start, I32 len, I32* retlen)
-{
-    return ((CPerlObj*)pPerl)->Perl_scan_oct(start, len, retlen);
-}
-
-#undef  Perl_screaminstr
-char*
-Perl_screaminstr(pTHXo_ SV* bigsv, SV* littlesv, I32 start_shift, I32 end_shift, I32 *state, I32 last)
-{
-    return ((CPerlObj*)pPerl)->Perl_screaminstr(bigsv, littlesv, start_shift, end_shift, state, last);
-}
-#if !defined(VMS)
-#endif
-
-#undef  Perl_sharepvn
-char*
-Perl_sharepvn(pTHXo_ const char* sv, I32 len, U32 hash)
-{
-    return ((CPerlObj*)pPerl)->Perl_sharepvn(sv, len, hash);
-}
-
-#undef  Perl_stack_grow
-SV**
-Perl_stack_grow(pTHXo_ SV** sp, SV**p, int n)
-{
-    return ((CPerlObj*)pPerl)->Perl_stack_grow(sp, p, n);
-}
-
-#undef  Perl_start_subparse
-I32
-Perl_start_subparse(pTHXo_ I32 is_format, U32 flags)
-{
-    return ((CPerlObj*)pPerl)->Perl_start_subparse(is_format, flags);
-}
-
-#undef  Perl_sv_2bool
-bool
-Perl_sv_2bool(pTHXo_ SV* sv)
-{
-    return ((CPerlObj*)pPerl)->Perl_sv_2bool(sv);
-}
-
-#undef  Perl_sv_2cv
-CV*
-Perl_sv_2cv(pTHXo_ SV* sv, HV** st, GV** gvp, I32 lref)
-{
-    return ((CPerlObj*)pPerl)->Perl_sv_2cv(sv, st, gvp, lref);
-}
-
-#undef  Perl_sv_2io
-IO*
-Perl_sv_2io(pTHXo_ SV* sv)
-{
-    return ((CPerlObj*)pPerl)->Perl_sv_2io(sv);
-}
-
-#undef  Perl_sv_2iv
-IV
-Perl_sv_2iv(pTHXo_ SV* sv)
-{
-    return ((CPerlObj*)pPerl)->Perl_sv_2iv(sv);
-}
-
-#undef  Perl_sv_2mortal
-SV*
-Perl_sv_2mortal(pTHXo_ SV* sv)
-{
-    return ((CPerlObj*)pPerl)->Perl_sv_2mortal(sv);
-}
-
-#undef  Perl_sv_2nv
-NV
-Perl_sv_2nv(pTHXo_ SV* sv)
-{
-    return ((CPerlObj*)pPerl)->Perl_sv_2nv(sv);
-}
-
-#undef  Perl_sv_2pv
-char*
-Perl_sv_2pv(pTHXo_ SV* sv, STRLEN* lp)
-{
-    return ((CPerlObj*)pPerl)->Perl_sv_2pv(sv, lp);
-}
-
-#undef  Perl_sv_2pvutf8
-char*
-Perl_sv_2pvutf8(pTHXo_ SV* sv, STRLEN* lp)
-{
-    return ((CPerlObj*)pPerl)->Perl_sv_2pvutf8(sv, lp);
-}
-
-#undef  Perl_sv_2pvbyte
-char*
-Perl_sv_2pvbyte(pTHXo_ SV* sv, STRLEN* lp)
-{
-    return ((CPerlObj*)pPerl)->Perl_sv_2pvbyte(sv, lp);
-}
-
-#undef  Perl_sv_2uv
-UV
-Perl_sv_2uv(pTHXo_ SV* sv)
-{
-    return ((CPerlObj*)pPerl)->Perl_sv_2uv(sv);
-}
-
-#undef  Perl_sv_iv
-IV
-Perl_sv_iv(pTHXo_ SV* sv)
-{
-    return ((CPerlObj*)pPerl)->Perl_sv_iv(sv);
-}
-
-#undef  Perl_sv_uv
-UV
-Perl_sv_uv(pTHXo_ SV* sv)
-{
-    return ((CPerlObj*)pPerl)->Perl_sv_uv(sv);
-}
-
-#undef  Perl_sv_nv
-NV
-Perl_sv_nv(pTHXo_ SV* sv)
-{
-    return ((CPerlObj*)pPerl)->Perl_sv_nv(sv);
-}
-
-#undef  Perl_sv_pvn
-char*
-Perl_sv_pvn(pTHXo_ SV *sv, STRLEN *len)
-{
-    return ((CPerlObj*)pPerl)->Perl_sv_pvn(sv, len);
-}
-
-#undef  Perl_sv_pvutf8n
-char*
-Perl_sv_pvutf8n(pTHXo_ SV *sv, STRLEN *len)
-{
-    return ((CPerlObj*)pPerl)->Perl_sv_pvutf8n(sv, len);
-}
-
-#undef  Perl_sv_pvbyten
-char*
-Perl_sv_pvbyten(pTHXo_ SV *sv, STRLEN *len)
-{
-    return ((CPerlObj*)pPerl)->Perl_sv_pvbyten(sv, len);
-}
-
-#undef  Perl_sv_true
-I32
-Perl_sv_true(pTHXo_ SV *sv)
-{
-    return ((CPerlObj*)pPerl)->Perl_sv_true(sv);
-}
-
-#undef  Perl_sv_backoff
-int
-Perl_sv_backoff(pTHXo_ SV* sv)
-{
-    return ((CPerlObj*)pPerl)->Perl_sv_backoff(sv);
-}
-
-#undef  Perl_sv_bless
-SV*
-Perl_sv_bless(pTHXo_ SV* sv, HV* stash)
-{
-    return ((CPerlObj*)pPerl)->Perl_sv_bless(sv, stash);
-}
-
-#undef  Perl_sv_catpvf
-void
-Perl_sv_catpvf(pTHXo_ SV* sv, const char* pat, ...)
-{
-    va_list args;
-    va_start(args, pat);
-    ((CPerlObj*)pPerl)->Perl_sv_vcatpvf(sv, pat, &args);
-    va_end(args);
-}
-
-#undef  Perl_sv_vcatpvf
-void
-Perl_sv_vcatpvf(pTHXo_ SV* sv, const char* pat, va_list* args)
-{
-    ((CPerlObj*)pPerl)->Perl_sv_vcatpvf(sv, pat, args);
-}
-
-#undef  Perl_sv_catpv
-void
-Perl_sv_catpv(pTHXo_ SV* sv, const char* ptr)
-{
-    ((CPerlObj*)pPerl)->Perl_sv_catpv(sv, ptr);
-}
-
-#undef  Perl_sv_catpvn
-void
-Perl_sv_catpvn(pTHXo_ SV* sv, const char* ptr, STRLEN len)
-{
-    ((CPerlObj*)pPerl)->Perl_sv_catpvn(sv, ptr, len);
-}
-
-#undef  Perl_sv_catsv
-void
-Perl_sv_catsv(pTHXo_ SV* dsv, SV* ssv)
-{
-    ((CPerlObj*)pPerl)->Perl_sv_catsv(dsv, ssv);
-}
-
-#undef  Perl_sv_chop
-void
-Perl_sv_chop(pTHXo_ SV* sv, char* ptr)
-{
-    ((CPerlObj*)pPerl)->Perl_sv_chop(sv, ptr);
-}
-
-#undef  Perl_sv_clear
-void
-Perl_sv_clear(pTHXo_ SV* sv)
-{
-    ((CPerlObj*)pPerl)->Perl_sv_clear(sv);
-}
-
-#undef  Perl_sv_cmp
-I32
-Perl_sv_cmp(pTHXo_ SV* sv1, SV* sv2)
-{
-    return ((CPerlObj*)pPerl)->Perl_sv_cmp(sv1, sv2);
-}
-
-#undef  Perl_sv_cmp_locale
-I32
-Perl_sv_cmp_locale(pTHXo_ SV* sv1, SV* sv2)
-{
-    return ((CPerlObj*)pPerl)->Perl_sv_cmp_locale(sv1, sv2);
-}
-#if defined(USE_LOCALE_COLLATE)
-
-#undef  Perl_sv_collxfrm
-char*
-Perl_sv_collxfrm(pTHXo_ SV* sv, STRLEN* nxp)
-{
-    return ((CPerlObj*)pPerl)->Perl_sv_collxfrm(sv, nxp);
-}
-#endif
-
-#undef  Perl_sv_compile_2op
-OP*
-Perl_sv_compile_2op(pTHXo_ SV* sv, OP** startp, char* code, AV** avp)
-{
-    return ((CPerlObj*)pPerl)->Perl_sv_compile_2op(sv, startp, code, avp);
-}
-
-#undef  Perl_sv_dec
-void
-Perl_sv_dec(pTHXo_ SV* sv)
-{
-    ((CPerlObj*)pPerl)->Perl_sv_dec(sv);
-}
-
-#undef  Perl_sv_dump
-void
-Perl_sv_dump(pTHXo_ SV* sv)
-{
-    ((CPerlObj*)pPerl)->Perl_sv_dump(sv);
-}
-
-#undef  Perl_sv_derived_from
-bool
-Perl_sv_derived_from(pTHXo_ SV* sv, const char* name)
-{
-    return ((CPerlObj*)pPerl)->Perl_sv_derived_from(sv, name);
-}
-
-#undef  Perl_sv_eq
-I32
-Perl_sv_eq(pTHXo_ SV* sv1, SV* sv2)
-{
-    return ((CPerlObj*)pPerl)->Perl_sv_eq(sv1, sv2);
-}
-
-#undef  Perl_sv_free
-void
-Perl_sv_free(pTHXo_ SV* sv)
-{
-    ((CPerlObj*)pPerl)->Perl_sv_free(sv);
-}
-
-#undef  Perl_sv_gets
-char*
-Perl_sv_gets(pTHXo_ SV* sv, PerlIO* fp, I32 append)
-{
-    return ((CPerlObj*)pPerl)->Perl_sv_gets(sv, fp, append);
-}
-
-#undef  Perl_sv_grow
-char*
-Perl_sv_grow(pTHXo_ SV* sv, STRLEN newlen)
-{
-    return ((CPerlObj*)pPerl)->Perl_sv_grow(sv, newlen);
-}
-
-#undef  Perl_sv_inc
-void
-Perl_sv_inc(pTHXo_ SV* sv)
-{
-    ((CPerlObj*)pPerl)->Perl_sv_inc(sv);
-}
-
-#undef  Perl_sv_insert
-void
-Perl_sv_insert(pTHXo_ SV* bigsv, STRLEN offset, STRLEN len, char* little, STRLEN littlelen)
-{
-    ((CPerlObj*)pPerl)->Perl_sv_insert(bigsv, offset, len, little, littlelen);
-}
-
-#undef  Perl_sv_isa
-int
-Perl_sv_isa(pTHXo_ SV* sv, const char* name)
-{
-    return ((CPerlObj*)pPerl)->Perl_sv_isa(sv, name);
-}
-
-#undef  Perl_sv_isobject
-int
-Perl_sv_isobject(pTHXo_ SV* sv)
-{
-    return ((CPerlObj*)pPerl)->Perl_sv_isobject(sv);
-}
-
-#undef  Perl_sv_len
-STRLEN
-Perl_sv_len(pTHXo_ SV* sv)
-{
-    return ((CPerlObj*)pPerl)->Perl_sv_len(sv);
-}
-
-#undef  Perl_sv_len_utf8
-STRLEN
-Perl_sv_len_utf8(pTHXo_ SV* sv)
-{
-    return ((CPerlObj*)pPerl)->Perl_sv_len_utf8(sv);
-}
-
-#undef  Perl_sv_magic
-void
-Perl_sv_magic(pTHXo_ SV* sv, SV* obj, int how, const char* name, I32 namlen)
-{
-    ((CPerlObj*)pPerl)->Perl_sv_magic(sv, obj, how, name, namlen);
-}
-
-#undef  Perl_sv_mortalcopy
-SV*
-Perl_sv_mortalcopy(pTHXo_ SV* oldsv)
-{
-    return ((CPerlObj*)pPerl)->Perl_sv_mortalcopy(oldsv);
-}
-
-#undef  Perl_sv_newmortal
-SV*
-Perl_sv_newmortal(pTHXo)
-{
-    return ((CPerlObj*)pPerl)->Perl_sv_newmortal();
-}
-
-#undef  Perl_sv_newref
-SV*
-Perl_sv_newref(pTHXo_ SV* sv)
-{
-    return ((CPerlObj*)pPerl)->Perl_sv_newref(sv);
-}
-
-#undef  Perl_sv_peek
-char*
-Perl_sv_peek(pTHXo_ SV* sv)
-{
-    return ((CPerlObj*)pPerl)->Perl_sv_peek(sv);
-}
-
-#undef  Perl_sv_pos_u2b
-void
-Perl_sv_pos_u2b(pTHXo_ SV* sv, I32* offsetp, I32* lenp)
-{
-    ((CPerlObj*)pPerl)->Perl_sv_pos_u2b(sv, offsetp, lenp);
-}
-
-#undef  Perl_sv_pos_b2u
-void
-Perl_sv_pos_b2u(pTHXo_ SV* sv, I32* offsetp)
-{
-    ((CPerlObj*)pPerl)->Perl_sv_pos_b2u(sv, offsetp);
-}
-
-#undef  Perl_sv_pvn_force
-char*
-Perl_sv_pvn_force(pTHXo_ SV* sv, STRLEN* lp)
-{
-    return ((CPerlObj*)pPerl)->Perl_sv_pvn_force(sv, lp);
-}
-
-#undef  Perl_sv_pvutf8n_force
-char*
-Perl_sv_pvutf8n_force(pTHXo_ SV* sv, STRLEN* lp)
-{
-    return ((CPerlObj*)pPerl)->Perl_sv_pvutf8n_force(sv, lp);
-}
-
-#undef  Perl_sv_pvbyten_force
-char*
-Perl_sv_pvbyten_force(pTHXo_ SV* sv, STRLEN* lp)
-{
-    return ((CPerlObj*)pPerl)->Perl_sv_pvbyten_force(sv, lp);
-}
-
-#undef  Perl_sv_reftype
-char*
-Perl_sv_reftype(pTHXo_ SV* sv, int ob)
-{
-    return ((CPerlObj*)pPerl)->Perl_sv_reftype(sv, ob);
-}
-
-#undef  Perl_sv_replace
-void
-Perl_sv_replace(pTHXo_ SV* sv, SV* nsv)
-{
-    ((CPerlObj*)pPerl)->Perl_sv_replace(sv, nsv);
-}
-
-#undef  Perl_sv_report_used
-void
-Perl_sv_report_used(pTHXo)
-{
-    ((CPerlObj*)pPerl)->Perl_sv_report_used();
-}
-
-#undef  Perl_sv_reset
-void
-Perl_sv_reset(pTHXo_ char* s, HV* stash)
-{
-    ((CPerlObj*)pPerl)->Perl_sv_reset(s, stash);
-}
-
-#undef  Perl_sv_setpvf
-void
-Perl_sv_setpvf(pTHXo_ SV* sv, const char* pat, ...)
-{
-    va_list args;
-    va_start(args, pat);
-    ((CPerlObj*)pPerl)->Perl_sv_vsetpvf(sv, pat, &args);
-    va_end(args);
-}
-
-#undef  Perl_sv_vsetpvf
-void
-Perl_sv_vsetpvf(pTHXo_ SV* sv, const char* pat, va_list* args)
-{
-    ((CPerlObj*)pPerl)->Perl_sv_vsetpvf(sv, pat, args);
-}
-
-#undef  Perl_sv_setiv
-void
-Perl_sv_setiv(pTHXo_ SV* sv, IV num)
-{
-    ((CPerlObj*)pPerl)->Perl_sv_setiv(sv, num);
-}
-
-#undef  Perl_sv_setpviv
-void
-Perl_sv_setpviv(pTHXo_ SV* sv, IV num)
-{
-    ((CPerlObj*)pPerl)->Perl_sv_setpviv(sv, num);
-}
-
-#undef  Perl_sv_setuv
-void
-Perl_sv_setuv(pTHXo_ SV* sv, UV num)
-{
-    ((CPerlObj*)pPerl)->Perl_sv_setuv(sv, num);
-}
-
-#undef  Perl_sv_setnv
-void
-Perl_sv_setnv(pTHXo_ SV* sv, NV num)
-{
-    ((CPerlObj*)pPerl)->Perl_sv_setnv(sv, num);
-}
-
-#undef  Perl_sv_setref_iv
-SV*
-Perl_sv_setref_iv(pTHXo_ SV* rv, const char* classname, IV iv)
-{
-    return ((CPerlObj*)pPerl)->Perl_sv_setref_iv(rv, classname, iv);
-}
-
-#undef  Perl_sv_setref_nv
-SV*
-Perl_sv_setref_nv(pTHXo_ SV* rv, const char* classname, NV nv)
-{
-    return ((CPerlObj*)pPerl)->Perl_sv_setref_nv(rv, classname, nv);
-}
-
-#undef  Perl_sv_setref_pv
-SV*
-Perl_sv_setref_pv(pTHXo_ SV* rv, const char* classname, void* pv)
-{
-    return ((CPerlObj*)pPerl)->Perl_sv_setref_pv(rv, classname, pv);
-}
-
-#undef  Perl_sv_setref_pvn
-SV*
-Perl_sv_setref_pvn(pTHXo_ SV* rv, const char* classname, char* pv, STRLEN n)
-{
-    return ((CPerlObj*)pPerl)->Perl_sv_setref_pvn(rv, classname, pv, n);
-}
-
-#undef  Perl_sv_setpv
-void
-Perl_sv_setpv(pTHXo_ SV* sv, const char* ptr)
-{
-    ((CPerlObj*)pPerl)->Perl_sv_setpv(sv, ptr);
-}
-
-#undef  Perl_sv_setpvn
-void
-Perl_sv_setpvn(pTHXo_ SV* sv, const char* ptr, STRLEN len)
-{
-    ((CPerlObj*)pPerl)->Perl_sv_setpvn(sv, ptr, len);
-}
-
-#undef  Perl_sv_setsv
-void
-Perl_sv_setsv(pTHXo_ SV* dsv, SV* ssv)
-{
-    ((CPerlObj*)pPerl)->Perl_sv_setsv(dsv, ssv);
-}
-
-#undef  Perl_sv_taint
-void
-Perl_sv_taint(pTHXo_ SV* sv)
-{
-    ((CPerlObj*)pPerl)->Perl_sv_taint(sv);
-}
-
-#undef  Perl_sv_tainted
-bool
-Perl_sv_tainted(pTHXo_ SV* sv)
-{
-    return ((CPerlObj*)pPerl)->Perl_sv_tainted(sv);
-}
-
-#undef  Perl_sv_unmagic
-int
-Perl_sv_unmagic(pTHXo_ SV* sv, int type)
-{
-    return ((CPerlObj*)pPerl)->Perl_sv_unmagic(sv, type);
-}
-
-#undef  Perl_sv_unref
-void
-Perl_sv_unref(pTHXo_ SV* sv)
-{
-    ((CPerlObj*)pPerl)->Perl_sv_unref(sv);
-}
-
-#undef  Perl_sv_untaint
-void
-Perl_sv_untaint(pTHXo_ SV* sv)
-{
-    ((CPerlObj*)pPerl)->Perl_sv_untaint(sv);
-}
-
-#undef  Perl_sv_upgrade
-bool
-Perl_sv_upgrade(pTHXo_ SV* sv, U32 mt)
-{
-    return ((CPerlObj*)pPerl)->Perl_sv_upgrade(sv, mt);
-}
-
-#undef  Perl_sv_usepvn
-void
-Perl_sv_usepvn(pTHXo_ SV* sv, char* ptr, STRLEN len)
-{
-    ((CPerlObj*)pPerl)->Perl_sv_usepvn(sv, ptr, len);
-}
-
-#undef  Perl_sv_vcatpvfn
-void
-Perl_sv_vcatpvfn(pTHXo_ SV* sv, const char* pat, STRLEN patlen, va_list* args, SV** svargs, I32 svmax, bool *maybe_tainted)
-{
-    ((CPerlObj*)pPerl)->Perl_sv_vcatpvfn(sv, pat, patlen, args, svargs, svmax, maybe_tainted);
-}
-
-#undef  Perl_sv_vsetpvfn
-void
-Perl_sv_vsetpvfn(pTHXo_ SV* sv, const char* pat, STRLEN patlen, va_list* args, SV** svargs, I32 svmax, bool *maybe_tainted)
-{
-    ((CPerlObj*)pPerl)->Perl_sv_vsetpvfn(sv, pat, patlen, args, svargs, svmax, maybe_tainted);
-}
-
-#undef  Perl_str_to_version
-NV
-Perl_str_to_version(pTHXo_ SV *sv)
-{
-    return ((CPerlObj*)pPerl)->Perl_str_to_version(sv);
-}
-
-#undef  Perl_swash_init
-SV*
-Perl_swash_init(pTHXo_ char* pkg, char* name, SV* listsv, I32 minbits, I32 none)
-{
-    return ((CPerlObj*)pPerl)->Perl_swash_init(pkg, name, listsv, minbits, none);
-}
-
-#undef  Perl_swash_fetch
-UV
-Perl_swash_fetch(pTHXo_ SV *sv, U8 *ptr)
-{
-    return ((CPerlObj*)pPerl)->Perl_swash_fetch(sv, ptr);
-}
-
-#undef  Perl_taint_env
-void
-Perl_taint_env(pTHXo)
-{
-    ((CPerlObj*)pPerl)->Perl_taint_env();
-}
-
-#undef  Perl_taint_proper
-void
-Perl_taint_proper(pTHXo_ const char* f, const char* s)
-{
-    ((CPerlObj*)pPerl)->Perl_taint_proper(f, s);
-}
-
-#undef  Perl_to_utf8_lower
-UV
-Perl_to_utf8_lower(pTHXo_ U8 *p)
-{
-    return ((CPerlObj*)pPerl)->Perl_to_utf8_lower(p);
-}
-
-#undef  Perl_to_utf8_upper
-UV
-Perl_to_utf8_upper(pTHXo_ U8 *p)
-{
-    return ((CPerlObj*)pPerl)->Perl_to_utf8_upper(p);
-}
-
-#undef  Perl_to_utf8_title
-UV
-Perl_to_utf8_title(pTHXo_ U8 *p)
-{
-    return ((CPerlObj*)pPerl)->Perl_to_utf8_title(p);
-}
-#if defined(UNLINK_ALL_VERSIONS)
-
-#undef  Perl_unlnk
-I32
-Perl_unlnk(pTHXo_ char* f)
-{
-    return ((CPerlObj*)pPerl)->Perl_unlnk(f);
-}
-#endif
-#if defined(USE_THREADS)
-
-#undef  Perl_unlock_condpair
-void
-Perl_unlock_condpair(pTHXo_ void* svv)
-{
-    ((CPerlObj*)pPerl)->Perl_unlock_condpair(svv);
-}
-#endif
-
-#undef  Perl_unsharepvn
-void
-Perl_unsharepvn(pTHXo_ const char* sv, I32 len, U32 hash)
-{
-    ((CPerlObj*)pPerl)->Perl_unsharepvn(sv, len, hash);
-}
-
-#undef  Perl_utf16_to_utf8
-U8*
-Perl_utf16_to_utf8(pTHXo_ U16* p, U8 *d, I32 bytelen)
-{
-    return ((CPerlObj*)pPerl)->Perl_utf16_to_utf8(p, d, bytelen);
-}
-
-#undef  Perl_utf16_to_utf8_reversed
-U8*
-Perl_utf16_to_utf8_reversed(pTHXo_ U16* p, U8 *d, I32 bytelen)
-{
-    return ((CPerlObj*)pPerl)->Perl_utf16_to_utf8_reversed(p, d, bytelen);
-}
-
-#undef  Perl_utf8_distance
-I32
-Perl_utf8_distance(pTHXo_ U8 *a, U8 *b)
-{
-    return ((CPerlObj*)pPerl)->Perl_utf8_distance(a, b);
-}
-
-#undef  Perl_utf8_hop
-U8*
-Perl_utf8_hop(pTHXo_ U8 *s, I32 off)
-{
-    return ((CPerlObj*)pPerl)->Perl_utf8_hop(s, off);
-}
-
-#undef  Perl_utf8_to_bytes
-U8*
-Perl_utf8_to_bytes(pTHXo_ U8 *s, STRLEN len)
-{
-    return ((CPerlObj*)pPerl)->Perl_utf8_to_bytes(s, len);
-}
-
-#undef  Perl_bytes_to_utf8
-U8*
-Perl_bytes_to_utf8(pTHXo_ U8 *s, STRLEN *len)
-{
-    return ((CPerlObj*)pPerl)->Perl_bytes_to_utf8(s, len);
-}
-
-#undef  Perl_utf8_to_uv
-UV
-Perl_utf8_to_uv(pTHXo_ U8 *s, I32* retlen)
-{
-    return ((CPerlObj*)pPerl)->Perl_utf8_to_uv(s, retlen);
-}
-
-#undef  Perl_uv_to_utf8
-U8*
-Perl_uv_to_utf8(pTHXo_ U8 *d, UV uv)
-{
-    return ((CPerlObj*)pPerl)->Perl_uv_to_utf8(d, uv);
-}
-
-#undef  Perl_warn
-void
-Perl_warn(pTHXo_ const char* pat, ...)
-{
-    va_list args;
-    va_start(args, pat);
-    ((CPerlObj*)pPerl)->Perl_vwarn(pat, &args);
-    va_end(args);
-}
-
-#undef  Perl_vwarn
-void
-Perl_vwarn(pTHXo_ const char* pat, va_list* args)
-{
-    ((CPerlObj*)pPerl)->Perl_vwarn(pat, args);
-}
-
-#undef  Perl_warner
-void
-Perl_warner(pTHXo_ U32 err, const char* pat, ...)
-{
-    va_list args;
-    va_start(args, pat);
-    ((CPerlObj*)pPerl)->Perl_vwarner(err, pat, &args);
-    va_end(args);
-}
-
-#undef  Perl_vwarner
-void
-Perl_vwarner(pTHXo_ U32 err, const char* pat, va_list* args)
-{
-    ((CPerlObj*)pPerl)->Perl_vwarner(err, pat, args);
-}
-
-#undef  Perl_whichsig
-I32
-Perl_whichsig(pTHXo_ char* sig)
-{
-    return ((CPerlObj*)pPerl)->Perl_whichsig(sig);
-}
-#if defined(USE_PURE_BISON)
-#else
-#endif
-#if defined(MYMALLOC)
-
-#undef  Perl_dump_mstats
-void
-Perl_dump_mstats(pTHXo_ char* s)
-{
-    ((CPerlObj*)pPerl)->Perl_dump_mstats(s);
-}
-
-#undef  Perl_get_mstats
-int
-Perl_get_mstats(pTHXo_ perl_mstats_t *buf, int buflen, int level)
-{
-    return ((CPerlObj*)pPerl)->Perl_get_mstats(buf, buflen, level);
-}
-#endif
-
-#undef  Perl_safesysmalloc
-Malloc_t
-Perl_safesysmalloc(MEM_SIZE nbytes)
-{
-    dTHXo;
-    return ((CPerlObj*)pPerl)->Perl_safesysmalloc(nbytes);
-}
-
-#undef  Perl_safesyscalloc
-Malloc_t
-Perl_safesyscalloc(MEM_SIZE elements, MEM_SIZE size)
-{
-    dTHXo;
-    return ((CPerlObj*)pPerl)->Perl_safesyscalloc(elements, size);
-}
-
-#undef  Perl_safesysrealloc
-Malloc_t
-Perl_safesysrealloc(Malloc_t where, MEM_SIZE nbytes)
-{
-    dTHXo;
-    return ((CPerlObj*)pPerl)->Perl_safesysrealloc(where, nbytes);
-}
-
-#undef  Perl_safesysfree
-Free_t
-Perl_safesysfree(Malloc_t where)
-{
-    dTHXo;
-    ((CPerlObj*)pPerl)->Perl_safesysfree(where);
-}
-#if defined(LEAKTEST)
-
-#undef  Perl_safexmalloc
-Malloc_t
-Perl_safexmalloc(I32 x, MEM_SIZE size)
-{
-    dTHXo;
-    return ((CPerlObj*)pPerl)->Perl_safexmalloc(x, size);
-}
-
-#undef  Perl_safexcalloc
-Malloc_t
-Perl_safexcalloc(I32 x, MEM_SIZE elements, MEM_SIZE size)
-{
-    dTHXo;
-    return ((CPerlObj*)pPerl)->Perl_safexcalloc(x, elements, size);
-}
-
-#undef  Perl_safexrealloc
-Malloc_t
-Perl_safexrealloc(Malloc_t where, MEM_SIZE size)
-{
-    dTHXo;
-    return ((CPerlObj*)pPerl)->Perl_safexrealloc(where, size);
-}
-
-#undef  Perl_safexfree
-void
-Perl_safexfree(Malloc_t where)
-{
-    dTHXo;
-    ((CPerlObj*)pPerl)->Perl_safexfree(where);
-}
-#endif
-#if defined(PERL_GLOBAL_STRUCT)
-
-#undef  Perl_GetVars
-struct perl_vars *
-Perl_GetVars(pTHXo)
-{
-    return ((CPerlObj*)pPerl)->Perl_GetVars();
-}
-#endif
-
-#undef  Perl_runops_standard
-int
-Perl_runops_standard(pTHXo)
-{
-    return ((CPerlObj*)pPerl)->Perl_runops_standard();
-}
-
-#undef  Perl_runops_debug
-int
-Perl_runops_debug(pTHXo)
-{
-    return ((CPerlObj*)pPerl)->Perl_runops_debug();
-}
-
-#undef  Perl_sv_catpvf_mg
-void
-Perl_sv_catpvf_mg(pTHXo_ SV *sv, const char* pat, ...)
-{
-    va_list args;
-    va_start(args, pat);
-    ((CPerlObj*)pPerl)->Perl_sv_vcatpvf_mg(sv, pat, &args);
-    va_end(args);
-}
-
-#undef  Perl_sv_vcatpvf_mg
-void
-Perl_sv_vcatpvf_mg(pTHXo_ SV* sv, const char* pat, va_list* args)
-{
-    ((CPerlObj*)pPerl)->Perl_sv_vcatpvf_mg(sv, pat, args);
-}
-
-#undef  Perl_sv_catpv_mg
-void
-Perl_sv_catpv_mg(pTHXo_ SV *sv, const char *ptr)
-{
-    ((CPerlObj*)pPerl)->Perl_sv_catpv_mg(sv, ptr);
-}
-
-#undef  Perl_sv_catpvn_mg
-void
-Perl_sv_catpvn_mg(pTHXo_ SV *sv, const char *ptr, STRLEN len)
-{
-    ((CPerlObj*)pPerl)->Perl_sv_catpvn_mg(sv, ptr, len);
-}
-
-#undef  Perl_sv_catsv_mg
-void
-Perl_sv_catsv_mg(pTHXo_ SV *dstr, SV *sstr)
-{
-    ((CPerlObj*)pPerl)->Perl_sv_catsv_mg(dstr, sstr);
-}
-
-#undef  Perl_sv_setpvf_mg
-void
-Perl_sv_setpvf_mg(pTHXo_ SV *sv, const char* pat, ...)
-{
-    va_list args;
-    va_start(args, pat);
-    ((CPerlObj*)pPerl)->Perl_sv_vsetpvf_mg(sv, pat, &args);
-    va_end(args);
-}
-
-#undef  Perl_sv_vsetpvf_mg
-void
-Perl_sv_vsetpvf_mg(pTHXo_ SV* sv, const char* pat, va_list* args)
-{
-    ((CPerlObj*)pPerl)->Perl_sv_vsetpvf_mg(sv, pat, args);
-}
-
-#undef  Perl_sv_setiv_mg
-void
-Perl_sv_setiv_mg(pTHXo_ SV *sv, IV i)
-{
-    ((CPerlObj*)pPerl)->Perl_sv_setiv_mg(sv, i);
-}
-
-#undef  Perl_sv_setpviv_mg
-void
-Perl_sv_setpviv_mg(pTHXo_ SV *sv, IV iv)
-{
-    ((CPerlObj*)pPerl)->Perl_sv_setpviv_mg(sv, iv);
-}
-
-#undef  Perl_sv_setuv_mg
-void
-Perl_sv_setuv_mg(pTHXo_ SV *sv, UV u)
-{
-    ((CPerlObj*)pPerl)->Perl_sv_setuv_mg(sv, u);
-}
-
-#undef  Perl_sv_setnv_mg
-void
-Perl_sv_setnv_mg(pTHXo_ SV *sv, NV num)
-{
-    ((CPerlObj*)pPerl)->Perl_sv_setnv_mg(sv, num);
-}
-
-#undef  Perl_sv_setpv_mg
-void
-Perl_sv_setpv_mg(pTHXo_ SV *sv, const char *ptr)
-{
-    ((CPerlObj*)pPerl)->Perl_sv_setpv_mg(sv, ptr);
-}
-
-#undef  Perl_sv_setpvn_mg
-void
-Perl_sv_setpvn_mg(pTHXo_ SV *sv, const char *ptr, STRLEN len)
-{
-    ((CPerlObj*)pPerl)->Perl_sv_setpvn_mg(sv, ptr, len);
-}
-
-#undef  Perl_sv_setsv_mg
-void
-Perl_sv_setsv_mg(pTHXo_ SV *dstr, SV *sstr)
-{
-    ((CPerlObj*)pPerl)->Perl_sv_setsv_mg(dstr, sstr);
-}
-
-#undef  Perl_sv_usepvn_mg
-void
-Perl_sv_usepvn_mg(pTHXo_ SV *sv, char *ptr, STRLEN len)
-{
-    ((CPerlObj*)pPerl)->Perl_sv_usepvn_mg(sv, ptr, len);
-}
-
-#undef  Perl_get_vtbl
-MGVTBL*
-Perl_get_vtbl(pTHXo_ int vtbl_id)
-{
-    return ((CPerlObj*)pPerl)->Perl_get_vtbl(vtbl_id);
-}
-
-#undef  Perl_dump_indent
-void
-Perl_dump_indent(pTHXo_ I32 level, PerlIO *file, const char* pat, ...)
-{
-    va_list args;
-    va_start(args, pat);
-    ((CPerlObj*)pPerl)->Perl_dump_vindent(level, file, pat, &args);
-    va_end(args);
-}
-
-#undef  Perl_dump_vindent
-void
-Perl_dump_vindent(pTHXo_ I32 level, PerlIO *file, const char* pat, va_list *args)
-{
-    ((CPerlObj*)pPerl)->Perl_dump_vindent(level, file, pat, args);
-}
-
-#undef  Perl_do_gv_dump
-void
-Perl_do_gv_dump(pTHXo_ I32 level, PerlIO *file, char *name, GV *sv)
-{
-    ((CPerlObj*)pPerl)->Perl_do_gv_dump(level, file, name, sv);
-}
-
-#undef  Perl_do_gvgv_dump
-void
-Perl_do_gvgv_dump(pTHXo_ I32 level, PerlIO *file, char *name, GV *sv)
-{
-    ((CPerlObj*)pPerl)->Perl_do_gvgv_dump(level, file, name, sv);
-}
-
-#undef  Perl_do_hv_dump
-void
-Perl_do_hv_dump(pTHXo_ I32 level, PerlIO *file, char *name, HV *sv)
-{
-    ((CPerlObj*)pPerl)->Perl_do_hv_dump(level, file, name, sv);
-}
-
-#undef  Perl_do_magic_dump
-void
-Perl_do_magic_dump(pTHXo_ I32 level, PerlIO *file, MAGIC *mg, I32 nest, I32 maxnest, bool dumpops, STRLEN pvlim)
-{
-    ((CPerlObj*)pPerl)->Perl_do_magic_dump(level, file, mg, nest, maxnest, dumpops, pvlim);
-}
-
-#undef  Perl_do_op_dump
-void
-Perl_do_op_dump(pTHXo_ I32 level, PerlIO *file, OP *o)
-{
-    ((CPerlObj*)pPerl)->Perl_do_op_dump(level, file, o);
-}
-
-#undef  Perl_do_pmop_dump
-void
-Perl_do_pmop_dump(pTHXo_ I32 level, PerlIO *file, PMOP *pm)
-{
-    ((CPerlObj*)pPerl)->Perl_do_pmop_dump(level, file, pm);
-}
-
-#undef  Perl_do_sv_dump
-void
-Perl_do_sv_dump(pTHXo_ I32 level, PerlIO *file, SV *sv, I32 nest, I32 maxnest, bool dumpops, STRLEN pvlim)
-{
-    ((CPerlObj*)pPerl)->Perl_do_sv_dump(level, file, sv, nest, maxnest, dumpops, pvlim);
-}
-
-#undef  Perl_magic_dump
-void
-Perl_magic_dump(pTHXo_ MAGIC *mg)
-{
-    ((CPerlObj*)pPerl)->Perl_magic_dump(mg);
-}
-#if defined(PERL_FLEXIBLE_EXCEPTIONS)
-
-#undef  Perl_default_protect
-void*
-Perl_default_protect(pTHXo_ volatile JMPENV *je, int *excpt, protect_body_t body, ...)
-{
-    void* retval;
-    va_list args;
-    va_start(args, body);
-    retval = ((CPerlObj*)pPerl)->Perl_vdefault_protect(je, excpt, body, &args);
-    va_end(args);
-    return retval;
-
-}
-
-#undef  Perl_vdefault_protect
-void*
-Perl_vdefault_protect(pTHXo_ volatile JMPENV *je, int *excpt, protect_body_t body, va_list *args)
-{
-    return ((CPerlObj*)pPerl)->Perl_vdefault_protect(je, excpt, body, args);
-}
-#endif
-
-#undef  Perl_reginitcolors
-void
-Perl_reginitcolors(pTHXo)
-{
-    ((CPerlObj*)pPerl)->Perl_reginitcolors();
-}
-
-#undef  Perl_sv_2pv_nolen
-char*
-Perl_sv_2pv_nolen(pTHXo_ SV* sv)
-{
-    return ((CPerlObj*)pPerl)->Perl_sv_2pv_nolen(sv);
-}
-
-#undef  Perl_sv_2pvutf8_nolen
-char*
-Perl_sv_2pvutf8_nolen(pTHXo_ SV* sv)
-{
-    return ((CPerlObj*)pPerl)->Perl_sv_2pvutf8_nolen(sv);
-}
-
-#undef  Perl_sv_2pvbyte_nolen
-char*
-Perl_sv_2pvbyte_nolen(pTHXo_ SV* sv)
-{
-    return ((CPerlObj*)pPerl)->Perl_sv_2pvbyte_nolen(sv);
-}
-
-#undef  Perl_sv_pv
-char*
-Perl_sv_pv(pTHXo_ SV *sv)
-{
-    return ((CPerlObj*)pPerl)->Perl_sv_pv(sv);
-}
-
-#undef  Perl_sv_pvutf8
-char*
-Perl_sv_pvutf8(pTHXo_ SV *sv)
-{
-    return ((CPerlObj*)pPerl)->Perl_sv_pvutf8(sv);
-}
-
-#undef  Perl_sv_pvbyte
-char*
-Perl_sv_pvbyte(pTHXo_ SV *sv)
-{
-    return ((CPerlObj*)pPerl)->Perl_sv_pvbyte(sv);
-}
-
-#undef  Perl_sv_utf8_upgrade
-void
-Perl_sv_utf8_upgrade(pTHXo_ SV *sv)
-{
-    ((CPerlObj*)pPerl)->Perl_sv_utf8_upgrade(sv);
-}
-
-#undef  Perl_sv_utf8_downgrade
-bool
-Perl_sv_utf8_downgrade(pTHXo_ SV *sv, bool fail_ok)
-{
-    return ((CPerlObj*)pPerl)->Perl_sv_utf8_downgrade(sv, fail_ok);
-}
-
-#undef  Perl_sv_utf8_encode
-void
-Perl_sv_utf8_encode(pTHXo_ SV *sv)
-{
-    ((CPerlObj*)pPerl)->Perl_sv_utf8_encode(sv);
-}
-
-#undef  Perl_sv_utf8_decode
-bool
-Perl_sv_utf8_decode(pTHXo_ SV *sv)
-{
-    return ((CPerlObj*)pPerl)->Perl_sv_utf8_decode(sv);
-}
-
-#undef  Perl_sv_force_normal
-void
-Perl_sv_force_normal(pTHXo_ SV *sv)
-{
-    ((CPerlObj*)pPerl)->Perl_sv_force_normal(sv);
-}
-
-#undef  Perl_tmps_grow
-void
-Perl_tmps_grow(pTHXo_ I32 n)
-{
-    ((CPerlObj*)pPerl)->Perl_tmps_grow(n);
-}
-
-#undef  Perl_sv_rvweaken
-SV*
-Perl_sv_rvweaken(pTHXo_ SV *sv)
-{
-    return ((CPerlObj*)pPerl)->Perl_sv_rvweaken(sv);
-}
-
-#undef  Perl_newANONATTRSUB
-OP*
-Perl_newANONATTRSUB(pTHXo_ I32 floor, OP *proto, OP *attrs, OP *block)
-{
-    return ((CPerlObj*)pPerl)->Perl_newANONATTRSUB(floor, proto, attrs, block);
-}
-
-#undef  Perl_newATTRSUB
-CV*
-Perl_newATTRSUB(pTHXo_ I32 floor, OP *o, OP *proto, OP *attrs, OP *block)
-{
-    return ((CPerlObj*)pPerl)->Perl_newATTRSUB(floor, o, proto, attrs, block);
-}
-
-#undef  Perl_newMYSUB
-void
-Perl_newMYSUB(pTHXo_ I32 floor, OP *o, OP *proto, OP *attrs, OP *block)
-{
-    ((CPerlObj*)pPerl)->Perl_newMYSUB(floor, o, proto, attrs, block);
-}
-#if defined(USE_ITHREADS)
-
-#undef  Perl_cx_dup
-PERL_CONTEXT*
-Perl_cx_dup(pTHXo_ PERL_CONTEXT* cx, I32 ix, I32 max)
-{
-    return ((CPerlObj*)pPerl)->Perl_cx_dup(cx, ix, max);
-}
-
-#undef  Perl_si_dup
-PERL_SI*
-Perl_si_dup(pTHXo_ PERL_SI* si)
-{
-    return ((CPerlObj*)pPerl)->Perl_si_dup(si);
-}
-
-#undef  Perl_ss_dup
-ANY*
-Perl_ss_dup(pTHXo_ PerlInterpreter* proto_perl)
-{
-    return ((CPerlObj*)pPerl)->Perl_ss_dup(proto_perl);
-}
-
-#undef  Perl_any_dup
-void*
-Perl_any_dup(pTHXo_ void* v, PerlInterpreter* proto_perl)
-{
-    return ((CPerlObj*)pPerl)->Perl_any_dup(v, proto_perl);
-}
-
-#undef  Perl_he_dup
-HE*
-Perl_he_dup(pTHXo_ HE* e, bool shared)
-{
-    return ((CPerlObj*)pPerl)->Perl_he_dup(e, shared);
-}
-
-#undef  Perl_re_dup
-REGEXP*
-Perl_re_dup(pTHXo_ REGEXP* r)
-{
-    return ((CPerlObj*)pPerl)->Perl_re_dup(r);
-}
-
-#undef  Perl_fp_dup
-PerlIO*
-Perl_fp_dup(pTHXo_ PerlIO* fp, char type)
-{
-    return ((CPerlObj*)pPerl)->Perl_fp_dup(fp, type);
-}
-
-#undef  Perl_dirp_dup
-DIR*
-Perl_dirp_dup(pTHXo_ DIR* dp)
-{
-    return ((CPerlObj*)pPerl)->Perl_dirp_dup(dp);
-}
-
-#undef  Perl_gp_dup
-GP*
-Perl_gp_dup(pTHXo_ GP* gp)
-{
-    return ((CPerlObj*)pPerl)->Perl_gp_dup(gp);
-}
-
-#undef  Perl_mg_dup
-MAGIC*
-Perl_mg_dup(pTHXo_ MAGIC* mg)
-{
-    return ((CPerlObj*)pPerl)->Perl_mg_dup(mg);
-}
-
-#undef  Perl_sv_dup
-SV*
-Perl_sv_dup(pTHXo_ SV* sstr)
-{
-    return ((CPerlObj*)pPerl)->Perl_sv_dup(sstr);
-}
-#if defined(HAVE_INTERP_INTERN)
-
-#undef  Perl_sys_intern_dup
-void
-Perl_sys_intern_dup(pTHXo_ struct interp_intern* src, struct interp_intern* dst)
-{
-    ((CPerlObj*)pPerl)->Perl_sys_intern_dup(src, dst);
-}
-#endif
-
-#undef  Perl_ptr_table_new
-PTR_TBL_t*
-Perl_ptr_table_new(pTHXo)
-{
-    return ((CPerlObj*)pPerl)->Perl_ptr_table_new();
-}
-
-#undef  Perl_ptr_table_fetch
-void*
-Perl_ptr_table_fetch(pTHXo_ PTR_TBL_t *tbl, void *sv)
-{
-    return ((CPerlObj*)pPerl)->Perl_ptr_table_fetch(tbl, sv);
-}
-
-#undef  Perl_ptr_table_store
-void
-Perl_ptr_table_store(pTHXo_ PTR_TBL_t *tbl, void *oldsv, void *newsv)
-{
-    ((CPerlObj*)pPerl)->Perl_ptr_table_store(tbl, oldsv, newsv);
-}
-
-#undef  Perl_ptr_table_split
-void
-Perl_ptr_table_split(pTHXo_ PTR_TBL_t *tbl)
-{
-    ((CPerlObj*)pPerl)->Perl_ptr_table_split(tbl);
-}
-#endif
-#if defined(HAVE_INTERP_INTERN)
-
-#undef  Perl_sys_intern_init
-void
-Perl_sys_intern_init(pTHXo)
-{
-    ((CPerlObj*)pPerl)->Perl_sys_intern_init();
-}
-#endif
-#if defined(PERL_OBJECT)
-#else
-#endif
-#if defined(PERL_IN_AV_C) || defined(PERL_DECL_PROT)
-#endif
-#if defined(PERL_IN_DOOP_C) || defined(PERL_DECL_PROT)
-#endif
-#if defined(PERL_IN_GV_C) || defined(PERL_DECL_PROT)
-#endif
-#if defined(PERL_IN_HV_C) || defined(PERL_DECL_PROT)
-#endif
-#if defined(PERL_IN_MG_C) || defined(PERL_DECL_PROT)
-#endif
-#if defined(PERL_IN_OP_C) || defined(PERL_DECL_PROT)
-#  if defined(PL_OP_SLAB_ALLOC)
-#  endif
-#endif
-#if defined(PERL_IN_PERL_C) || defined(PERL_DECL_PROT)
-#  if defined(IAMSUID)
-#  endif
-#if defined(PERL_FLEXIBLE_EXCEPTIONS)
-#endif
-#  if defined(USE_THREADS)
-#  endif
-#endif
-#if defined(PERL_IN_PP_C) || defined(PERL_DECL_PROT)
-#endif
-#if defined(PERL_IN_PP_CTL_C) || defined(PERL_DECL_PROT)
-#if defined(PERL_FLEXIBLE_EXCEPTIONS)
-#endif
-#endif
-#if defined(PERL_IN_PP_HOT_C) || defined(PERL_DECL_PROT)
-#endif
-#if defined(PERL_IN_PP_SYS_C) || defined(PERL_DECL_PROT)
-#  if !defined(HAS_MKDIR) || !defined(HAS_RMDIR)
-#  endif
-#endif
-#if defined(PERL_IN_REGCOMP_C) || defined(PERL_DECL_PROT)
-#endif
-#if defined(PERL_IN_REGEXEC_C) || defined(PERL_DECL_PROT)
-#endif
-#if defined(PERL_IN_RUN_C) || defined(PERL_DECL_PROT)
-#endif
-#if defined(PERL_IN_SCOPE_C) || defined(PERL_DECL_PROT)
-#endif
-#if defined(PERL_IN_SV_C) || defined(PERL_DECL_PROT)
-#  if defined(DEBUGGING)
-#  endif
-#endif
-#if defined(PERL_IN_TOKE_C) || defined(PERL_DECL_PROT)
-#if 0
-#endif
-#  if defined(CRIPPLED_CC)
-#  endif
-#  if defined(PERL_CR_FILTER)
-#  endif
-#endif
-#if defined(PERL_IN_UNIVERSAL_C) || defined(PERL_DECL_PROT)
-#endif
-#if defined(PERL_IN_UTIL_C) || defined(PERL_DECL_PROT)
-#  if defined(LEAKTEST)
-#  endif
-#endif
-
-#undef  Perl_lock
-SV*
-Perl_lock(pTHXo_ SV *sv)
-{
-    return ((CPerlObj*)pPerl)->Perl_lock(sv);
-}
-#if defined(PERL_OBJECT)
-#endif
-
-#undef Perl_fprintf_nocontext
-int
-Perl_fprintf_nocontext(PerlIO *stream, const char *format, ...)
-{
-    dTHXo;
-    va_list(arglist);
-    va_start(arglist, format);
-    return (*PL_StdIO->pVprintf)(PL_StdIO, stream, format, arglist);
-}
-
-END_EXTERN_C
+#endif /* MULTIPLICITY && PERL_GLOBAL_STRUCT */
 
-#endif /* PERL_OBJECT */
-#endif /* PERL_OBJECT || MULTIPLICITY */
+/* ex: set ro: */