This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
phase 1 of somewhat major rearrangement of PERL_OBJECT stuff
authorGurusamy Sarathy <gsar@cpan.org>
Fri, 30 Oct 1998 02:51:39 +0000 (02:51 +0000)
committerGurusamy Sarathy <gsar@cpan.org>
Fri, 30 Oct 1998 02:51:39 +0000 (02:51 +0000)
(objpp.h is gone, embed.pl now does some of that); objXSUB.h
should soon be automated also; the global variables that
escaped the PL_foo conversion are now reined in; renamed
MAGIC in regcomp.h to REG_MAGIC to avoid collision with the
type of same name; duplicated lists of pp_things in various
places is now gone; result has only been tested on win32

p4raw-id: //depot/perl@2133

65 files changed:
MANIFEST
Makefile.SH
av.c
bytecode.h
byterun.h
cop.h
doio.c
doop.c
dump.c
embed.h
embed.pl
embedvar.h
ext/B/B.xs
ext/POSIX/POSIX.xs
ext/Thread/Thread.xs
global.sym
globals.c
globvar.sym [new file with mode: 0644]
gv.c
malloc.c
mg.c
objXSUB.h
objpp.h [deleted file]
op.c
opcode.h
opcode.pl
perl.c
perl.h
perl_exp.SH
perlvars.h
perly.c
pod/perlguts.pod
pp.c
pp.h
pp.sym [new file with mode: 0644]
pp_ctl.c
pp_hot.c
pp_proto.h
pp_sys.c
proto.h
regcomp.c
regcomp.h
regcomp.pl
regcomp.sym
regexec.c
regnodes.h
run.c
scope.c
sv.c
t/op/filetest.t
taint.c
thrdvar.h
thread.sym [deleted file]
toke.c
util.c
win32/Makefile
win32/config.bc
win32/config.gc
win32/config.vc
win32/config_H.bc
win32/config_H.gc
win32/config_H.vc
win32/makedef.pl
win32/makefile.mk
win32/perlhost.h

index a458adc..c40608e 100644 (file)
--- a/MANIFEST
+++ b/MANIFEST
@@ -346,6 +346,7 @@ fakethr.h           Fake threads header
 form.h                 Public declarations for the above
 global.sym             Symbols that need hiding when embedded
 globals.c              File to declare global symbols (for shared library)
+globvar.sym            Global variables that need hiding when embedded
 gv.c                   Glob value code
 gv.h                   Glob value header
 h2pl/README            How to turn .ph files into .pl files
@@ -777,7 +778,6 @@ mpeix/relink                MPE/iX port
 mv-if-diff             Script to mv a file if it changed
 myconfig               Prints summary of the current configuration
 nostdio.h              Cause compile error on stdio calls
-objpp.h                        Scoping macros for Perl Object
 op.c                   Opcode syntax tree code
 op.h                   Opcode syntax tree header
 opcode.h               Automatically generated opcode header
@@ -920,6 +920,7 @@ pod/splitman                Splits perlfunc into multiple man pages
 pod/splitpod           Splits perlfunc into multiple pod pages
 pp.c                   Push/Pop code
 pp.h                   Push/Pop code defs
+pp.sym                 Push/Pop code symbols
 pp_ctl.c               Push/Pop code for control flow
 pp_hot.c               Push/Pop code for heavily used opcodes
 pp_proto.h             C++ definitions for Push/Pop code
@@ -1165,7 +1166,6 @@ t/pragma/warning.t        See if warning controls work
 taint.c                        Tainting code
 thrdvar.h              Per-thread variables
 thread.h               Threading header
-thread.sym             Symbols for threads
 toke.c                 The tokener
 universal.c            The default UNIVERSAL package methods
 unixish.h              Defines that are assumed on Unix
index 13f553d..3660bf5 100644 (file)
@@ -451,14 +451,17 @@ perly.h: perly.y
 
 # No compat3.sym here since and including the 5.004_50.
 # No interp.sym since 5.005_03.
-SYM  = global.sym perlio.sym thread.sym
+SYM  = global.sym globvar.sym perlio.sym pp.sym
 
-SYMH = perlvars.h thrdvar.h
+SYMH = perlvars.h intrpvar.h thrdvar.h
 
 # The following files are generated automatically
 #      keywords.h:     keywords.pl
 #      opcode.h:       opcode.pl
-#      embed.h:        embed.pl global.sym interp.sym
+#      pp_proto.h:     opcode.pl
+#      pp.sym:         opcode.pl
+#      embed.h:        embed.pl  [* needs pp.sym generated by opcode.pl! *]
+#      embedvar.h:     embed.pl  [* needs pp.sym generated by opcode.pl! *]
 #      byterun.h:      bytecode.pl
 #      byterun.c:      bytecode.pl
 #      lib/B/Asmdata.pm:       bytecode.pl
diff --git a/av.c b/av.c
index f3c69e7..3f288f3 100644 (file)
--- a/av.c
+++ b/av.c
@@ -217,7 +217,7 @@ av_store(register AV *av, I32 key, SV *val)
     }
 
     if (SvREADONLY(av) && key >= AvFILL(av))
-       croak(no_modify);
+       croak(PL_no_modify);
 
     if (SvRMAGICAL(av)) {
        if (mg_find((SV*)av,'P')) {
@@ -336,7 +336,7 @@ av_clear(register AV *av)
     /*SUPPRESS 560*/
 
     if (SvREADONLY(av))
-       croak(no_modify);
+       croak(PL_no_modify);
 
     /* Give any tie a chance to cleanup first */
     if (SvRMAGICAL(av))
@@ -396,7 +396,7 @@ av_push(register AV *av, SV *val)
     if (!av)
        return;
     if (SvREADONLY(av))
-       croak(no_modify);
+       croak(PL_no_modify);
 
     if (mg = SvTIED_mg((SV*)av, 'P')) {
        dSP;
@@ -424,7 +424,7 @@ av_pop(register AV *av)
     if (!av || AvFILL(av) < 0)
        return &PL_sv_undef;
     if (SvREADONLY(av))
-       croak(no_modify);
+       croak(PL_no_modify);
     if (mg = SvTIED_mg((SV*)av, 'P')) {
        dSP;    
        PUSHSTACKi(PERLSI_MAGIC);
@@ -458,7 +458,7 @@ av_unshift(register AV *av, register I32 num)
     if (!av || num <= 0)
        return;
     if (SvREADONLY(av))
-       croak(no_modify);
+       croak(PL_no_modify);
 
     if (mg = SvTIED_mg((SV*)av, 'P')) {
        dSP;
@@ -510,7 +510,7 @@ av_shift(register AV *av)
     if (!av || AvFILL(av) < 0)
        return &PL_sv_undef;
     if (SvREADONLY(av))
-       croak(no_modify);
+       croak(PL_no_modify);
     if (mg = SvTIED_mg((SV*)av, 'P')) {
        dSP;
        PUSHSTACKi(PERLSI_MAGIC);
index e28dd43..fadc28f 100644 (file)
@@ -151,7 +151,7 @@ typedef IV IV64;
        o->op_type = arg;                       \
        if (arg == OP_MAPSTART)                 \
            arg = OP_GREPSTART;                 \
-       o->op_ppaddr = ppaddr[arg];             \
+       o->op_ppaddr = PL_ppaddr[arg];          \
     } STMT_END
 #define BSET_op_ppaddr(o, arg) croak("op_ppaddr not yet implemented")
 #define BSET_curpad(pad, arg) pad = AvARRAY(arg)
index bd54c76..6e559ef 100644 (file)
--- a/byterun.h
+++ b/byterun.h
@@ -17,7 +17,9 @@ struct bytestream {
 };
 #endif /* INDIRECT_BGET_MACROS */
 
+#ifndef PERL_OBJECT
 void *bset_obj_store _((void *, I32));
+#endif
 
 enum {
     INSN_RET,                  /* 0 */
diff --git a/cop.h b/cop.h
index 1aa21d5..69bc1ac 100644 (file)
--- a/cop.h
+++ b/cop.h
@@ -187,7 +187,7 @@ struct block {
        cx->blk_oldpm           = PL_curpm,                             \
        cx->blk_gimme           = gimme;                                \
        DEBUG_l( PerlIO_printf(PerlIO_stderr(), "Entering block %ld, type %s\n",        \
-                   (long)cxstack_ix, block_type[t]); )
+                   (long)cxstack_ix, PL_block_type[t]); )
 
 /* Exit a block (RETURN and LAST). */
 #define POPBLOCK(cx,pm) cx = &cxstack[cxstack_ix--],                   \
@@ -199,7 +199,7 @@ struct block {
        pm               = cx->blk_oldpm,                               \
        gimme            = cx->blk_gimme;                               \
        DEBUG_l( PerlIO_printf(PerlIO_stderr(), "Leaving block %ld, type %s\n",         \
-                   (long)cxstack_ix+1,block_type[CxTYPE(cx)]); )
+                   (long)cxstack_ix+1,PL_block_type[CxTYPE(cx)]); )
 
 /* Continue a block elsewhere (NEXT and REDO). */
 #define TOPBLOCK(cx) cx  = &cxstack[cxstack_ix],                       \
diff --git a/doio.c b/doio.c
index 485dfaa..6dc113b 100644 (file)
--- a/doio.c
+++ b/doio.c
@@ -306,7 +306,7 @@ do_open(GV *gv, register char *name, I32 len, int as_raw, int rawmode, int rawpe
     if (!fp) {
        dTHR;
        if (ckWARN(WARN_NEWLINE) && IoTYPE(io) == '<' && strchr(name, '\n'))
-           warner(WARN_NEWLINE, warn_nl, "open");
+           warner(WARN_NEWLINE, PL_warn_nl, "open");
        goto say_false;
     }
     if (IoTYPE(io) &&
@@ -889,7 +889,7 @@ do_print(register SV *sv, PerlIO *fp)
        {
            dTHR;
            if (ckWARN(WARN_UNINITIALIZED))
-               warner(WARN_UNINITIALIZED, warn_uninit);
+               warner(WARN_UNINITIALIZED, PL_warn_uninit);
        }
        return TRUE;
     case SVt_IV:
@@ -957,7 +957,7 @@ my_stat(ARGSproto)
        PL_laststype = OP_STAT;
        PL_laststatval = PerlLIO_stat(s, &PL_statcache);
        if (PL_laststatval < 0 && ckWARN(WARN_NEWLINE) && strchr(s, '\n'))
-           warner(WARN_NEWLINE, warn_nl, "stat");
+           warner(WARN_NEWLINE, PL_warn_nl, "stat");
        return PL_laststatval;
     }
 }
@@ -988,7 +988,7 @@ my_lstat(ARGSproto)
     PL_laststatval = PerlLIO_stat(SvPV(sv, PL_na),&PL_statcache);
 #endif
     if (PL_laststatval < 0 && ckWARN(WARN_NEWLINE) && strchr(SvPV(sv, PL_na), '\n'))
-       warner(WARN_NEWLINE, warn_nl, "lstat");
+       warner(WARN_NEWLINE, PL_warn_nl, "lstat");
     return PL_laststatval;
 }
 
diff --git a/doop.c b/doop.c
index c988bff..b88be26 100644 (file)
--- a/doop.c
+++ b/doop.c
@@ -597,7 +597,7 @@ do_trans(SV *sv)
     STRLEN len;
 
     if (SvREADONLY(sv) && !(PL_op->op_private & OPpTRANS_IDENTICAL))
-       croak(no_modify);
+       croak(PL_no_modify);
 
     (void)SvPV(sv, len);
     if (!len)
diff --git a/dump.c b/dump.c
index b1e984b..8b73a9a 100644 (file)
--- a/dump.c
+++ b/dump.c
@@ -110,7 +110,7 @@ dump_op(OP *o)
        PerlIO_printf(Perl_debug_log, "%-4d", o->op_seq);
     else
        PerlIO_printf(Perl_debug_log, "    ");
-    dump("TYPE = %s  ===> ", op_name[o->op_type]);
+    dump("TYPE = %s  ===> ", PL_op_name[o->op_type]);
     if (o->op_next) {
        if (o->op_seq)
            PerlIO_printf(Perl_debug_log, "%d\n", o->op_next->op_seq);
@@ -122,7 +122,7 @@ dump_op(OP *o)
     PL_dumplvl++;
     if (o->op_targ) {
        if (o->op_type == OP_NULL)
-           dump("  (was %s)\n", op_name[o->op_targ]);
+           dump("  (was %s)\n", PL_op_name[o->op_targ]);
        else
            dump("TARG = %d\n", o->op_targ);
     }
diff --git a/embed.h b/embed.h
index a04f5c6..d3b770f 100644 (file)
--- a/embed.h
+++ b/embed.h
@@ -1,37 +1,22 @@
 /* !!!!!!!   DO NOT EDIT THIS FILE   !!!!!!! 
-   This file is built by embed.pl from global.sym, intrpvar.h,
+   This file is built by embed.pl from global.sym, pp.sym, intrpvar.h,
    and thrdvar.h.  Any changes made here will be lost!
 */
 
 /* (Doing namespace management portably in C is really gross.) */
 
-/*  EMBED has no run-time penalty, but helps keep the Perl namespace
-    from colliding with that used by other libraries pulled in
-    by extensions or by embedding perl.  Allow a cc -DNO_EMBED
-    override, however, to keep binary compatability with previous
-    versions of perl.
-*/
-#ifndef NO_EMBED
-#  define EMBED 1 
-#endif
+/* NO_EMBED is no longer supported. i.e. EMBED is always active. */
 
-/* Hide global symbols? */
+/* Hide global symbols */
 
-#ifdef EMBED
+#if !defined(PERL_OBJECT)
 
-#define AMG_names              Perl_AMG_names
-#define Error                  Perl_Error
 #define Gv_AMupdate            Perl_Gv_AMupdate
-#define abs_amg                        Perl_abs_amg
-#define add_amg                        Perl_add_amg
-#define add_ass_amg            Perl_add_ass_amg
-#define additem                        Perl_additem
 #define amagic_call            Perl_amagic_call
 #define append_elem            Perl_append_elem
 #define append_list            Perl_append_list
 #define apply                  Perl_apply
 #define assertref              Perl_assertref
-#define atan2_amg              Perl_atan2_amg
 #define av_clear               Perl_av_clear
 #define av_extend              Perl_av_extend
 #define av_fake                        Perl_av_fake
 #define avhv_iternext          Perl_avhv_iternext
 #define avhv_iterval           Perl_avhv_iterval
 #define avhv_keys              Perl_avhv_keys
-#define band_amg               Perl_band_amg
 #define bind_match             Perl_bind_match
 #define block_end              Perl_block_end
 #define block_gimme            Perl_block_gimme
 #define block_start            Perl_block_start
-#define block_type             Perl_block_type
-#define bool__amg              Perl_bool__amg
 #define boot_core_UNIVERSAL    Perl_boot_core_UNIVERSAL
-#define bor_amg                        Perl_bor_amg
 #define bset_obj_store         Perl_bset_obj_store
-#define bxor_amg               Perl_bxor_amg
 #define byterun                        Perl_byterun
 #define call_list              Perl_call_list
 #define cando                  Perl_cando
+#define cast_i32               Perl_cast_i32
+#define cast_iv                        Perl_cast_iv
 #define cast_ulong             Perl_cast_ulong
-#define check                  Perl_check
+#define cast_uv                        Perl_cast_uv
 #define check_uni              Perl_check_uni
 #define checkcomma             Perl_checkcomma
 #define ck_aelem               Perl_ck_aelem
@@ -83,7 +65,6 @@
 #define ck_fun_locale          Perl_ck_fun_locale
 #define ck_glob                        Perl_ck_glob
 #define ck_grep                        Perl_ck_grep
-#define ck_gvconst             Perl_ck_gvconst
 #define ck_index               Perl_ck_index
 #define ck_lengthconst         Perl_ck_lengthconst
 #define ck_lfun                        Perl_ck_lfun
@@ -92,7 +73,6 @@
 #define ck_null                        Perl_ck_null
 #define ck_repeat              Perl_ck_repeat
 #define ck_require             Perl_ck_require
-#define ck_retarget            Perl_ck_retarget
 #define ck_rfun                        Perl_ck_rfun
 #define ck_rvconst             Perl_ck_rvconst
 #define ck_scmp                        Perl_ck_scmp
 #define ck_subr                        Perl_ck_subr
 #define ck_svconst             Perl_ck_svconst
 #define ck_trunc               Perl_ck_trunc
-#define compl_amg              Perl_compl_amg
-#define concat_amg             Perl_concat_amg
-#define concat_ass_amg         Perl_concat_ass_amg
 #define condpair_magic         Perl_condpair_magic
 #define convert                        Perl_convert
-#define cos_amg                        Perl_cos_amg
 #define croak                  Perl_croak
 #define cv_ckproto             Perl_cv_ckproto
 #define cv_clone               Perl_cv_clone
 #define cv_undef               Perl_cv_undef
 #define cx_dump                        Perl_cx_dump
 #define cxinc                  Perl_cxinc
-#define dc                     Perl_dc
 #define deb                    Perl_deb
 #define deb_growlevel          Perl_deb_growlevel
 #define debop                  Perl_debop
 #define debprofdump            Perl_debprofdump
 #define debstack               Perl_debstack
 #define debstackptrs           Perl_debstackptrs
-#define dec_amg                        Perl_dec_amg
 #define delimcpy               Perl_delimcpy
 #define deprecate              Perl_deprecate
-#define di                     Perl_di
 #define die                    Perl_die
 #define die_where              Perl_die_where
-#define div_amg                        Perl_div_amg
-#define div_ass_amg            Perl_div_ass_amg
 #define do_aexec               Perl_do_aexec
 #define do_binmode             Perl_do_binmode
 #define do_chomp               Perl_do_chomp
 #define dopoptoeval            Perl_dopoptoeval
 #define dounwind               Perl_dounwind
 #define dowantarray            Perl_dowantarray
-#define ds                     Perl_ds
 #define dump_all               Perl_dump_all
 #define dump_eval              Perl_dump_eval
 #define dump_fds               Perl_dump_fds
 #define dump_packsubs          Perl_dump_packsubs
 #define dump_pm                        Perl_dump_pm
 #define dump_sub               Perl_dump_sub
-#define eq_amg                 Perl_eq_amg
-#define exp_amg                        Perl_exp_amg
-#define expectterm             Perl_expectterm
-#define fallback_amg           Perl_fallback_amg
 #define fbm_compile            Perl_fbm_compile
 #define fbm_instr              Perl_fbm_instr
 #define fetch_gv               Perl_fetch_gv
 #define filter_read            Perl_filter_read
 #define find_script            Perl_find_script
 #define find_threadsv          Perl_find_threadsv
-#define fold                   Perl_fold
 #define fold_constants         Perl_fold_constants
-#define fold_locale            Perl_fold_locale
 #define force_ident            Perl_force_ident
 #define force_list             Perl_force_list
 #define force_next             Perl_force_next
 #define force_word             Perl_force_word
 #define form                   Perl_form
 #define free_tmps              Perl_free_tmps
-#define freq                   Perl_freq
-#define ge_amg                 Perl_ge_amg
 #define gen_constant_list      Perl_gen_constant_list
 #define get_no_modify          Perl_get_no_modify
 #define get_op_descs           Perl_get_op_descs
 #define get_specialsv_list     Perl_get_specialsv_list
 #define gp_free                        Perl_gp_free
 #define gp_ref                 Perl_gp_ref
-#define gt_amg                 Perl_gt_amg
 #define gv_AVadd               Perl_gv_AVadd
 #define gv_HVadd               Perl_gv_HVadd
 #define gv_IOadd               Perl_gv_IOadd
 #define hv_undef               Perl_hv_undef
 #define ibcmp                  Perl_ibcmp
 #define ibcmp_locale           Perl_ibcmp_locale
-#define inc_amg                        Perl_inc_amg
 #define ingroup                        Perl_ingroup
 #define init_stacks            Perl_init_stacks
 #define init_thread_intern     Perl_init_thread_intern
 #define is_utf8_upper          Perl_is_utf8_upper
 #define jmaybe                 Perl_jmaybe
 #define keyword                        Perl_keyword
-#define know_next              Perl_know_next
-#define le_amg                 Perl_le_amg
 #define leave_scope            Perl_leave_scope
 #define lex_end                        Perl_lex_end
 #define lex_start              Perl_lex_start
 #define list                   Perl_list
 #define listkids               Perl_listkids
 #define localize               Perl_localize
-#define log_amg                        Perl_log_amg
 #define looks_like_number      Perl_looks_like_number
-#define lshift_amg             Perl_lshift_amg
-#define lshift_ass_amg         Perl_lshift_ass_amg
-#define lt_amg                 Perl_lt_amg
 #define magic_clear_all_env    Perl_magic_clear_all_env
 #define magic_clearenv         Perl_magic_clearenv
 #define magic_clearpack                Perl_magic_clearpack
 #define mg_set                 Perl_mg_set
 #define mg_size                        Perl_mg_size
 #define mod                    Perl_mod
-#define mod_amg                        Perl_mod_amg
-#define mod_ass_amg            Perl_mod_ass_amg
 #define modkids                        Perl_modkids
 #define moreswitches           Perl_moreswitches
 #define mstats                 Perl_mstats
-#define mult_amg               Perl_mult_amg
-#define mult_ass_amg           Perl_mult_ass_amg
 #define my                     Perl_my
 #define my_bcopy               Perl_my_bcopy
 #define my_bzero               Perl_my_bzero
 #define my_stat                        Perl_my_stat
 #define my_swap                        Perl_my_swap
 #define my_unexec              Perl_my_unexec
-#define ncmp_amg               Perl_ncmp_amg
-#define ne_amg                 Perl_ne_amg
-#define neg_amg                        Perl_neg_amg
 #define newANONHASH            Perl_newANONHASH
 #define newANONLIST            Perl_newANONLIST
 #define newANONSUB             Perl_newANONSUB
 #define new_struct_thread      Perl_new_struct_thread
 #define nextargv               Perl_nextargv
 #define ninstr                 Perl_ninstr
-#define no_aelem               Perl_no_aelem
-#define no_dir_func            Perl_no_dir_func
 #define no_fh_allowed          Perl_no_fh_allowed
-#define no_func                        Perl_no_func
-#define no_helem               Perl_no_helem
-#define no_mem                 Perl_no_mem
-#define no_modify              Perl_no_modify
-#define no_myglob              Perl_no_myglob
 #define no_op                  Perl_no_op
-#define no_security            Perl_no_security
-#define no_sock_func           Perl_no_sock_func
-#define no_symref              Perl_no_symref
-#define no_usym                        Perl_no_usym
-#define no_wrongref            Perl_no_wrongref
-#define nointrp                        Perl_nointrp
-#define nomem                  Perl_nomem
-#define nomethod_amg           Perl_nomethod_amg
-#define not_amg                        Perl_not_amg
-#define numer_amg              Perl_numer_amg
 #define oopsAV                 Perl_oopsAV
 #define oopsCV                 Perl_oopsCV
 #define oopsHV                 Perl_oopsHV
 #define op_const_sv            Perl_op_const_sv
-#define op_desc                        Perl_op_desc
 #define op_free                        Perl_op_free
-#define op_name                        Perl_op_name
-#define opargs                 Perl_opargs
 #define package                        Perl_package
 #define pad_alloc              Perl_pad_alloc
 #define pad_allocmy            Perl_pad_allocmy
 #define pmtrans                        Perl_pmtrans
 #define pop_return             Perl_pop_return
 #define pop_scope              Perl_pop_scope
-#define pow_amg                        Perl_pow_amg
-#define pow_ass_amg            Perl_pow_ass_amg
 #define pp_aassign             Perl_pp_aassign
 #define pp_abs                 Perl_pp_abs
 #define pp_accept              Perl_pp_accept
 #define pp_const               Perl_pp_const
 #define pp_cos                 Perl_pp_cos
 #define pp_crypt               Perl_pp_crypt
-#define pp_cswitch             Perl_pp_cswitch
 #define pp_dbmclose            Perl_pp_dbmclose
 #define pp_dbmopen             Perl_pp_dbmopen
 #define pp_dbstate             Perl_pp_dbstate
 #define pp_enteriter           Perl_pp_enteriter
 #define pp_enterloop           Perl_pp_enterloop
 #define pp_entersub            Perl_pp_entersub
-#define pp_entersubr           Perl_pp_entersubr
 #define pp_entertry            Perl_pp_entertry
 #define pp_enterwrite          Perl_pp_enterwrite
 #define pp_eof                 Perl_pp_eof
 #define pp_epwent              Perl_pp_epwent
 #define pp_eq                  Perl_pp_eq
 #define pp_eservent            Perl_pp_eservent
-#define pp_evalonce            Perl_pp_evalonce
 #define pp_exec                        Perl_pp_exec
 #define pp_exists              Perl_pp_exists
 #define pp_exit                        Perl_pp_exit
 #define pp_i_subtract          Perl_pp_i_subtract
 #define pp_index               Perl_pp_index
 #define pp_int                 Perl_pp_int
-#define pp_interp              Perl_pp_interp
 #define pp_ioctl               Perl_pp_ioctl
 #define pp_iter                        Perl_pp_iter
 #define pp_join                        Perl_pp_join
 #define pp_lslice              Perl_pp_lslice
 #define pp_lstat               Perl_pp_lstat
 #define pp_lt                  Perl_pp_lt
-#define pp_map                 Perl_pp_map
 #define pp_mapstart            Perl_pp_mapstart
 #define pp_mapwhile            Perl_pp_mapwhile
 #define pp_match               Perl_pp_match
 #define pp_next                        Perl_pp_next
 #define pp_nextstate           Perl_pp_nextstate
 #define pp_not                 Perl_pp_not
-#define pp_nswitch             Perl_pp_nswitch
 #define pp_null                        Perl_pp_null
 #define pp_oct                 Perl_pp_oct
 #define pp_open                        Perl_pp_open
 #define pp_wantarray           Perl_pp_wantarray
 #define pp_warn                        Perl_pp_warn
 #define pp_xor                 Perl_pp_xor
-#define ppaddr                 Perl_ppaddr
 #define pregcomp               Perl_pregcomp
 #define pregexec               Perl_pregexec
 #define pregfree               Perl_pregfree
 #define prepend_elem           Perl_prepend_elem
-#define psig_name              Perl_psig_name
-#define psig_ptr               Perl_psig_ptr
 #define push_return            Perl_push_return
 #define push_scope             Perl_push_scope
-#define q                      Perl_q
-#define reall_srchlen          Perl_reall_srchlen
 #define ref                    Perl_ref
 #define refkids                        Perl_refkids
 #define regdump                        Perl_regdump
 #define regexec_flags          Perl_regexec_flags
-#define regkind                        Perl_regkind
 #define regnext                        Perl_regnext
 #define regprop                        Perl_regprop
-#define repeat_amg             Perl_repeat_amg
-#define repeat_ass_amg         Perl_repeat_ass_amg
 #define repeatcpy              Perl_repeatcpy
 #define rninstr                        Perl_rninstr
-#define rshift_amg             Perl_rshift_amg
-#define rshift_ass_amg         Perl_rshift_ass_amg
 #define rsignal                        Perl_rsignal
 #define rsignal_restore                Perl_rsignal_restore
 #define rsignal_save           Perl_rsignal_save
 #define savepv                 Perl_savepv
 #define savepvn                        Perl_savepvn
 #define savestack_grow         Perl_savestack_grow
-#define saw_return             Perl_saw_return
 #define sawparens              Perl_sawparens
 #define scalar                 Perl_scalar
 #define scalarkids             Perl_scalarkids
 #define scan_subst             Perl_scan_subst
 #define scan_trans             Perl_scan_trans
 #define scan_word              Perl_scan_word
-#define scmp_amg               Perl_scmp_amg
 #define scope                  Perl_scope
 #define screaminstr            Perl_screaminstr
-#define seq_amg                        Perl_seq_amg
 #define setdefout              Perl_setdefout
 #define setenv_getix           Perl_setenv_getix
-#define sge_amg                        Perl_sge_amg
-#define sgt_amg                        Perl_sgt_amg
 #define share_hek              Perl_share_hek
 #define sharepvn               Perl_sharepvn
-#define sig_name               Perl_sig_name
-#define sig_num                        Perl_sig_num
 #define sighandler             Perl_sighandler
-#define simple                 Perl_simple
-#define sin_amg                        Perl_sin_amg
 #define skipspace              Perl_skipspace
-#define sle_amg                        Perl_sle_amg
-#define slt_amg                        Perl_slt_amg
-#define sne_amg                        Perl_sne_amg
-#define sqrt_amg               Perl_sqrt_amg
 #define stack_grow             Perl_stack_grow
 #define start_subparse         Perl_start_subparse
-#define string_amg             Perl_string_amg
 #define sub_crush_depth                Perl_sub_crush_depth
-#define subtr_amg              Perl_subtr_amg
-#define subtr_ass_amg          Perl_subtr_ass_amg
 #define sv_2bool               Perl_sv_2bool
 #define sv_2cv                 Perl_sv_2cv
 #define sv_2io                 Perl_sv_2io
 #define utf8skip               Perl_utf8skip
 #define utilize                        Perl_utilize
 #define uv_to_utf8             Perl_uv_to_utf8
-#define varies                 Perl_varies
 #define vivify_defelem         Perl_vivify_defelem
 #define vivify_ref             Perl_vivify_ref
-#define vtbl_amagic            Perl_vtbl_amagic
-#define vtbl_amagicelem                Perl_vtbl_amagicelem
-#define vtbl_arylen            Perl_vtbl_arylen
-#define vtbl_bm                        Perl_vtbl_bm
-#define vtbl_collxfrm          Perl_vtbl_collxfrm
-#define vtbl_dbline            Perl_vtbl_dbline
-#define vtbl_defelem           Perl_vtbl_defelem
-#define vtbl_env               Perl_vtbl_env
-#define vtbl_envelem           Perl_vtbl_envelem
-#define vtbl_fm                        Perl_vtbl_fm
-#define vtbl_glob              Perl_vtbl_glob
-#define vtbl_isa               Perl_vtbl_isa
-#define vtbl_isaelem           Perl_vtbl_isaelem
-#define vtbl_mglob             Perl_vtbl_mglob
-#define vtbl_mutex             Perl_vtbl_mutex
-#define vtbl_nkeys             Perl_vtbl_nkeys
-#define vtbl_pack              Perl_vtbl_pack
-#define vtbl_packelem          Perl_vtbl_packelem
-#define vtbl_pos               Perl_vtbl_pos
-#define vtbl_regexp            Perl_vtbl_regexp
-#define vtbl_sig               Perl_vtbl_sig
-#define vtbl_sigelem           Perl_vtbl_sigelem
-#define vtbl_substr            Perl_vtbl_substr
-#define vtbl_sv                        Perl_vtbl_sv
-#define vtbl_taint             Perl_vtbl_taint
-#define vtbl_uvar              Perl_vtbl_uvar
-#define vtbl_vec               Perl_vtbl_vec
 #define wait4pid               Perl_wait4pid
 #define warn                   Perl_warn
-#define warn_nl                        Perl_warn_nl
-#define warn_nosemi            Perl_warn_nosemi
-#define warn_reserved          Perl_warn_reserved
-#define warn_uninit            Perl_warn_uninit
 #define warner                 Perl_warner
 #define watch                  Perl_watch
-#define watchaddr              Perl_watchaddr
-#define watchok                        Perl_watchok
 #define whichsig               Perl_whichsig
-#define yycheck                        Perl_yycheck
-#define yydefred               Perl_yydefred
 #define yydestruct             Perl_yydestruct
-#define yydgoto                        Perl_yydgoto
 #define yyerror                        Perl_yyerror
-#define yygindex               Perl_yygindex
-#define yylen                  Perl_yylen
 #define yylex                  Perl_yylex
-#define yylhs                  Perl_yylhs
-#define yyname                 Perl_yyname
 #define yyparse                        Perl_yyparse
-#define yyrindex               Perl_yyrindex
-#define yyrule                 Perl_yyrule
-#define yysindex               Perl_yysindex
-#define yytable                        Perl_yytable
 #define yywarn                 Perl_yywarn
 
-#endif /* EMBED */
+#else  /* PERL_OBJECT */
+
+#define Gv_AMupdate            CPerlObj::Perl_Gv_AMupdate
+#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 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 bset_obj_store         CPerlObj::Perl_bset_obj_store
+#define byterun                        CPerlObj::Perl_byterun
+#define cache_re               CPerlObj::Perl_cache_re
+#define call_list              CPerlObj::Perl_call_list
+#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 check_uni              CPerlObj::Perl_check_uni
+#define checkcomma             CPerlObj::Perl_checkcomma
+#define checkcomma             CPerlObj::Perl_checkcomma
+#define ck_aelem               CPerlObj::Perl_ck_aelem
+#define ck_anoncode            CPerlObj::Perl_ck_anoncode
+#define ck_bitop               CPerlObj::Perl_ck_bitop
+#define ck_concat              CPerlObj::Perl_ck_concat
+#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 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 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_execfree            CPerlObj::Perl_do_execfree
+#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_msgrcv              CPerlObj::Perl_do_msgrcv
+#define do_msgsnd              CPerlObj::Perl_do_msgsnd
+#define do_open                        CPerlObj::Perl_do_open
+#define do_pipe                        CPerlObj::Perl_do_pipe
+#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_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
+#define do_trans_CU_simple     CPerlObj::Perl_do_trans_CU_simple
+#define do_trans_CU_trivial    CPerlObj::Perl_do_trans_CU_trivial
+#define do_trans_UC_simple     CPerlObj::Perl_do_trans_UC_simple
+#define do_trans_UC_trivial    CPerlObj::Perl_do_trans_UC_trivial
+#define do_trans_UU_complex    CPerlObj::Perl_do_trans_UU_complex
+#define do_trans_UU_count      CPerlObj::Perl_do_trans_UU_count
+#define do_trans_UU_simple     CPerlObj::Perl_do_trans_UU_simple
+#define do_vecset              CPerlObj::Perl_do_vecset
+#define do_vop                 CPerlObj::Perl_do_vop
+#define docatch                        CPerlObj::Perl_docatch
+#define doencodes              CPerlObj::Perl_doencodes
+#define doeval                 CPerlObj::Perl_doeval
+#define dofile                 CPerlObj::Perl_dofile
+#define dofindlabel            CPerlObj::Perl_dofindlabel
+#define dofindlabel            CPerlObj::Perl_dofindlabel
+#define doform                 CPerlObj::Perl_doform
+#define doparseform            CPerlObj::Perl_doparseform
+#define dopoptoeval            CPerlObj::Perl_dopoptoeval
+#define dopoptoeval            CPerlObj::Perl_dopoptoeval
+#define dopoptolabel           CPerlObj::Perl_dopoptolabel
+#define dopoptoloop            CPerlObj::Perl_dopoptoloop
+#define dopoptosub             CPerlObj::Perl_dopoptosub
+#define dopoptosub_at          CPerlObj::Perl_dopoptosub_at
+#define 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_gv                        CPerlObj::Perl_dump_gv
+#define dump_mstats            CPerlObj::Perl_dump_mstats
+#define dump_op                        CPerlObj::Perl_dump_op
+#define dump_packsubs          CPerlObj::Perl_dump_packsubs
+#define dump_pm                        CPerlObj::Perl_dump_pm
+#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 fetch_gv               CPerlObj::Perl_fetch_gv
+#define fetch_io               CPerlObj::Perl_fetch_io
+#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_ident            CPerlObj::Perl_force_ident
+#define force_list             CPerlObj::Perl_force_list
+#define force_next             CPerlObj::Perl_force_next
+#define force_next             CPerlObj::Perl_force_next
+#define force_version          CPerlObj::Perl_force_version
+#define force_word             CPerlObj::Perl_force_word
+#define force_word             CPerlObj::Perl_force_word
+#define form                   CPerlObj::Perl_form
+#define fprintf                        CPerlObj::Perl_fprintf
+#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_specialsv_list     CPerlObj::Perl_get_specialsv_list
+#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_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_stashpv             CPerlObj::Perl_hv_stashpv
+#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
+#define init_lexer             CPerlObj::Perl_init_lexer
+#define init_main_stash                CPerlObj::Perl_init_main_stash
+#define init_perllib           CPerlObj::Perl_init_perllib
+#define init_postdump_symbols  CPerlObj::Perl_init_postdump_symbols
+#define init_predump_symbols   CPerlObj::Perl_init_predump_symbols
+#define 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 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_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_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_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 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 modkids                        CPerlObj::Perl_modkids
+#define more_he                        CPerlObj::Perl_more_he
+#define more_sv                        CPerlObj::Perl_more_sv
+#define more_xiv               CPerlObj::Perl_more_xiv
+#define more_xnv               CPerlObj::Perl_more_xnv
+#define more_xpv               CPerlObj::Perl_more_xpv
+#define more_xrv               CPerlObj::Perl_more_xrv
+#define moreswitches           CPerlObj::Perl_moreswitches
+#define mstats                 CPerlObj::Perl_mstats
+#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_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 newXSUB                        CPerlObj::Perl_newXSUB
+#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_fh_allowed          CPerlObj::Perl_no_fh_allowed
+#define no_fh_allowed          CPerlObj::Perl_no_fh_allowed
+#define no_op                  CPerlObj::Perl_no_op
+#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_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_atexit            CPerlObj::perl_atexit
+#define perl_call_argv         CPerlObj::perl_call_argv
+#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_construct         CPerlObj::perl_construct
+#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_get_av            CPerlObj::perl_get_av
+#define perl_get_cv            CPerlObj::perl_get_cv
+#define perl_get_hv            CPerlObj::perl_get_hv
+#define perl_get_sv            CPerlObj::perl_get_sv
+#define perl_init_i18nl10n     CPerlObj::perl_init_i18nl10n
+#define perl_init_i18nl14n     CPerlObj::perl_init_i18nl14n
+#define perl_new_collate       CPerlObj::perl_new_collate
+#define perl_new_ctype         CPerlObj::perl_new_ctype
+#define perl_new_numeric       CPerlObj::perl_new_numeric
+#define perl_parse             CPerlObj::perl_parse
+#define perl_require_pv                CPerlObj::perl_require_pv
+#define perl_run               CPerlObj::perl_run
+#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 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 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
+#define reganode               CPerlObj::Perl_reganode
+#define regatom                        CPerlObj::Perl_regatom
+#define regbranch              CPerlObj::Perl_regbranch
+#define regc                   CPerlObj::Perl_regc
+#define regclass               CPerlObj::Perl_regclass
+#define regclassutf8           CPerlObj::Perl_regclassutf8
+#define regcp_set_to           CPerlObj::Perl_regcp_set_to
+#define regcppop               CPerlObj::Perl_regcppop
+#define regcppush              CPerlObj::Perl_regcppush
+#define regcurly               CPerlObj::Perl_regcurly
+#define 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 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 regprop                        CPerlObj::Perl_regprop
+#define regrepeat              CPerlObj::Perl_regrepeat
+#define regrepeat_hard         CPerlObj::Perl_regrepeat_hard
+#define regset                 CPerlObj::Perl_regset
+#define regtail                        CPerlObj::Perl_regtail
+#define regtry                 CPerlObj::Perl_regtry
+#define reguni                 CPerlObj::Perl_reguni
+#define regwhite               CPerlObj::Perl_regwhite
+#define 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_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 safecalloc             CPerlObj::Perl_safecalloc
+#define safefree               CPerlObj::Perl_safefree
+#define safemalloc             CPerlObj::Perl_safemalloc
+#define saferealloc            CPerlObj::Perl_saferealloc
+#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_commit            CPerlObj::Perl_scan_commit
+#define scan_const             CPerlObj::Perl_scan_const
+#define scan_const             CPerlObj::Perl_scan_const
+#define scan_formline          CPerlObj::Perl_scan_formline
+#define scan_formline          CPerlObj::Perl_scan_formline
+#define scan_heredoc           CPerlObj::Perl_scan_heredoc
+#define scan_heredoc           CPerlObj::Perl_scan_heredoc
+#define scan_hex               CPerlObj::Perl_scan_hex
+#define scan_ident             CPerlObj::Perl_scan_ident
+#define scan_ident             CPerlObj::Perl_scan_ident
+#define scan_inputsymbol       CPerlObj::Perl_scan_inputsymbol
+#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_pat               CPerlObj::Perl_scan_pat
+#define scan_prefix            CPerlObj::Perl_scan_prefix
+#define scan_str               CPerlObj::Perl_scan_str
+#define scan_str               CPerlObj::Perl_scan_str
+#define scan_subst             CPerlObj::Perl_scan_subst
+#define scan_subst             CPerlObj::Perl_scan_subst
+#define scan_trans             CPerlObj::Perl_scan_trans
+#define scan_trans             CPerlObj::Perl_scan_trans
+#define scan_word              CPerlObj::Perl_scan_word
+#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 skipspace              CPerlObj::Perl_skipspace
+#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_2uv                 CPerlObj::Perl_sv_2uv
+#define sv_add_arena           CPerlObj::Perl_sv_add_arena
+#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_check_thinkfirst    CPerlObj::Perl_sv_check_thinkfirst
+#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_derived_from                CPerlObj::Perl_sv_derived_from
+#define sv_dump                        CPerlObj::Perl_sv_dump
+#define sv_eq                  CPerlObj::Perl_sv_eq
+#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_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_mortalgrow          CPerlObj::Perl_sv_mortalgrow
+#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_pvn                 CPerlObj::Perl_sv_pvn
+#define sv_pvn_force           CPerlObj::Perl_sv_pvn_force
+#define sv_ref                 CPerlObj::Perl_sv_ref
+#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_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_setptrobj           CPerlObj::Perl_sv_setptrobj
+#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 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_few_arguments      CPerlObj::Perl_too_few_arguments
+#define too_many_arguments     CPerlObj::Perl_too_many_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 */
 
index 52c93ab..2ca20d0 100755 (executable)
--- a/embed.pl
+++ b/embed.pl
@@ -23,31 +23,36 @@ my @extvars = qw(sv_undef sv_yes sv_no na dowarn
 
 sub readsyms (\%$) {
     my ($syms, $file) = @_;
-    %$syms = ();
     local (*FILE, $_);
     open(FILE, "< $file")
        or die "embed.pl: Can't open $file: $!\n";
     while (<FILE>) {
        s/[ \t]*#.*//;          # Delete comments.
        if (/^\s*(\S+)\s*$/) {
-           $$syms{$1} = 1;
+           my $sym = $1;
+           warn "duplicate symbol $sym while processing $file\n"
+               if exists $$syms{$sym};
+           $$syms{$sym} = 1;
        }
     }
     close(FILE);
 }
 
 readsyms %global, 'global.sym';
+readsyms %global, 'pp.sym';
 
 sub readvars(\%$$) {
     my ($syms, $file,$pre) = @_;
-    %$syms = ();
     local (*FILE, $_);
     open(FILE, "< $file")
        or die "embed.pl: Can't open $file: $!\n";
     while (<FILE>) {
        s/[ \t]*#.*//;          # Delete comments.
        if (/PERLVARI?C?\($pre(\w+)/) {
-           $$syms{$1} = 1;
+           my $sym = $1;
+           warn "duplicate symbol $sym while processing $file\n"
+               if exists $$syms{$sym};
+           $$syms{$sym} = 1;
        }
     }
     close(FILE);
@@ -65,7 +70,7 @@ foreach my $sym (sort keys %intrp)
   if (exists $global{$sym})
    {
     delete $global{$sym};
-    warn "$sym in global.sym as well as intrpvar.h\n";
+    warn "$sym in {global,pp}.sym as well as intrpvar.h\n";
    }
  }
 
@@ -74,7 +79,7 @@ foreach my $sym (sort keys %globvar)
   if (exists $global{$sym})
    {
     delete $global{$sym};
-    warn "$sym in global.sym as well as perlvars.h\n";
+    warn "$sym in {global,pp}.sym as well as perlvars.h\n";
    }
  }
 
@@ -84,7 +89,7 @@ foreach my $sym (sort keys %thread)
   if (exists $global{$sym})
    {
     delete $global{$sym};
-    warn "$sym in global.sym as well as thrdvar.h\n";
+    warn "$sym in {global,pp}.sym as well as thrdvar.h\n";
    }
  }
 
@@ -97,6 +102,10 @@ sub embed ($) {
     my ($sym) = @_;
     hide($sym, "Perl_$sym");
 }
+sub embedobj ($) {
+    my ($sym) = @_;
+    hide($sym, $sym =~ /^perl_/i ? "CPerlObj::$sym" : "CPerlObj::Perl_$sym");
+}
 sub embedvar ($) {
     my ($sym) = @_;
 #   hide($sym, "Perl_$sym");
@@ -118,25 +127,17 @@ open(EM, '> embed.h')
 
 print EM <<'END';
 /* !!!!!!!   DO NOT EDIT THIS FILE   !!!!!!! 
-   This file is built by embed.pl from global.sym, intrpvar.h,
+   This file is built by embed.pl from global.sym, pp.sym, intrpvar.h,
    and thrdvar.h.  Any changes made here will be lost!
 */
 
 /* (Doing namespace management portably in C is really gross.) */
 
-/*  EMBED has no run-time penalty, but helps keep the Perl namespace
-    from colliding with that used by other libraries pulled in
-    by extensions or by embedding perl.  Allow a cc -DNO_EMBED
-    override, however, to keep binary compatability with previous
-    versions of perl.
-*/
-#ifndef NO_EMBED
-#  define EMBED 1 
-#endif
+/* NO_EMBED is no longer supported. i.e. EMBED is always active. */
 
-/* Hide global symbols? */
+/* Hide global symbols */
 
-#ifdef EMBED
+#if !defined(PERL_OBJECT)
 
 END
 
@@ -146,7 +147,241 @@ for $sym (sort keys %global) {
 
 print EM <<'END';
 
-#endif /* EMBED */
+#else  /* PERL_OBJECT */
+
+END
+
+# XXX these should be in a *.sym file
+my @extras = qw(
+    perl_init_i18nl10n
+    perl_init_i18nl14n
+    perl_new_collate
+    perl_new_ctype
+    perl_new_numeric
+    perl_set_numeric_local
+    perl_set_numeric_standard
+    perl_construct
+    perl_destruct
+    perl_atexit
+    perl_free
+    perl_parse
+    perl_run
+    perl_get_sv
+    perl_get_av
+    perl_get_hv
+    perl_get_cv
+    perl_call_argv
+    perl_call_pv
+    perl_call_method
+    perl_call_sv
+    perl_eval_pv
+    perl_eval_sv
+    perl_require_pv
+
+    hsplit
+    hfreeentries
+    more_he
+    new_he
+    del_he
+    save_hek
+    mess_alloc
+    gv_init_sv
+    save_scalar_at
+    asIV
+    asUV
+    more_sv
+    more_xiv
+    more_xnv
+    more_xpv
+    more_xrv
+    new_xiv
+    new_xnv
+    new_xpv
+    new_xrv
+    del_xiv
+    del_xnv
+    del_xpv
+    del_xrv
+    sv_mortalgrow
+    sv_unglob
+    sv_check_thinkfirst
+    avhv_index_sv
+    do_report_used
+    do_clean_objs
+    do_clean_named_objs
+    do_clean_all
+    not_a_number
+    my_safemalloc
+    visit
+    qsortsv
+    sortcv
+    save_magic
+    magic_methpack
+    magic_methcall
+    magic_methcall
+    doform
+    doencodes
+    refto
+    seed
+    docatch
+    dofindlabel
+    doparseform
+    dopoptoeval
+    dopoptolabel
+    dopoptoloop
+    dopoptosub
+    dopoptosub_at
+    save_lines
+    doeval
+    amagic_cmp
+    amagic_cmp_locale
+    mul128
+    is_an_int
+    div128
+    runops_standard
+    runops_debug
+    check_uni
+    force_next
+    force_version
+    force_word
+    tokeq
+    scan_const
+    scan_formline
+    scan_heredoc
+    scan_ident
+    scan_inputsymbol
+    scan_pat
+    scan_str
+    scan_subst
+    scan_trans
+    scan_word
+    skipspace
+    checkcomma
+    force_ident
+    incline
+    intuit_method
+    intuit_more
+    lop
+    missingterm
+    no_op
+    set_csh
+    sublex_done
+    sublex_push
+    sublex_start
+    uni
+    filter_gets
+    new_constant
+    ao
+    depcom
+    win32_textfilter
+    incl_perldb
+    isa_lookup
+    get_db_sub
+    list_assignment
+    bad_type
+    modkids
+    no_fh_allowed
+    scalarboolean
+    too_few_arguments
+    too_many_arguments
+    null
+    pad_findlex
+    newDEFSVOP
+    gv_ename
+    cv_clone2
+    find_beginning
+    forbid_setid
+    incpush
+    init_interp
+    init_ids
+    init_debugger
+    init_lexer
+    init_main_stash
+    init_perllib
+    init_postdump_symbols
+    init_predump_symbols
+    my_exit_jump
+    nuke_stacks
+    open_script
+    usage
+    validate_suid
+    emulate_eaccess
+    reg
+    reganode
+    regatom
+    regbranch
+    regc
+    reguni
+    regclass
+    regclassutf8
+    regcurly
+    reg_node
+    regpiece
+    reginsert
+    regoptail
+    regset
+    regtail
+    regwhite
+    nextchar
+    dumpuntil
+    scan_commit
+    study_chunk
+    add_data
+    re_croak2
+    regmatch
+    regrepeat
+    regrepeat_hard
+    regtry
+    reginclass
+    reginclassutf8
+    regcppush
+    regcppop
+    regcp_set_to
+    cache_re
+    reghop
+    reghopmaybe
+    dump
+    do_aspawn
+    debprof
+    bset_obj_store
+    new_logop
+    do_trans_CC_simple
+    do_trans_CC_count
+    do_trans_CC_complex
+    do_trans_UU_simple
+    do_trans_UU_count
+    do_trans_UU_complex
+    do_trans_UC_simple
+    do_trans_CU_simple
+    do_trans_UC_trivial
+    do_trans_CU_trivial
+    unwind_handler_stack
+    restore_magic
+    restore_rsfp
+    restore_expect
+    restore_lex_expect
+    yydestruct
+    del_sv
+    fprintf
+);
+
+my %skip;
+
+for $sym (qw[
+    utf8skip
+         ])
+{
+    $skip{$sym}++;
+}
+
+for $sym (sort(keys(%global),@extras)) {
+    next if exists $skip{$sym};
+    print EM embedobj($sym);
+}
+
+print EM <<'END';
+
+#endif /* PERL_OBJECT */
 
 END
 
@@ -158,20 +393,12 @@ open(EM, '> embedvar.h')
 
 print EM <<'END';
 /* !!!!!!!   DO NOT EDIT THIS FILE   !!!!!!! 
-   This file is built by embed.pl from global.sym, intrpvar.h,
+   This file is built by embed.pl from global.sym, pp.sym, intrpvar.h,
    and thrdvar.h.  Any changes made here will be lost!
 */
 
 /* (Doing namespace management portably in C is really gross.) */
 
-/*  EMBED has no run-time penalty, but helps keep the Perl namespace
-    from colliding with that used by other libraries pulled in
-    by extensions or by embedding perl.  Allow a cc -DNO_EMBED
-    override, however, to keep binary compatability with previous
-    versions of perl.
-*/
-
-
 /* Put interpreter-specific symbols into a struct? */
 
 #ifdef MULTIPLICITY
@@ -223,8 +450,6 @@ print EM <<'END';
 
 /* Hide what would have been interpreter-specific symbols? */
 
-#ifdef EMBED
-
 END
 
 for $sym (sort keys %intrp) {
@@ -244,7 +469,6 @@ for $sym (sort keys %thread) {
 print EM <<'END';
 
 #endif /* USE_THREADS */
-#endif /* EMBED */
 #endif /* MULTIPLICITY */
 
 /* Now same trickey for per-thread variables */
@@ -281,8 +505,6 @@ for $sym (sort keys %globvar) {
 
 print EM <<'END';
 
-#ifdef EMBED
-
 END
 
 for $sym (sort keys %globvar) {
@@ -291,7 +513,6 @@ for $sym (sort keys %globvar) {
 
 print EM <<'END';
 
-#endif /* EMBED */
 #endif /* PERL_GLOBAL_STRUCT */
 
 END
index 67761b1..a0bbea0 100644 (file)
@@ -1,18 +1,10 @@
 /* !!!!!!!   DO NOT EDIT THIS FILE   !!!!!!! 
-   This file is built by embed.pl from global.sym, intrpvar.h,
+   This file is built by embed.pl from global.sym, pp.sym, intrpvar.h,
    and thrdvar.h.  Any changes made here will be lost!
 */
 
 /* (Doing namespace management portably in C is really gross.) */
 
-/*  EMBED has no run-time penalty, but helps keep the Perl namespace
-    from colliding with that used by other libraries pulled in
-    by extensions or by embedding perl.  Allow a cc -DNO_EMBED
-    override, however, to keep binary compatability with previous
-    versions of perl.
-*/
-
-
 /* Put interpreter-specific symbols into a struct? */
 
 #ifdef MULTIPLICITY
 #define PL_tmps_stack          (PL_curinterp->Ttmps_stack)
 #define PL_top_env             (PL_curinterp->Ttop_env)
 #define PL_toptarget           (PL_curinterp->Ttoptarget)
+#define PL_watchaddr           (PL_curinterp->Twatchaddr)
+#define PL_watchok             (PL_curinterp->Twatchok)
 
 #endif /* !USE_THREADS */
 
 #define PL_Ttmps_stack         PL_tmps_stack
 #define PL_Ttop_env            PL_top_env
 #define PL_Ttoptarget          PL_toptarget
+#define PL_Twatchaddr          PL_watchaddr
+#define PL_Twatchok            PL_watchok
 
 #endif /* USE_THREADS */
 
 /* Hide what would have been interpreter-specific symbols? */
 
-#ifdef EMBED
-
 
 #ifndef USE_THREADS
 
 
 #endif /* USE_THREADS */
-#endif /* EMBED */
 #endif /* MULTIPLICITY */
 
 /* Now same trickey for per-thread variables */
 #define PL_tmps_stack          (thr->Ttmps_stack)
 #define PL_top_env             (thr->Ttop_env)
 #define PL_toptarget           (thr->Ttoptarget)
+#define PL_watchaddr           (thr->Twatchaddr)
+#define PL_watchok             (thr->Twatchok)
 
 #endif /* USE_THREADS */
 
 #define PL_Gyynerrs            PL_yynerrs
 #define PL_Gyyval              PL_yyval
 
-#ifdef EMBED
-
 
-#endif /* EMBED */
 #endif /* PERL_GLOBAL_STRUCT */
 
 
index 855b3fd..ccc3f26 100644 (file)
 #include "INTERN.h"
 
 #ifdef PERL_OBJECT
-#undef op_name
-#undef opargs 
-#undef op_desc
-#define op_name (pPerl->Perl_get_op_names())
-#define opargs (pPerl->Perl_get_opargs())
-#define op_desc (pPerl->Perl_get_op_descs())
+#undef PL_op_name
+#undef PL_opargs 
+#undef PL_op_desc
+#define PL_op_name (pPerl->Perl_get_op_names())
+#define PL_opargs (pPerl->Perl_get_opargs())
+#define PL_op_desc (pPerl->Perl_get_op_descs())
 #endif
 
 #ifdef PerlIO
@@ -95,7 +95,7 @@ cc_opclass(OP *o)
     if (o->op_type == OP_SASSIGN)
        return ((o->op_private & OPpASSIGN_BACKWARDS) ? OPc_UNOP : OPc_BINOP);
 
-    switch (opargs[o->op_type] & OA_CLASS_MASK) {
+    switch (PL_opargs[o->op_type] & OA_CLASS_MASK) {
     case OA_BASEOP:
        return OPc_BASEOP;
 
@@ -173,7 +173,7 @@ cc_opclass(OP *o)
            return OPc_PVOP;
     }
     warn("can't determine class of operator %s, assuming BASEOP\n",
-        op_name[o->op_type]);
+        PL_op_name[o->op_type]);
     return OPc_BASEOP;
 }
 
@@ -518,7 +518,7 @@ ppname(opnum)
        ST(0) = sv_newmortal();
        if (opnum >= 0 && opnum < PL_maxo) {
            sv_setpvn(ST(0), "pp_", 3);
-           sv_catpv(ST(0), op_name[opnum]);
+           sv_catpv(ST(0), PL_op_name[opnum]);
        }
 
 void
@@ -568,7 +568,7 @@ threadsv_names()
 
 #define OP_next(o)     o->op_next
 #define OP_sibling(o)  o->op_sibling
-#define OP_desc(o)     op_desc[o->op_type]
+#define OP_desc(o)     PL_op_desc[o->op_type]
 #define OP_targ(o)     o->op_targ
 #define OP_type(o)     o->op_type
 #define OP_seq(o)      o->op_seq
@@ -591,7 +591,7 @@ OP_ppaddr(o)
     CODE:
        ST(0) = sv_newmortal();
        sv_setpvn(ST(0), "pp_", 3);
-       sv_catpv(ST(0), op_name[o->op_type]);
+       sv_catpv(ST(0), PL_op_name[o->op_type]);
 
 char *
 OP_desc(o)
index 1ef70eb..7b97586 100644 (file)
@@ -10,8 +10,6 @@
 #  undef open
 #  undef setmode
 #  define open PerlLIO_open3
-#  undef TAINT_PROPER
-#  define TAINT_PROPER(a)
 #endif
 #include <ctype.h>
 #ifdef I_DIRENT    /* XXX maybe better to just rely on perl.h? */
index b9036c0..208daf2 100644 (file)
@@ -612,7 +612,7 @@ await_signal()
            croak("panic: await_signal");
        ST(0) = sv_newmortal();
        if (ret)
-           sv_setsv(ST(0), c ? psig_ptr[c] : &PL_sv_no);
+           sv_setsv(ST(0), c ? PL_psig_ptr[c] : &PL_sv_no);
        DEBUG_S(PerlIO_printf(PerlIO_stderr(),
                              "await_signal returning %s\n", SvPEEK(ST(0))););
 
index 8c08a1b..5974a32 100644 (file)
@@ -1,157 +1,6 @@
-# Global symbols that need to be hidden in embedded applications.
+# Global function symbols that need to be hidden in embedded applications.
 
-# Variables - should not be here but in perlvars.h 
-
-AMG_names
-Error
-abs_amg
-add_amg
-add_ass_amg
-additem
-atan2_amg
-band_amg
-block_type
-bool__amg
-bor_amg
-bxor_amg
-check
-compl_amg
-concat_amg
-concat_ass_amg
-cos_amg
-dc
-dec_amg
-di
-div_amg
-div_ass_amg
-do_binmode
-ds
-eq_amg
-exp_amg
-expectterm
-fallback_amg
-fold
-fold_locale
-freq
-ge_amg
-gt_amg
-inc_amg
-init_thread_intern
-io_close
-know_next
-le_amg
-log_amg
-lshift_amg
-lshift_ass_amg
-lt_amg
-mod_amg
-mod_ass_amg
-mult_amg
-mult_ass_amg
-ncmp_amg
-ne_amg
-neg_amg
-new_struct_thread
-new_stackinfo
-no_aelem
-no_dir_func
-no_func
-no_helem
-no_mem
-no_modify
-no_myglob
-no_security
-no_sock_func
-no_symref
-no_usym
-no_wrongref
-nointrp
-nomem
-nomethod_amg
-not_amg
-numer_amg
-op_const_sv
-op_desc
-op_name
-opargs
-pow_amg
-pow_ass_amg
-ppaddr
-psig_name
-psig_ptr
-reall_srchlen
-regkind
-repeat_amg
-repeat_ass_amg
-rshift_amg
-rshift_ass_amg
-runops_debug
-runops_standard
-saw_return
-scmp_amg
-seq_amg
-sge_amg
-sgt_amg
-sig_name
-sig_num
-simple
-sin_amg
-sle_amg
-slt_amg
-sne_amg
-sqrt_amg
-string_amg
-subtr_amg
-subtr_ass_amg
-varies
-vivify_defelem
-vivify_ref
-vtbl_amagic
-vtbl_amagicelem
-vtbl_arylen
-vtbl_bm
-vtbl_collxfrm
-vtbl_dbline
-vtbl_defelem
-vtbl_env
-vtbl_envelem
-vtbl_fm
-vtbl_glob
-vtbl_isa
-vtbl_isaelem
-vtbl_mglob
-vtbl_mutex
-vtbl_nkeys
-vtbl_pack
-vtbl_packelem
-vtbl_pos
-vtbl_regexp
-vtbl_sig
-vtbl_sigelem
-vtbl_substr
-vtbl_sv
-vtbl_taint
-vtbl_uvar
-vtbl_vec
-warn_nl
-warn_nosemi
-warn_reserved
-warn_uninit
-watchaddr
-watchok
-yycheck
-yydefred
-yydgoto
-yygindex
-yylen
-yylhs
-yyname
-yyrindex
-yyrule
-yysindex
-yytable
-
-# Functions
+# *** Do NOT add global variables here, add them in *var*.h ***
 
 Gv_AMupdate
 amagic_call
@@ -188,6 +37,9 @@ byterun
 call_list
 cando
 cast_ulong
+cast_i32
+cast_iv
+cast_uv
 check_uni
 checkcomma
 ck_aelem
@@ -204,7 +56,6 @@ ck_fun
 ck_fun_locale
 ck_glob
 ck_grep
-ck_gvconst
 ck_index
 ck_lengthconst
 ck_lfun
@@ -213,7 +64,6 @@ ck_match
 ck_null
 ck_repeat
 ck_require
-ck_retarget
 ck_rfun
 ck_rvconst
 ck_scmp
@@ -245,6 +95,7 @@ deprecate
 die
 die_where
 do_aexec
+do_binmode
 do_chomp
 do_chop
 do_close
@@ -352,10 +203,12 @@ ibcmp
 ibcmp_locale
 ingroup
 init_stacks
+init_thread_intern
 instr
 intro_my
 intuit_more
 invert
+io_close
 is_uni_alnum
 is_uni_alnum_lc
 is_uni_alpha
@@ -472,6 +325,8 @@ my_setenv
 my_stat
 my_swap
 my_unexec
+new_stackinfo
+new_struct_thread
 newANONHASH
 newANONLIST
 newANONSUB
@@ -527,6 +382,7 @@ no_op
 oopsAV
 oopsCV
 oopsHV
+op_const_sv
 op_free
 package
 pad_alloc
@@ -544,363 +400,12 @@ pmruntime
 pmtrans
 pop_return
 pop_scope
-pp_aassign
-pp_abs
-pp_accept
-pp_add
-pp_aelem
-pp_aelemfast
-pp_alarm
-pp_and
-pp_andassign
-pp_anoncode
-pp_anonhash
-pp_anonlist
-pp_aslice
-pp_atan2
-pp_av2arylen
-pp_backtick
-pp_bind
-pp_binmode
-pp_bit_and
-pp_bit_or
-pp_bit_xor
-pp_bless
-pp_caller
-pp_chdir
-pp_chmod
-pp_chomp
-pp_chop
-pp_chown
-pp_chr
-pp_chroot
-pp_close
-pp_closedir
-pp_complement
-pp_concat
-pp_cond_expr
-pp_connect
-pp_const
-pp_cos
-pp_crypt
-pp_cswitch
-pp_dbmclose
-pp_dbmopen
-pp_dbstate
-pp_defined
-pp_delete
-pp_die
-pp_divide
-pp_dofile
-pp_dump
-pp_each
-pp_egrent
-pp_ehostent
-pp_enetent
-pp_enter
-pp_entereval
-pp_enteriter
-pp_enterloop
-pp_entersub
-pp_entersubr
-pp_entertry
-pp_enterwrite
-pp_eof
-pp_eprotoent
-pp_epwent
-pp_eq
-pp_eservent
-pp_evalonce
-pp_exec
-pp_exists
-pp_exit
-pp_exp
-pp_fcntl
-pp_fileno
-pp_flip
-pp_flock
-pp_flop
-pp_fork
-pp_formline
-pp_ftatime
-pp_ftbinary
-pp_ftblk
-pp_ftchr
-pp_ftctime
-pp_ftdir
-pp_fteexec
-pp_fteowned
-pp_fteread
-pp_ftewrite
-pp_ftfile
-pp_ftis
-pp_ftlink
-pp_ftmtime
-pp_ftpipe
-pp_ftrexec
-pp_ftrowned
-pp_ftrread
-pp_ftrwrite
-pp_ftsgid
-pp_ftsize
-pp_ftsock
-pp_ftsuid
-pp_ftsvtx
-pp_fttext
-pp_fttty
-pp_ftzero
-pp_ge
-pp_gelem
-pp_getc
-pp_getlogin
-pp_getpeername
-pp_getpgrp
-pp_getppid
-pp_getpriority
-pp_getsockname
-pp_ggrent
-pp_ggrgid
-pp_ggrnam
-pp_ghbyaddr
-pp_ghbyname
-pp_ghostent
-pp_glob
-pp_gmtime
-pp_gnbyaddr
-pp_gnbyname
-pp_gnetent
-pp_goto
-pp_gpbyname
-pp_gpbynumber
-pp_gprotoent
-pp_gpwent
-pp_gpwnam
-pp_gpwuid
-pp_grepstart
-pp_grepwhile
-pp_gsbyname
-pp_gsbyport
-pp_gservent
-pp_gsockopt
-pp_gt
-pp_gv
-pp_gvsv
-pp_helem
-pp_hex
-pp_hslice
-pp_i_add
-pp_i_divide
-pp_i_eq
-pp_i_ge
-pp_i_gt
-pp_i_le
-pp_i_lt
-pp_i_modulo
-pp_i_multiply
-pp_i_ncmp
-pp_i_ne
-pp_i_negate
-pp_i_subtract
-pp_index
-pp_int
-pp_interp
-pp_ioctl
-pp_iter
-pp_join
-pp_keys
-pp_kill
-pp_last
-pp_lc
-pp_lcfirst
-pp_le
-pp_leave
-pp_leaveeval
-pp_leaveloop
-pp_leavesub
-pp_leavetry
-pp_leavewrite
-pp_left_shift
-pp_length
-pp_lineseq
-pp_link
-pp_list
-pp_listen
-pp_localtime
-pp_lock
-pp_log
-pp_lslice
-pp_lstat
-pp_lt
-pp_map
-pp_mapstart
-pp_mapwhile
-pp_match
-pp_method
-pp_mkdir
-pp_modulo
-pp_msgctl
-pp_msgget
-pp_msgrcv
-pp_msgsnd
-pp_multiply
-pp_ncmp
-pp_ne
-pp_negate
-pp_next
-pp_nextstate
-pp_not
-pp_nswitch
-pp_null
-pp_oct
-pp_open
-pp_open_dir
-pp_or
-pp_orassign
-pp_ord
-pp_pack
-pp_padany
-pp_padav
-pp_padhv
-pp_padsv
-pp_pipe_op
-pp_pop
-pp_pos
-pp_postdec
-pp_postinc
-pp_pow
-pp_predec
-pp_preinc
-pp_print
-pp_prototype
-pp_prtf
-pp_push
-pp_pushmark
-pp_pushre
-pp_qr
-pp_quotemeta
-pp_rand
-pp_range
-pp_rcatline
-pp_read
-pp_readdir
-pp_readline
-pp_readlink
-pp_recv
-pp_redo
-pp_ref
-pp_refgen
-pp_regcmaybe
-pp_regcreset
-pp_regcomp
-pp_rename
-pp_repeat
-pp_require
-pp_reset
-pp_return
-pp_reverse
-pp_rewinddir
-pp_right_shift
-pp_rindex
-pp_rmdir
-pp_rv2av
-pp_rv2cv
-pp_rv2gv
-pp_rv2hv
-pp_rv2sv
-pp_sassign
-pp_scalar
-pp_schomp
-pp_schop
-pp_scmp
-pp_scope
-pp_seek
-pp_seekdir
-pp_select
-pp_semctl
-pp_semget
-pp_semop
-pp_send
-pp_seq
-pp_setpgrp
-pp_setpriority
-pp_sge
-pp_sgrent
-pp_sgt
-pp_shift
-pp_shmctl
-pp_shmget
-pp_shmread
-pp_shmwrite
-pp_shostent
-pp_shutdown
-pp_sin
-pp_sle
-pp_sleep
-pp_slt
-pp_sne
-pp_snetent
-pp_socket
-pp_sockpair
-pp_sort
-pp_splice
-pp_split
-pp_sprintf
-pp_sprotoent
-pp_spwent
-pp_sqrt
-pp_srand
-pp_srefgen
-pp_sselect
-pp_sservent
-pp_ssockopt
-pp_stat
-pp_stringify
-pp_stub
-pp_study
-pp_subst
-pp_substcont
-pp_substr
-pp_subtract
-pp_symlink
-pp_syscall
-pp_sysopen
-pp_sysread
-pp_sysseek
-pp_system
-pp_syswrite
-pp_tell
-pp_telldir
-pp_threadsv
-pp_tie
-pp_tied
-pp_time
-pp_tms
-pp_trans
-pp_truncate
-pp_uc
-pp_ucfirst
-pp_umask
-pp_undef
-pp_unlink
-pp_unpack
-pp_unshift
-pp_unstack
-pp_untie
-pp_utime
-pp_values
-pp_vec
-pp_wait
-pp_waitpid
-pp_wantarray
-pp_warn
-pp_xor
 pregcomp
 pregexec
 pregfree
 prepend_elem
 push_return
 push_scope
-q
 ref
 refkids
 regdump
@@ -913,6 +418,8 @@ rsignal
 rsignal_restore
 rsignal_save
 rsignal_state
+runops_debug
+runops_standard
 rxres_free
 rxres_restore
 rxres_save
@@ -1106,6 +613,8 @@ utf8_to_uv
 utf8skip
 utilize
 uv_to_utf8
+vivify_defelem
+vivify_ref
 wait4pid
 warn
 warner
index 1d8ef92..b8d7c38 100644 (file)
--- a/globals.c
+++ b/globals.c
 #include "perl.h"
 
 #ifdef PERL_OBJECT
-#undef  pp_null
-#define pp_null                CPerlObj::Perl_pp_null
-#undef  pp_stub                
-#define pp_stub                CPerlObj::Perl_pp_stub
-#undef  pp_scalar      
-#define pp_scalar      CPerlObj::Perl_pp_scalar
-#undef  pp_pushmark    
-#define pp_pushmark    CPerlObj::Perl_pp_pushmark
-#undef  pp_wantarray   
-#define pp_wantarray   CPerlObj::Perl_pp_wantarray
-#undef  pp_const       
-#define pp_const       CPerlObj::Perl_pp_const
-#undef  pp_gvsv                
-#define pp_gvsv                CPerlObj::Perl_pp_gvsv  
-#undef  pp_gv          
-#define pp_gv          CPerlObj::Perl_pp_gv    
-#undef  pp_gelem       
-#define pp_gelem       CPerlObj::Perl_pp_gelem
-#undef  pp_padsv       
-#define pp_padsv       CPerlObj::Perl_pp_padsv
-#undef  pp_padav       
-#define pp_padav       CPerlObj::Perl_pp_padav
-#undef  pp_padhv       
-#define pp_padhv       CPerlObj::Perl_pp_padhv
-#undef  pp_padany      
-#define pp_padany      CPerlObj::Perl_pp_padany
-#undef  pp_pushre      
-#define pp_pushre      CPerlObj::Perl_pp_pushre
-#undef  pp_rv2gv       
-#define pp_rv2gv       CPerlObj::Perl_pp_rv2gv
-#undef  pp_rv2sv       
-#define pp_rv2sv       CPerlObj::Perl_pp_rv2sv
-#undef  pp_av2arylen   
-#define pp_av2arylen   CPerlObj::Perl_pp_av2arylen
-#undef  pp_rv2cv       
-#define pp_rv2cv       CPerlObj::Perl_pp_rv2cv
-#undef  pp_anoncode    
-#define pp_anoncode    CPerlObj::Perl_pp_anoncode
-#undef  pp_prototype   
-#define pp_prototype   CPerlObj::Perl_pp_prototype
-#undef  pp_refgen      
-#define pp_refgen      CPerlObj::Perl_pp_refgen
-#undef  pp_srefgen     
-#define pp_srefgen     CPerlObj::Perl_pp_srefgen
-#undef  pp_ref         
-#define pp_ref         CPerlObj::Perl_pp_ref   
-#undef  pp_bless       
-#define pp_bless       CPerlObj::Perl_pp_bless
-#undef  pp_backtick    
-#define pp_backtick    CPerlObj::Perl_pp_backtick
-#undef  pp_glob                
-#define pp_glob                CPerlObj::Perl_pp_glob  
-#undef  pp_readline    
-#define pp_readline    CPerlObj::Perl_pp_readline
-#undef  pp_rcatline    
-#define pp_rcatline    CPerlObj::Perl_pp_rcatline
-#undef  pp_regcmaybe   
-#define pp_regcmaybe   CPerlObj::Perl_pp_regcmaybe
-#undef  pp_regcreset   
-#define pp_regcreset   CPerlObj::Perl_pp_regcreset
-#undef  pp_regcomp     
-#define pp_regcomp     CPerlObj::Perl_pp_regcomp
-#undef  pp_match       
-#define pp_match       CPerlObj::Perl_pp_match
-#undef  pp_qr
-#define pp_qr          CPerlObj::Perl_pp_qr
-#undef  pp_subst       
-#define pp_subst       CPerlObj::Perl_pp_subst
-#undef  pp_substcont   
-#define pp_substcont   CPerlObj::Perl_pp_substcont
-#undef  pp_trans       
-#define pp_trans       CPerlObj::Perl_pp_trans
-#undef  pp_sassign     
-#define pp_sassign     CPerlObj::Perl_pp_sassign
-#undef  pp_aassign     
-#define pp_aassign     CPerlObj::Perl_pp_aassign
-#undef  pp_chop                
-#define pp_chop                CPerlObj::Perl_pp_chop  
-#undef  pp_schop       
-#define pp_schop       CPerlObj::Perl_pp_schop
-#undef  pp_chomp       
-#define pp_chomp       CPerlObj::Perl_pp_chomp
-#undef  pp_schomp      
-#define pp_schomp      CPerlObj::Perl_pp_schomp
-#undef  pp_defined     
-#define pp_defined     CPerlObj::Perl_pp_defined
-#undef  pp_undef       
-#define pp_undef       CPerlObj::Perl_pp_undef
-#undef  pp_study       
-#define pp_study       CPerlObj::Perl_pp_study
-#undef  pp_pos         
-#define pp_pos         CPerlObj::Perl_pp_pos   
-#undef  pp_preinc      
-#define pp_preinc      CPerlObj::Perl_pp_preinc
-#undef  pp_i_preinc    
-#define pp_i_preinc    CPerlObj::Perl_pp_preinc
-#undef  pp_predec      
-#define pp_predec      CPerlObj::Perl_pp_predec
-#undef  pp_i_predec    
-#define pp_i_predec    CPerlObj::Perl_pp_predec
-#undef  pp_postinc     
-#define pp_postinc     CPerlObj::Perl_pp_postinc
-#undef  pp_i_postinc   
-#define pp_i_postinc   CPerlObj::Perl_pp_postinc
-#undef  pp_postdec     
-#define pp_postdec     CPerlObj::Perl_pp_postdec
-#undef  pp_i_postdec   
-#define pp_i_postdec   CPerlObj::Perl_pp_postdec
-#undef  pp_pow         
-#define pp_pow         CPerlObj::Perl_pp_pow   
-#undef  pp_multiply    
-#define pp_multiply    CPerlObj::Perl_pp_multiply
-#undef  pp_i_multiply  
-#define pp_i_multiply  CPerlObj::Perl_pp_i_multiply
-#undef  pp_divide      
-#define pp_divide      CPerlObj::Perl_pp_divide
-#undef  pp_i_divide    
-#define pp_i_divide    CPerlObj::Perl_pp_i_divide
-#undef  pp_modulo      
-#define pp_modulo      CPerlObj::Perl_pp_modulo
-#undef  pp_i_modulo    
-#define pp_i_modulo    CPerlObj::Perl_pp_i_modulo
-#undef  pp_repeat      
-#define pp_repeat      CPerlObj::Perl_pp_repeat
-#undef  pp_add         
-#define pp_add         CPerlObj::Perl_pp_add   
-#undef  pp_i_add       
-#define pp_i_add       CPerlObj::Perl_pp_i_add
-#undef  pp_subtract    
-#define pp_subtract    CPerlObj::Perl_pp_subtract
-#undef  pp_i_subtract  
-#define pp_i_subtract  CPerlObj::Perl_pp_i_subtract
-#undef  pp_concat      
-#define pp_concat      CPerlObj::Perl_pp_concat
-#undef  pp_stringify   
-#define pp_stringify   CPerlObj::Perl_pp_stringify
-#undef  pp_left_shift  
-#define pp_left_shift  CPerlObj::Perl_pp_left_shift
-#undef  pp_right_shift 
-#define pp_right_shift CPerlObj::Perl_pp_right_shift
-#undef  pp_lt          
-#define pp_lt          CPerlObj::Perl_pp_lt    
-#undef  pp_i_lt                
-#define pp_i_lt                CPerlObj::Perl_pp_i_lt  
-#undef  pp_gt          
-#define pp_gt          CPerlObj::Perl_pp_gt    
-#undef  pp_i_gt                
-#define pp_i_gt                CPerlObj::Perl_pp_i_gt  
-#undef  pp_le          
-#define pp_le          CPerlObj::Perl_pp_le    
-#undef  pp_i_le                
-#define pp_i_le                CPerlObj::Perl_pp_i_le  
-#undef  pp_ge          
-#define pp_ge          CPerlObj::Perl_pp_ge    
-#undef  pp_i_ge                
-#define pp_i_ge                CPerlObj::Perl_pp_i_ge  
-#undef  pp_eq          
-#define pp_eq          CPerlObj::Perl_pp_eq    
-#undef  pp_i_eq                
-#define pp_i_eq                CPerlObj::Perl_pp_i_eq  
-#undef  pp_ne          
-#define pp_ne          CPerlObj::Perl_pp_ne    
-#undef  pp_i_ne                
-#define pp_i_ne                CPerlObj::Perl_pp_i_ne  
-#undef  pp_ncmp                
-#define pp_ncmp                CPerlObj::Perl_pp_ncmp  
-#undef  pp_i_ncmp      
-#define pp_i_ncmp      CPerlObj::Perl_pp_i_ncmp
-#undef  pp_slt         
-#define pp_slt         CPerlObj::Perl_pp_slt   
-#undef  pp_sgt         
-#define pp_sgt         CPerlObj::Perl_pp_sgt   
-#undef  pp_sle         
-#define pp_sle         CPerlObj::Perl_pp_sle   
-#undef  pp_sge         
-#define pp_sge         CPerlObj::Perl_pp_sge   
-#undef  pp_seq         
-#define pp_seq         CPerlObj::Perl_pp_seq   
-#undef  pp_sne         
-#define pp_sne         CPerlObj::Perl_pp_sne   
-#undef  pp_scmp                
-#define pp_scmp                CPerlObj::Perl_pp_scmp  
-#undef  pp_bit_and     
-#define pp_bit_and     CPerlObj::Perl_pp_bit_and
-#undef  pp_bit_xor     
-#define pp_bit_xor     CPerlObj::Perl_pp_bit_xor
-#undef  pp_bit_or      
-#define pp_bit_or      CPerlObj::Perl_pp_bit_or
-#undef  pp_negate      
-#define pp_negate      CPerlObj::Perl_pp_negate
-#undef  pp_i_negate    
-#define pp_i_negate    CPerlObj::Perl_pp_i_negate
-#undef  pp_not         
-#define pp_not         CPerlObj::Perl_pp_not   
-#undef  pp_complement  
-#define pp_complement  CPerlObj::Perl_pp_complement
-#undef  pp_atan2       
-#define pp_atan2       CPerlObj::Perl_pp_atan2
-#undef  pp_sin         
-#define pp_sin         CPerlObj::Perl_pp_sin   
-#undef  pp_cos         
-#define pp_cos         CPerlObj::Perl_pp_cos   
-#undef  pp_rand                
-#define pp_rand                CPerlObj::Perl_pp_rand  
-#undef  pp_srand       
-#define pp_srand       CPerlObj::Perl_pp_srand
-#undef  pp_exp         
-#define pp_exp         CPerlObj::Perl_pp_exp   
-#undef  pp_log         
-#define pp_log         CPerlObj::Perl_pp_log   
-#undef  pp_sqrt                
-#define pp_sqrt                CPerlObj::Perl_pp_sqrt  
-#undef  pp_int         
-#define pp_int         CPerlObj::Perl_pp_int   
-#undef  pp_hex         
-#define pp_hex         CPerlObj::Perl_pp_hex   
-#undef  pp_oct         
-#define pp_oct         CPerlObj::Perl_pp_oct   
-#undef  pp_abs         
-#define pp_abs         CPerlObj::Perl_pp_abs   
-#undef  pp_length      
-#define pp_length      CPerlObj::Perl_pp_length
-#undef  pp_substr      
-#define pp_substr      CPerlObj::Perl_pp_substr
-#undef  pp_vec         
-#define pp_vec         CPerlObj::Perl_pp_vec   
-#undef  pp_index       
-#define pp_index       CPerlObj::Perl_pp_index
-#undef  pp_rindex      
-#define pp_rindex      CPerlObj::Perl_pp_rindex
-#undef  pp_sprintf     
-#define pp_sprintf     CPerlObj::Perl_pp_sprintf
-#undef  pp_formline    
-#define pp_formline    CPerlObj::Perl_pp_formline
-#undef  pp_ord         
-#define pp_ord         CPerlObj::Perl_pp_ord   
-#undef  pp_chr         
-#define pp_chr         CPerlObj::Perl_pp_chr   
-#undef  pp_crypt       
-#define pp_crypt       CPerlObj::Perl_pp_crypt
-#undef  pp_ucfirst     
-#define pp_ucfirst     CPerlObj::Perl_pp_ucfirst
-#undef  pp_lcfirst     
-#define pp_lcfirst     CPerlObj::Perl_pp_lcfirst
-#undef  pp_uc          
-#define pp_uc          CPerlObj::Perl_pp_uc    
-#undef  pp_lc          
-#define pp_lc          CPerlObj::Perl_pp_lc    
-#undef  pp_quotemeta   
-#define pp_quotemeta   CPerlObj::Perl_pp_quotemeta
-#undef  pp_rv2av       
-#define pp_rv2av       CPerlObj::Perl_pp_rv2av
-#undef  pp_aelemfast   
-#define pp_aelemfast   CPerlObj::Perl_pp_aelemfast
-#undef  pp_aelem       
-#define pp_aelem       CPerlObj::Perl_pp_aelem
-#undef  pp_aslice      
-#define pp_aslice      CPerlObj::Perl_pp_aslice
-#undef  pp_each                
-#define pp_each                CPerlObj::Perl_pp_each  
-#undef  pp_values      
-#define pp_values      CPerlObj::Perl_pp_values
-#undef  pp_keys                
-#define pp_keys                CPerlObj::Perl_pp_keys  
-#undef  pp_delete      
-#define pp_delete      CPerlObj::Perl_pp_delete
-#undef  pp_exists      
-#define pp_exists      CPerlObj::Perl_pp_exists
-#undef  pp_rv2hv       
-#define pp_rv2hv       CPerlObj::Perl_pp_rv2hv
-#undef  pp_helem       
-#define pp_helem       CPerlObj::Perl_pp_helem
-#undef  pp_hslice      
-#define pp_hslice      CPerlObj::Perl_pp_hslice
-#undef  pp_unpack      
-#define pp_unpack      CPerlObj::Perl_pp_unpack
-#undef  pp_pack                
-#define pp_pack                CPerlObj::Perl_pp_pack  
-#undef  pp_split       
-#define pp_split       CPerlObj::Perl_pp_split
-#undef  pp_join                
-#define pp_join                CPerlObj::Perl_pp_join  
-#undef  pp_list                
-#define pp_list                CPerlObj::Perl_pp_list  
-#undef  pp_lslice      
-#define pp_lslice      CPerlObj::Perl_pp_lslice
-#undef  pp_anonlist    
-#define pp_anonlist    CPerlObj::Perl_pp_anonlist
-#undef  pp_anonhash    
-#define pp_anonhash    CPerlObj::Perl_pp_anonhash
-#undef  pp_splice      
-#define pp_splice      CPerlObj::Perl_pp_splice
-#undef  pp_push                
-#define pp_push                CPerlObj::Perl_pp_push  
-#undef  pp_pop         
-#define pp_pop         CPerlObj::Perl_pp_pop   
-#undef  pp_shift       
-#define pp_shift       CPerlObj::Perl_pp_shift
-#undef  pp_unshift     
-#define pp_unshift     CPerlObj::Perl_pp_unshift
-#undef  pp_sort                
-#define pp_sort                CPerlObj::Perl_pp_sort  
-#undef  pp_reverse     
-#define pp_reverse     CPerlObj::Perl_pp_reverse
-#undef  pp_grepstart   
-#define pp_grepstart   CPerlObj::Perl_pp_grepstart
-#undef  pp_grepwhile   
-#define pp_grepwhile   CPerlObj::Perl_pp_grepwhile
-#undef  pp_mapstart    
-#define pp_mapstart    CPerlObj::Perl_pp_mapstart
-#undef  pp_mapwhile    
-#define pp_mapwhile    CPerlObj::Perl_pp_mapwhile
-#undef  pp_range       
-#define pp_range       CPerlObj::Perl_pp_range
-#undef  pp_flip                
-#define pp_flip                CPerlObj::Perl_pp_flip  
-#undef  pp_flop                
-#define pp_flop                CPerlObj::Perl_pp_flop  
-#undef  pp_and         
-#define pp_and         CPerlObj::Perl_pp_and   
-#undef  pp_or          
-#define pp_or          CPerlObj::Perl_pp_or    
-#undef  pp_xor         
-#define pp_xor         CPerlObj::Perl_pp_xor   
-#undef  pp_cond_expr   
-#define pp_cond_expr   CPerlObj::Perl_pp_cond_expr
-#undef  pp_andassign   
-#define pp_andassign   CPerlObj::Perl_pp_andassign
-#undef  pp_orassign    
-#define pp_orassign    CPerlObj::Perl_pp_orassign
-#undef  pp_method      
-#define pp_method      CPerlObj::Perl_pp_method
-#undef  pp_entersub    
-#define pp_entersub    CPerlObj::Perl_pp_entersub
-#undef  pp_leavesub    
-#define pp_leavesub    CPerlObj::Perl_pp_leavesub
-#undef  pp_caller      
-#define pp_caller      CPerlObj::Perl_pp_caller
-#undef  pp_warn                
-#define pp_warn                CPerlObj::Perl_pp_warn  
-#undef  pp_die         
-#define pp_die         CPerlObj::Perl_pp_die   
-#undef  pp_reset       
-#define pp_reset       CPerlObj::Perl_pp_reset
-#undef  pp_lineseq     
-#define pp_lineseq     CPerlObj::Perl_pp_lineseq
-#undef  pp_nextstate   
-#define pp_nextstate   CPerlObj::Perl_pp_nextstate
-#undef  pp_dbstate     
-#define pp_dbstate     CPerlObj::Perl_pp_dbstate
-#undef  pp_unstack     
-#define pp_unstack     CPerlObj::Perl_pp_unstack
-#undef  pp_enter       
-#define pp_enter       CPerlObj::Perl_pp_enter
-#undef  pp_leave       
-#define pp_leave       CPerlObj::Perl_pp_leave
-#undef  pp_scope       
-#define pp_scope       CPerlObj::Perl_pp_scope
-#undef  pp_enteriter   
-#define pp_enteriter   CPerlObj::Perl_pp_enteriter
-#undef  pp_iter                
-#define pp_iter                CPerlObj::Perl_pp_iter  
-#undef  pp_enterloop   
-#define pp_enterloop   CPerlObj::Perl_pp_enterloop
-#undef  pp_leaveloop   
-#define pp_leaveloop   CPerlObj::Perl_pp_leaveloop
-#undef  pp_return      
-#define pp_return      CPerlObj::Perl_pp_return
-#undef  pp_last                
-#define pp_last                CPerlObj::Perl_pp_last  
-#undef  pp_next                
-#define pp_next                CPerlObj::Perl_pp_next  
-#undef  pp_redo                
-#define pp_redo                CPerlObj::Perl_pp_redo  
-#undef  pp_dump                
-#define pp_dump                CPerlObj::Perl_pp_dump  
-#undef  pp_goto                
-#define pp_goto                CPerlObj::Perl_pp_goto  
-#undef  pp_exit                
-#define pp_exit                CPerlObj::Perl_pp_exit  
-#undef  pp_open                
-#define pp_open                CPerlObj::Perl_pp_open  
-#undef  pp_close       
-#define pp_close       CPerlObj::Perl_pp_close
-#undef  pp_pipe_op     
-#define pp_pipe_op     CPerlObj::Perl_pp_pipe_op
-#undef  pp_fileno      
-#define pp_fileno      CPerlObj::Perl_pp_fileno
-#undef  pp_umask       
-#define pp_umask       CPerlObj::Perl_pp_umask
-#undef  pp_binmode     
-#define pp_binmode     CPerlObj::Perl_pp_binmode
-#undef  pp_tie         
-#define pp_tie         CPerlObj::Perl_pp_tie   
-#undef  pp_untie       
-#define pp_untie       CPerlObj::Perl_pp_untie
-#undef  pp_tied                
-#define pp_tied                CPerlObj::Perl_pp_tied  
-#undef  pp_dbmopen     
-#define pp_dbmopen     CPerlObj::Perl_pp_dbmopen
-#undef  pp_dbmclose    
-#define pp_dbmclose    CPerlObj::Perl_pp_dbmclose
-#undef  pp_sselect     
-#define pp_sselect     CPerlObj::Perl_pp_sselect
-#undef  pp_select      
-#define pp_select      CPerlObj::Perl_pp_select
-#undef  pp_getc                
-#define pp_getc                CPerlObj::Perl_pp_getc  
-#undef  pp_read                
-#define pp_read                CPerlObj::Perl_pp_read  
-#undef  pp_enterwrite  
-#define pp_enterwrite  CPerlObj::Perl_pp_enterwrite
-#undef  pp_leavewrite  
-#define pp_leavewrite  CPerlObj::Perl_pp_leavewrite
-#undef  pp_prtf                
-#define pp_prtf                CPerlObj::Perl_pp_prtf  
-#undef  pp_print       
-#define pp_print       CPerlObj::Perl_pp_print
-#undef  pp_sysopen     
-#define pp_sysopen     CPerlObj::Perl_pp_sysopen
-#undef  pp_sysseek     
-#define pp_sysseek     CPerlObj::Perl_pp_sysseek
-#undef  pp_sysread     
-#define pp_sysread     CPerlObj::Perl_pp_sysread
-#undef  pp_syswrite    
-#define pp_syswrite    CPerlObj::Perl_pp_syswrite
-#undef  pp_send                
-#define pp_send                CPerlObj::Perl_pp_send  
-#undef  pp_recv                
-#define pp_recv                CPerlObj::Perl_pp_recv  
-#undef  pp_eof         
-#define pp_eof         CPerlObj::Perl_pp_eof   
-#undef  pp_tell                
-#define pp_tell                CPerlObj::Perl_pp_tell  
-#undef  pp_seek                
-#define pp_seek                CPerlObj::Perl_pp_seek  
-#undef  pp_truncate    
-#define pp_truncate    CPerlObj::Perl_pp_truncate
-#undef  pp_fcntl       
-#define pp_fcntl       CPerlObj::Perl_pp_fcntl
-#undef  pp_ioctl       
-#define pp_ioctl       CPerlObj::Perl_pp_ioctl
-#undef  pp_flock       
-#define pp_flock       CPerlObj::Perl_pp_flock
-#undef  pp_socket      
-#define pp_socket      CPerlObj::Perl_pp_socket
-#undef  pp_sockpair    
-#define pp_sockpair    CPerlObj::Perl_pp_sockpair
-#undef  pp_bind                
-#define pp_bind                CPerlObj::Perl_pp_bind  
-#undef  pp_connect     
-#define pp_connect     CPerlObj::Perl_pp_connect
-#undef  pp_listen      
-#define pp_listen      CPerlObj::Perl_pp_listen
-#undef  pp_accept      
-#define pp_accept      CPerlObj::Perl_pp_accept
-#undef  pp_shutdown    
-#define pp_shutdown    CPerlObj::Perl_pp_shutdown
-#undef  pp_gsockopt    
-#define pp_gsockopt    CPerlObj::Perl_pp_gsockopt
-#undef  pp_ssockopt    
-#define pp_ssockopt    CPerlObj::Perl_pp_ssockopt
-#undef  pp_getsockname 
-#define pp_getsockname CPerlObj::Perl_pp_getsockname
-#undef  pp_getpeername 
-#define pp_getpeername CPerlObj::Perl_pp_getpeername
-#undef  pp_lstat       
-#define pp_lstat       CPerlObj::Perl_pp_lstat
-#undef  pp_stat                
-#define pp_stat                CPerlObj::Perl_pp_stat  
-#undef  pp_ftrread     
-#define pp_ftrread     CPerlObj::Perl_pp_ftrread
-#undef  pp_ftrwrite    
-#define pp_ftrwrite    CPerlObj::Perl_pp_ftrwrite
-#undef  pp_ftrexec     
-#define pp_ftrexec     CPerlObj::Perl_pp_ftrexec
-#undef  pp_fteread     
-#define pp_fteread     CPerlObj::Perl_pp_fteread
-#undef  pp_ftewrite    
-#define pp_ftewrite    CPerlObj::Perl_pp_ftewrite
-#undef  pp_fteexec     
-#define pp_fteexec     CPerlObj::Perl_pp_fteexec
-#undef  pp_ftis                
-#define pp_ftis                CPerlObj::Perl_pp_ftis  
-#undef  pp_fteowned    
-#define pp_fteowned    CPerlObj::Perl_pp_fteowned
-#undef  pp_ftrowned    
-#define pp_ftrowned    CPerlObj::Perl_pp_ftrowned
-#undef  pp_ftzero      
-#define pp_ftzero      CPerlObj::Perl_pp_ftzero
-#undef  pp_ftsize      
-#define pp_ftsize      CPerlObj::Perl_pp_ftsize
-#undef  pp_ftmtime     
-#define pp_ftmtime     CPerlObj::Perl_pp_ftmtime
-#undef  pp_ftatime     
-#define pp_ftatime     CPerlObj::Perl_pp_ftatime
-#undef  pp_ftctime     
-#define pp_ftctime     CPerlObj::Perl_pp_ftctime
-#undef  pp_ftsock      
-#define pp_ftsock      CPerlObj::Perl_pp_ftsock
-#undef  pp_ftchr       
-#define pp_ftchr       CPerlObj::Perl_pp_ftchr
-#undef  pp_ftblk       
-#define pp_ftblk       CPerlObj::Perl_pp_ftblk
-#undef  pp_ftfile      
-#define pp_ftfile      CPerlObj::Perl_pp_ftfile
-#undef  pp_ftdir       
-#define pp_ftdir       CPerlObj::Perl_pp_ftdir
-#undef  pp_ftpipe      
-#define pp_ftpipe      CPerlObj::Perl_pp_ftpipe
-#undef  pp_ftlink      
-#define pp_ftlink      CPerlObj::Perl_pp_ftlink
-#undef  pp_ftsuid      
-#define pp_ftsuid      CPerlObj::Perl_pp_ftsuid
-#undef  pp_ftsgid      
-#define pp_ftsgid      CPerlObj::Perl_pp_ftsgid
-#undef  pp_ftsvtx      
-#define pp_ftsvtx      CPerlObj::Perl_pp_ftsvtx
-#undef  pp_fttty       
-#define pp_fttty       CPerlObj::Perl_pp_fttty
-#undef  pp_fttext      
-#define pp_fttext      CPerlObj::Perl_pp_fttext
-#undef  pp_ftbinary    
-#define pp_ftbinary    CPerlObj::Perl_pp_ftbinary
-#undef  pp_chdir       
-#define pp_chdir       CPerlObj::Perl_pp_chdir
-#undef  pp_chown       
-#define pp_chown       CPerlObj::Perl_pp_chown
-#undef  pp_chroot      
-#define pp_chroot      CPerlObj::Perl_pp_chroot
-#undef  pp_unlink      
-#define pp_unlink      CPerlObj::Perl_pp_unlink
-#undef  pp_chmod       
-#define pp_chmod       CPerlObj::Perl_pp_chmod
-#undef  pp_utime       
-#define pp_utime       CPerlObj::Perl_pp_utime
-#undef  pp_rename      
-#define pp_rename      CPerlObj::Perl_pp_rename
-#undef  pp_link                
-#define pp_link                CPerlObj::Perl_pp_link  
-#undef  pp_symlink     
-#define pp_symlink     CPerlObj::Perl_pp_symlink
-#undef  pp_readlink    
-#define pp_readlink    CPerlObj::Perl_pp_readlink
-#undef  pp_mkdir       
-#define pp_mkdir       CPerlObj::Perl_pp_mkdir
-#undef  pp_rmdir       
-#define pp_rmdir       CPerlObj::Perl_pp_rmdir
-#undef  pp_open_dir    
-#define pp_open_dir    CPerlObj::Perl_pp_open_dir
-#undef  pp_readdir     
-#define pp_readdir     CPerlObj::Perl_pp_readdir
-#undef  pp_telldir     
-#define pp_telldir     CPerlObj::Perl_pp_telldir
-#undef  pp_seekdir     
-#define pp_seekdir     CPerlObj::Perl_pp_seekdir
-#undef  pp_rewinddir   
-#define pp_rewinddir   CPerlObj::Perl_pp_rewinddir
-#undef  pp_closedir    
-#define pp_closedir    CPerlObj::Perl_pp_closedir
-#undef  pp_fork                
-#define pp_fork                CPerlObj::Perl_pp_fork  
-#undef  pp_wait                
-#define pp_wait                CPerlObj::Perl_pp_wait  
-#undef  pp_waitpid     
-#define pp_waitpid     CPerlObj::Perl_pp_waitpid
-#undef  pp_system      
-#define pp_system      CPerlObj::Perl_pp_system
-#undef  pp_exec                
-#define pp_exec                CPerlObj::Perl_pp_exec  
-#undef  pp_kill                
-#define pp_kill                CPerlObj::Perl_pp_kill  
-#undef  pp_getppid     
-#define pp_getppid     CPerlObj::Perl_pp_getppid
-#undef  pp_getpgrp     
-#define pp_getpgrp     CPerlObj::Perl_pp_getpgrp
-#undef  pp_setpgrp     
-#define pp_setpgrp     CPerlObj::Perl_pp_setpgrp
-#undef  pp_getpriority 
-#define pp_getpriority CPerlObj::Perl_pp_getpriority
-#undef  pp_setpriority 
-#define pp_setpriority CPerlObj::Perl_pp_setpriority
-#undef  pp_time                
-#define pp_time                CPerlObj::Perl_pp_time  
-#undef  pp_tms         
-#define pp_tms         CPerlObj::Perl_pp_tms   
-#undef  pp_localtime   
-#define pp_localtime   CPerlObj::Perl_pp_localtime
-#undef  pp_gmtime      
-#define pp_gmtime      CPerlObj::Perl_pp_gmtime
-#undef  pp_alarm       
-#define pp_alarm       CPerlObj::Perl_pp_alarm
-#undef  pp_sleep       
-#define pp_sleep       CPerlObj::Perl_pp_sleep
-#undef  pp_shmget      
-#define pp_shmget      CPerlObj::Perl_pp_shmget
-#undef  pp_shmctl      
-#define pp_shmctl      CPerlObj::Perl_pp_shmctl
-#undef  pp_shmread     
-#define pp_shmread     CPerlObj::Perl_pp_shmread
-#undef  pp_shmwrite    
-#define pp_shmwrite    CPerlObj::Perl_pp_shmwrite
-#undef  pp_msgget      
-#define pp_msgget      CPerlObj::Perl_pp_msgget
-#undef  pp_msgctl      
-#define pp_msgctl      CPerlObj::Perl_pp_msgctl
-#undef  pp_msgsnd      
-#define pp_msgsnd      CPerlObj::Perl_pp_msgsnd
-#undef  pp_msgrcv      
-#define pp_msgrcv      CPerlObj::Perl_pp_msgrcv
-#undef  pp_semget      
-#define pp_semget      CPerlObj::Perl_pp_semget
-#undef  pp_semctl      
-#define pp_semctl      CPerlObj::Perl_pp_semctl
-#undef  pp_semop       
-#define pp_semop       CPerlObj::Perl_pp_semop
-#undef  pp_require     
-#define pp_require     CPerlObj::Perl_pp_require
-#undef  pp_dofile      
-#define pp_dofile      CPerlObj::Perl_pp_dofile
-#undef  pp_entereval   
-#define pp_entereval   CPerlObj::Perl_pp_entereval
-#undef  pp_leaveeval   
-#define pp_leaveeval   CPerlObj::Perl_pp_leaveeval
-#undef  pp_entertry    
-#define pp_entertry    CPerlObj::Perl_pp_entertry
-#undef  pp_leavetry    
-#define pp_leavetry    CPerlObj::Perl_pp_leavetry
-#undef  pp_ghbyname    
-#define pp_ghbyname    CPerlObj::Perl_pp_ghbyname
-#undef  pp_ghbyaddr    
-#define pp_ghbyaddr    CPerlObj::Perl_pp_ghbyaddr
-#undef  pp_ghostent    
-#define pp_ghostent    CPerlObj::Perl_pp_ghostent
-#undef  pp_gnbyname    
-#define pp_gnbyname    CPerlObj::Perl_pp_gnbyname
-#undef  pp_gnbyaddr    
-#define pp_gnbyaddr    CPerlObj::Perl_pp_gnbyaddr
-#undef  pp_gnetent     
-#define pp_gnetent     CPerlObj::Perl_pp_gnetent
-#undef  pp_gpbyname    
-#define pp_gpbyname    CPerlObj::Perl_pp_gpbyname
-#undef  pp_gpbynumber  
-#define pp_gpbynumber  CPerlObj::Perl_pp_gpbynumber
-#undef  pp_gprotoent   
-#define pp_gprotoent   CPerlObj::Perl_pp_gprotoent
-#undef  pp_gsbyname    
-#define pp_gsbyname    CPerlObj::Perl_pp_gsbyname
-#undef  pp_gsbyport    
-#define pp_gsbyport    CPerlObj::Perl_pp_gsbyport
-#undef  pp_gservent    
-#define pp_gservent    CPerlObj::Perl_pp_gservent
-#undef  pp_shostent    
-#define pp_shostent    CPerlObj::Perl_pp_shostent
-#undef  pp_snetent     
-#define pp_snetent     CPerlObj::Perl_pp_snetent
-#undef  pp_sprotoent   
-#define pp_sprotoent   CPerlObj::Perl_pp_sprotoent
-#undef  pp_sservent    
-#define pp_sservent    CPerlObj::Perl_pp_sservent
-#undef  pp_ehostent    
-#define pp_ehostent    CPerlObj::Perl_pp_ehostent
-#undef  pp_enetent     
-#define pp_enetent     CPerlObj::Perl_pp_enetent
-#undef  pp_eprotoent   
-#define pp_eprotoent   CPerlObj::Perl_pp_eprotoent
-#undef  pp_eservent    
-#define pp_eservent    CPerlObj::Perl_pp_eservent
-#undef  pp_gpwnam      
-#define pp_gpwnam      CPerlObj::Perl_pp_gpwnam
-#undef  pp_gpwuid      
-#define pp_gpwuid      CPerlObj::Perl_pp_gpwuid
-#undef  pp_gpwent      
-#define pp_gpwent      CPerlObj::Perl_pp_gpwent
-#undef  pp_spwent      
-#define pp_spwent      CPerlObj::Perl_pp_spwent
-#undef  pp_epwent      
-#define pp_epwent      CPerlObj::Perl_pp_epwent
-#undef  pp_ggrnam      
-#define pp_ggrnam      CPerlObj::Perl_pp_ggrnam
-#undef  pp_ggrgid      
-#define pp_ggrgid      CPerlObj::Perl_pp_ggrgid
-#undef  pp_ggrent      
-#define pp_ggrent      CPerlObj::Perl_pp_ggrent
-#undef  pp_sgrent      
-#define pp_sgrent      CPerlObj::Perl_pp_sgrent
-#undef  pp_egrent      
-#define pp_egrent      CPerlObj::Perl_pp_egrent
-#undef  pp_getlogin    
-#define pp_getlogin    CPerlObj::Perl_pp_getlogin
-#undef  pp_syscall     
-#define pp_syscall     CPerlObj::Perl_pp_syscall
-#undef  pp_lock                
-#define pp_lock                CPerlObj::Perl_pp_lock  
-#undef  pp_threadsv    
-#define pp_threadsv    CPerlObj::Perl_pp_threadsv
-
-OP * (CPERLscope(*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_rfun,        /* 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 */
-};
-
-OP * (CPERLscope(*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,
-};
-
-int
-fprintf(PerlIO *stream, const char *format, ...)
-{
-    va_list(arglist);
-    va_start(arglist, format);
-    return PerlIO_vprintf(stream, format, arglist);
-}
 
 #undef PERLVAR
 #define PERLVAR(x, y)
@@ -1454,6 +48,14 @@ 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)
diff --git a/globvar.sym b/globvar.sym
new file mode 100644 (file)
index 0000000..91329ca
--- /dev/null
@@ -0,0 +1,68 @@
+# Global variables that must be exported for embedded applications.
+
+# *** Only structures/arrays with constant initializers should go here.
+# *** Usual globals initialized at runtime should be added in *var*.h.
+# *** Do NOT add functions here, those go in global.sym.
+
+AMG_names
+block_type
+fold
+fold_locale
+freq
+warn_uninit
+warn_nosemi
+warn_reserved
+warn_nl
+no_wrongref
+no_symref
+no_usym
+no_aelem
+no_helem
+no_modify
+no_mem
+no_security
+no_sock_func
+no_dir_func
+no_func
+no_myglob
+check
+op_desc
+op_name
+opargs
+ppaddr
+sig_name
+sig_num
+psig_name
+psig_ptr
+regkind
+simple
+varies
+vtbl_sv
+vtbl_env
+vtbl_envelem
+vtbl_sig
+vtbl_sigelem
+vtbl_pack
+vtbl_packelem
+vtbl_dbline
+vtbl_isa
+vtbl_isaelem
+vtbl_arylen
+vtbl_glob
+vtbl_mglob
+vtbl_nkeys
+vtbl_taint
+vtbl_substr
+vtbl_vec
+vtbl_pos
+vtbl_bm
+vtbl_fm
+vtbl_uvar
+vtbl_mutex
+vtbl_defelem
+vtbl_regexp
+vtbl_regdata
+vtbl_regdatum
+vtbl_collxfrm
+vtbl_amagic
+vtbl_amagicelem
diff --git a/gv.c b/gv.c
index a3e8d88..1d24fa4 100644 (file)
--- a/gv.c
+++ b/gv.c
@@ -670,13 +670,13 @@ gv_fetchpv(char *nambeg, I32 add, I32 sv_type)
            GvMULTI_on(PL_siggv);
            hv = GvHVn(PL_siggv);
            hv_magic(hv, PL_siggv, 'S');
-           for(i=1;sig_name[i];i++) {
+           for(i=1;PL_sig_name[i];i++) {
                SV ** init;
-               init=hv_fetch(hv,sig_name[i],strlen(sig_name[i]),1);
+               init=hv_fetch(hv,PL_sig_name[i],strlen(PL_sig_name[i]),1);
                if(init)
                        sv_setsv(*init,&PL_sv_undef);
-               psig_ptr[i] = 0;
-               psig_name[i] = 0;
+               PL_psig_ptr[i] = 0;
+               PL_psig_name[i] = 0;
            }
        }
        break;
@@ -1046,16 +1046,16 @@ Gv_AMupdate(HV *stash)
     SV* sv;
     SV** svp;
 
-    /* Work with "fallback" key, which we assume to be first in AMG_names */
+    /* Work with "fallback" key, which we assume to be first in PL_AMG_names */
 
-    if (( cp = (char *)AMG_names[0] ) &&
+    if (( cp = (char *)PL_AMG_names[0] ) &&
        (svp = (SV**)hv_fetch(hv,cp,strlen(cp),FALSE)) && (sv = *svp)) {
       if (SvTRUE(sv)) amt.fallback=AMGfallYES;
       else if (SvOK(sv)) amt.fallback=AMGfallNEVER;
     }
     for (i = 1; i < NofAMmeth; i++) {
       cv = 0;
-      cp = (char *)AMG_names[i];
+      cp = (char *)PL_AMG_names[i];
       
         svp = (SV**)hv_fetch(hv, cp, strlen(cp), FALSE);
         if (svp && ((sv = *svp) != &PL_sv_undef)) {
@@ -1098,9 +1098,9 @@ Gv_AMupdate(HV *stash)
     SV* sv = NULL;
     SV** svp;
 
-    /* Work with "fallback" key, which we assume to be first in AMG_names */
+    /* Work with "fallback" key, which we assume to be first in PL_AMG_names */
 
-    if ( cp = AMG_names[0] ) {
+    if ( cp = PL_AMG_names[0] ) {
        /* Try to find via inheritance. */
        gv = gv_fetchmeth(stash, "()", 2, -1); /* A cookie: "()". */
        if (gv) sv = GvSV(gv);
@@ -1111,7 +1111,7 @@ Gv_AMupdate(HV *stash)
     }
 
     for (i = 1; i < NofAMmeth; i++) {
-       SV *cookie = sv_2mortal(newSVpvf("(%s", cp = AMG_names[i]));
+       SV *cookie = sv_2mortal(newSVpvf("(%s", cp = PL_AMG_names[i]));
        DEBUG_o( deb("Checking overloading of `%s' in package `%.256s'\n",
                     cp, HvNAME(stash)) );
        /* don't fill the cache while looking up! */
@@ -1324,7 +1324,7 @@ amagic_call(SV *left, SV *right, int method, int flags)
        if (off==-1) off=method;
        msg = sv_2mortal(newSVpvf(
                      "Operation `%s': no method found,%sargument %s%s%s%s",
-                     AMG_names[method + assignshift],
+                     PL_AMG_names[method + assignshift],
                      (flags & AMGf_unary ? " " : "\n\tleft "),
                      SvAMAGIC(left)? 
                        "in overloaded package ":
@@ -1353,11 +1353,11 @@ amagic_call(SV *left, SV *right, int method, int flags)
   if (!notfound) {
     DEBUG_o( deb(
   "Overloaded operator `%s'%s%s%s:\n\tmethod%s found%s in package %s%s\n",
-                AMG_names[off],
+                PL_AMG_names[off],
                 method+assignshift==off? "" :
                             " (initially `",
                 method+assignshift==off? "" :
-                            AMG_names[method+assignshift],
+                            PL_AMG_names[method+assignshift],
                 method+assignshift==off? "" : "')",
                 flags & AMGf_unary? "" :
                   lr==1 ? " for right argument": " for left argument",
@@ -1417,7 +1417,7 @@ amagic_call(SV *left, SV *right, int method, int flags)
     PUSHs(lr>0? left: right);
     PUSHs( lr > 0 ? &PL_sv_yes : ( assign ? &PL_sv_undef : &PL_sv_no ));
     if (notfound) {
-      PUSHs( sv_2mortal(newSVpv((char *)AMG_names[method + assignshift],0)) );
+      PUSHs( sv_2mortal(newSVpv((char *)PL_AMG_names[method + assignshift],0)));
     }
     PUSHs((SV*)cv);
     PUTBACK;
index 1b75b67..13f20ff 100644 (file)
--- a/malloc.c
+++ b/malloc.c
@@ -1254,7 +1254,7 @@ free(void *mp)
  * is extern so the caller can modify it).  If that fails we just copy
  * however many bytes was given to realloc() and hope it's not huge.
  */
-int reall_srchlen = 4; /* 4 should be plenty, -1 =>'s whole list */
+#define reall_srchlen  4       /* 4 should be plenty, -1 =>'s whole list */
 
 Malloc_t
 realloc(void *mp, size_t nbytes)
diff --git a/mg.c b/mg.c
index 2906a4c..743ee4a 100644 (file)
--- a/mg.c
+++ b/mg.c
@@ -905,8 +905,8 @@ magic_getsig(SV *sv, MAGIC *mg)
     /* Are we fetching a signal entry? */
     i = whichsig(MgPV(mg,PL_na));
     if (i) {
-       if(psig_ptr[i])
-           sv_setsv(sv,psig_ptr[i]);
+       if(PL_psig_ptr[i])
+           sv_setsv(sv,PL_psig_ptr[i]);
        else {
            Sighandler_t sigstate = rsignal_state(i);
 
@@ -915,7 +915,7 @@ magic_getsig(SV *sv, MAGIC *mg)
                sv_setpv(sv,"IGNORE");
            else
                sv_setsv(sv,&PL_sv_undef);
-           psig_ptr[i] = SvREFCNT_inc(sv);
+           PL_psig_ptr[i] = SvREFCNT_inc(sv);
            SvTEMP_off(sv);
        }
     }
@@ -928,13 +928,13 @@ magic_clearsig(SV *sv, MAGIC *mg)
     /* Are we clearing a signal entry? */
     i = whichsig(MgPV(mg,PL_na));
     if (i) {
-       if(psig_ptr[i]) {
-           SvREFCNT_dec(psig_ptr[i]);
-           psig_ptr[i]=0;
+       if(PL_psig_ptr[i]) {
+           SvREFCNT_dec(PL_psig_ptr[i]);
+           PL_psig_ptr[i]=0;
        }
-       if(psig_name[i]) {
-           SvREFCNT_dec(psig_name[i]);
-           psig_name[i]=0;
+       if(PL_psig_name[i]) {
+           SvREFCNT_dec(PL_psig_name[i]);
+           PL_psig_name[i]=0;
        }
     }
     return 0;
@@ -971,12 +971,12 @@ magic_setsig(SV *sv, MAGIC *mg)
                warner(WARN_SIGNAL, "No such signal: SIG%s", s);
            return 0;
        }
-       SvREFCNT_dec(psig_name[i]);
-       SvREFCNT_dec(psig_ptr[i]);
-       psig_ptr[i] = SvREFCNT_inc(sv);
+       SvREFCNT_dec(PL_psig_name[i]);
+       SvREFCNT_dec(PL_psig_ptr[i]);
+       PL_psig_ptr[i] = SvREFCNT_inc(sv);
        SvTEMP_off(sv); /* Make sure it doesn't go away on us */
-       psig_name[i] = newSVpv(s, strlen(s));
-       SvREADONLY_on(psig_name[i]);
+       PL_psig_name[i] = newSVpv(s, strlen(s));
+       SvREADONLY_on(PL_psig_name[i]);
     }
     if (SvTYPE(sv) == SVt_PVGV || SvROK(sv)) {
        if (i)
@@ -1548,7 +1548,7 @@ vivify_defelem(SV *sv)
                value = *svp;
        }
        if (!value || value == &PL_sv_undef)
-           croak(no_helem, SvPV(mg->mg_obj, PL_na));
+           croak(PL_no_helem, SvPV(mg->mg_obj, PL_na));
     }
     else {
        AV* av = (AV*)LvTARG(sv);
@@ -1557,7 +1557,7 @@ vivify_defelem(SV *sv)
        else {
            SV** svp = av_fetch(av, LvTARGOFF(sv), TRUE);
            if (!svp || (value = *svp) == &PL_sv_undef)
-               croak(no_aelem, (I32)LvTARGOFF(sv));
+               croak(PL_no_aelem, (I32)LvTARGOFF(sv));
        }
     }
     (void)SvREFCNT_inc(value);
@@ -2019,9 +2019,9 @@ whichsig(char *sig)
 {
     register char **sigv;
 
-    for (sigv = sig_name+1; *sigv; sigv++)
+    for (sigv = PL_sig_name+1; *sigv; sigv++)
        if (strEQ(sig,*sigv))
-           return sig_num[sigv - sig_name];
+           return PL_sig_num[sigv - PL_sig_name];
 #ifdef SIGCLD
     if (strEQ(sig,"CHLD"))
        return SIGCLD;
@@ -2070,9 +2070,9 @@ sighandler(int sig)
     if (PL_scopestack_ix < PL_scopestack_max - 3)
        flags |= 16;
 
-    if (!psig_ptr[sig])
+    if (!PL_psig_ptr[sig])
        die("Signal SIG%s received, but no signal handler set.\n",
-           sig_name[sig]);
+           PL_sig_name[sig]);
 
     /* Max number of items pushed there is 3*n or 4. We cannot fix
        infinity, so we fix 4 (in fact 5): */
@@ -2090,27 +2090,27 @@ sighandler(int sig)
     if (flags & 16)
        PL_scopestack_ix += 1;
     /* sv_2cv is too complicated, try a simpler variant first: */
-    if (!SvROK(psig_ptr[sig]) || !(cv = (CV*)SvRV(psig_ptr[sig])) 
+    if (!SvROK(PL_psig_ptr[sig]) || !(cv = (CV*)SvRV(PL_psig_ptr[sig])) 
        || SvTYPE(cv) != SVt_PVCV)
-       cv = sv_2cv(psig_ptr[sig],&st,&gv,TRUE);
+       cv = sv_2cv(PL_psig_ptr[sig],&st,&gv,TRUE);
 
     if (!cv || !CvROOT(cv)) {
        if (ckWARN(WARN_SIGNAL))
            warner(WARN_SIGNAL, "SIG%s handler \"%s\" not defined.\n",
-               sig_name[sig], (gv ? GvENAME(gv)
+               PL_sig_name[sig], (gv ? GvENAME(gv)
                                : ((cv && CvGV(cv))
                                   ? GvENAME(CvGV(cv))
                                   : "__ANON__")));
        goto cleanup;
     }
 
-    if(psig_name[sig]) {
-       sv = SvREFCNT_inc(psig_name[sig]);
+    if(PL_psig_name[sig]) {
+       sv = SvREFCNT_inc(PL_psig_name[sig]);
        flags |= 64;
        sig_sv = sv;
     } else {
        sv = sv_newmortal();
-       sv_setpv(sv,sig_name[sig]);
+       sv_setpv(sv,PL_sig_name[sig]);
     }
 
     PUSHSTACKi(PERLSI_SIGNAL);
index a88cff7..315e710 100644 (file)
--- a/objXSUB.h
+++ b/objXSUB.h
 #undef  fold_constants
 #define fold_constants      pPerl->Perl_fold_constants
 #undef  fprintf
-#define fprintf             pPerl->fprintf
+#define fprintf             pPerl->Perl_fprintf
 #undef  free_tmps
 #define free_tmps           pPerl->Perl_free_tmps
 #undef  gen_constant_list
 #define peep                pPerl->Perl_peep
 #undef  perl_atexit
 #define perl_atexit         pPerl->perl_atexit
+#undef  perl_free
+#define perl_free         pPerl->perl_free
+#undef  perl_construct
+#define perl_construct         pPerl->perl_construct
+#undef  perl_destruct
+#define perl_destruct         pPerl->perl_destruct
+#undef  perl_parse
+#define perl_parse         pPerl->perl_parse
+#undef  perl_run
+#define perl_run         pPerl->perl_run
 #undef  perl_call_argv
 #define perl_call_argv      pPerl->perl_call_argv
 #undef  perl_call_method
diff --git a/objpp.h b/objpp.h
deleted file mode 100644 (file)
index 039ac4f..0000000
--- a/objpp.h
+++ /dev/null
@@ -1,1611 +0,0 @@
-#ifndef __Objpp_h__
-#define __Objpp_h__
-
-#undef  amagic_call
-#define amagic_call       CPerlObj::Perl_amagic_call
-#undef  Gv_AMupdate
-#define Gv_AMupdate       CPerlObj::Perl_Gv_AMupdate
-#undef  add_data
-#define add_data          CPerlObj::add_data
-#undef  ao
-#define ao                CPerlObj::ao
-#undef  append_elem
-#define append_elem       CPerlObj::Perl_append_elem
-#undef  append_list
-#define append_list       CPerlObj::Perl_append_list
-#undef  apply
-#define apply             CPerlObj::Perl_apply
-#undef  asIV
-#define asIV              CPerlObj::asIV
-#undef  asUV
-#define asUV              CPerlObj::asUV
-#undef  assertref
-#define assertref         CPerlObj::Perl_assertref
-#undef  av_clear
-#define av_clear          CPerlObj::Perl_av_clear
-#undef  av_extend
-#define av_extend         CPerlObj::Perl_av_extend
-#undef  av_fake
-#define av_fake           CPerlObj::Perl_av_fake
-#undef  av_fetch
-#define av_fetch          CPerlObj::Perl_av_fetch
-#undef  av_fill
-#define av_fill           CPerlObj::Perl_av_fill
-#undef  av_len
-#define av_len            CPerlObj::Perl_av_len
-#undef  av_make
-#define av_make           CPerlObj::Perl_av_make
-#undef  av_pop
-#define av_pop            CPerlObj::Perl_av_pop
-#undef  av_push
-#define av_push           CPerlObj::Perl_av_push
-#undef  av_shift
-#define av_shift          CPerlObj::Perl_av_shift
-#undef  av_reify
-#define av_reify          CPerlObj::Perl_av_reify
-#undef  av_store
-#define av_store          CPerlObj::Perl_av_store
-#undef  av_undef 
-#define av_undef          CPerlObj::Perl_av_undef 
-#undef  av_unshift
-#define av_unshift        CPerlObj::Perl_av_unshift
-#undef  avhv_keys
-#define avhv_keys         CPerlObj::Perl_avhv_keys
-#undef  avhv_fetch_ent
-#define avhv_fetch_ent    CPerlObj::Perl_avhv_fetch_ent
-#undef  avhv_exists_ent
-#define avhv_exists_ent   CPerlObj::Perl_avhv_exists_ent
-#undef  avhv_index_sv
-#define avhv_index_sv     CPerlObj::avhv_index_sv
-#undef  avhv_iternext
-#define avhv_iternext     CPerlObj::Perl_avhv_iternext
-#undef  avhv_iterval
-#define avhv_iterval      CPerlObj::Perl_avhv_iterval
-#undef  bad_type
-#define bad_type          CPerlObj::bad_type
-#undef  bind_match
-#define bind_match        CPerlObj::Perl_bind_match
-#undef  block_end
-#define block_end         CPerlObj::Perl_block_end
-#undef  block_gimme
-#define block_gimme       CPerlObj::Perl_block_gimme
-#undef  block_start
-#define block_start       CPerlObj::Perl_block_start
-#undef  bset_obj_store
-#define bset_obj_store    CPerlObj::Perl_bset_obj_store
-#undef  byterun
-#define byterun           CPerlObj::Perl_byterun
-#undef  call_list
-#define call_list         CPerlObj::Perl_call_list
-#undef  cando
-#define cando             CPerlObj::Perl_cando
-#undef  cast_ulong
-#define cast_ulong        CPerlObj::cast_ulong
-#undef  checkcomma
-#define checkcomma        CPerlObj::Perl_checkcomma
-#undef  check_uni
-#define check_uni         CPerlObj::Perl_check_uni
-#undef  ck_anoncode
-#define ck_anoncode       CPerlObj::Perl_ck_anoncode
-#undef  ck_bitop
-#define ck_bitop          CPerlObj::Perl_ck_bitop
-#undef  ck_concat
-#define ck_concat         CPerlObj::Perl_ck_concat
-#undef  ck_delete
-#define ck_delete         CPerlObj::Perl_ck_delete
-#undef  ck_eof
-#define ck_eof            CPerlObj::Perl_ck_eof
-#undef  ck_eval
-#define ck_eval           CPerlObj::Perl_ck_eval
-#undef  ck_exec
-#define ck_exec           CPerlObj::Perl_ck_exec
-#undef  ck_exists
-#define ck_exists         CPerlObj::Perl_ck_exists
-#undef  ck_formline
-#define ck_formline       CPerlObj::Perl_ck_formline
-#undef  ck_ftst
-#define ck_ftst           CPerlObj::Perl_ck_ftst
-#undef  ck_fun
-#define ck_fun            CPerlObj::Perl_ck_fun
-#undef  ck_fun_locale
-#define ck_fun_locale     CPerlObj::Perl_ck_fun_locale
-#undef  ck_glob
-#define ck_glob           CPerlObj::Perl_ck_glob
-#undef  ck_grep
-#define ck_grep           CPerlObj::Perl_ck_grep
-#undef  ck_gvconst
-#define ck_gvconst        CPerlObj::Perl_ck_gvconst
-#undef  ck_index
-#define ck_index          CPerlObj::Perl_ck_index
-#undef  ck_lengthconst
-#define ck_lengthconst    CPerlObj::Perl_ck_lengthconst
-#undef  ck_lfun
-#define ck_lfun           CPerlObj::Perl_ck_lfun
-#undef  ck_listiob
-#define ck_listiob        CPerlObj::Perl_ck_listiob
-#undef  ck_match
-#define ck_match          CPerlObj::Perl_ck_match
-#undef  ck_null
-#define ck_null           CPerlObj::Perl_ck_null
-#undef  ck_repeat
-#define ck_repeat         CPerlObj::Perl_ck_repeat
-#undef  ck_require
-#define ck_require        CPerlObj::Perl_ck_require
-#undef  ck_retarget
-#define ck_retarget       CPerlObj::Perl_ck_retarget
-#undef  ck_rfun
-#define ck_rfun           CPerlObj::Perl_ck_rfun
-#undef  ck_rvconst
-#define ck_rvconst        CPerlObj::Perl_ck_rvconst
-#undef  ck_scmp
-#define ck_scmp           CPerlObj::Perl_ck_scmp
-#undef  ck_select
-#define ck_select         CPerlObj::Perl_ck_select
-#undef  ck_shift
-#define ck_shift          CPerlObj::Perl_ck_shift
-#undef  ck_sort
-#define ck_sort           CPerlObj::Perl_ck_sort
-#undef  ck_spair
-#define ck_spair          CPerlObj::Perl_ck_spair
-#undef  ck_split
-#define ck_split          CPerlObj::Perl_ck_split
-#undef  ck_subr
-#define ck_subr           CPerlObj::Perl_ck_subr
-#undef  ck_svconst
-#define ck_svconst        CPerlObj::Perl_ck_svconst
-#undef  ck_trunc
-#define ck_trunc          CPerlObj::Perl_ck_trunc
-#undef  convert
-#define convert           CPerlObj::Perl_convert
-#undef  cpytill
-#define cpytill           CPerlObj::Perl_cpytill
-#undef  croak
-#define croak             CPerlObj::Perl_croak
-#undef  cv_ckproto
-#define cv_ckproto        CPerlObj::Perl_cv_ckproto
-#undef  cv_clone
-#define cv_clone          CPerlObj::Perl_cv_clone
-#undef  cv_clone2
-#define cv_clone2         CPerlObj::cv_clone2
-#undef  cv_const_sv
-#define cv_const_sv       CPerlObj::Perl_cv_const_sv
-#undef  cv_undef 
-#define cv_undef          CPerlObj::Perl_cv_undef 
-#undef  cx_dump
-#define cx_dump           CPerlObj::Perl_cx_dump
-#undef  cxinc
-#define cxinc             CPerlObj::Perl_cxinc
-#undef  deb
-#define deb               CPerlObj::Perl_deb
-#undef  deb_growlevel
-#define deb_growlevel     CPerlObj::Perl_deb_growlevel
-#undef  debop
-#define debop             CPerlObj::Perl_debop
-#undef  debstackptrs
-#define debstackptrs      CPerlObj::Perl_debstackptrs
-#undef  debprof
-#define debprof           CPerlObj::debprof
-#undef  debprofdump
-#define debprofdump       CPerlObj::Perl_debprofdump
-#undef  debstack
-#define debstack          CPerlObj::Perl_debstack
-#undef  del_sv
-#define del_sv            CPerlObj::del_sv
-#undef  del_xiv
-#define del_xiv           CPerlObj::del_xiv
-#undef  del_xnv
-#define del_xnv           CPerlObj::del_xnv
-#undef  del_xpv
-#define del_xpv           CPerlObj::del_xpv
-#undef  del_xrv
-#define del_xrv           CPerlObj::del_xrv
-#undef  delimcpy
-#define delimcpy          CPerlObj::Perl_delimcpy
-#undef  depcom
-#define depcom            CPerlObj::depcom
-#undef  deprecate
-#define deprecate         CPerlObj::Perl_deprecate
-#undef  die
-#define die               CPerlObj::Perl_die
-#undef  die_where
-#define die_where         CPerlObj::Perl_die_where
-#undef  div128
-#define div128            CPerlObj::div128
-#undef  doencodes
-#define doencodes         CPerlObj::doencodes
-#undef  doeval
-#define doeval            CPerlObj::doeval
-#undef  doform
-#define doform            CPerlObj::doform
-#undef  dofindlabel
-#define dofindlabel       CPerlObj::Perl_dofindlabel
-#undef  doparseform
-#define doparseform       CPerlObj::doparseform
-#undef  dopoptoeval
-#define dopoptoeval       CPerlObj::Perl_dopoptoeval
-#undef  dopoptolabel
-#define dopoptolabel      CPerlObj::dopoptolabel
-#undef  dopoptoloop
-#define dopoptoloop       CPerlObj::dopoptoloop
-#undef  dopoptosub
-#define dopoptosub        CPerlObj::dopoptosub
-#undef  dopoptosub_at
-#define dopoptosub_at     CPerlObj::dopoptosub_at
-#undef  dounwind
-#define dounwind          CPerlObj::Perl_dounwind
-#undef  do_aexec
-#define do_aexec          CPerlObj::Perl_do_aexec
-#undef  do_aspawn
-#define do_aspawn         CPerlObj::do_aspawn
-#undef  do_binmode
-#define do_binmode        CPerlObj::Perl_do_binmode
-#undef  do_chop
-#define do_chop           CPerlObj::Perl_do_chop
-#undef  do_close
-#define do_close          CPerlObj::Perl_do_close
-#undef  do_eof
-#define do_eof            CPerlObj::Perl_do_eof
-#undef  do_exec
-#define do_exec           CPerlObj::Perl_do_exec
-#undef  do_execfree
-#define do_execfree       CPerlObj::Perl_do_execfree
-#undef  do_ipcctl
-#define do_ipcctl         CPerlObj::Perl_do_ipcctl
-#undef  do_ipcget
-#define do_ipcget         CPerlObj::Perl_do_ipcget
-#undef  do_join
-#define do_join           CPerlObj::Perl_do_join
-#undef  do_kv
-#define do_kv             CPerlObj::Perl_do_kv
-#undef  do_msgrcv
-#define do_msgrcv         CPerlObj::Perl_do_msgrcv
-#undef  do_msgsnd
-#define do_msgsnd         CPerlObj::Perl_do_msgsnd
-#undef  do_open
-#define do_open           CPerlObj::Perl_do_open
-#undef  do_pipe
-#define do_pipe           CPerlObj::Perl_do_pipe
-#undef  do_print
-#define do_print          CPerlObj::Perl_do_print
-#undef  do_readline
-#define do_readline       CPerlObj::Perl_do_readline
-#undef  do_chomp
-#define do_chomp          CPerlObj::Perl_do_chomp
-#undef  do_seek
-#define do_seek           CPerlObj::Perl_do_seek
-#undef  do_semop
-#define do_semop          CPerlObj::Perl_do_semop
-#undef  do_shmio
-#define do_shmio          CPerlObj::Perl_do_shmio
-#undef  do_sprintf
-#define do_sprintf        CPerlObj::Perl_do_sprintf
-#undef  do_sysseek
-#define do_sysseek        CPerlObj::Perl_do_sysseek
-#undef  do_tell
-#define do_tell           CPerlObj::Perl_do_tell
-#undef  do_trans
-#define do_trans          CPerlObj::Perl_do_trans
-#undef  do_vecset
-#define do_vecset         CPerlObj::Perl_do_vecset
-#undef  do_vop
-#define do_vop            CPerlObj::Perl_do_vop
-#undef  do_clean_all
-#define do_clean_all      CPerlObj::do_clean_all
-#undef  do_clean_named_objs
-#define do_clean_named_objs   CPerlObj::do_clean_named_objs
-#undef  do_clean_objs
-#define do_clean_objs     CPerlObj::do_clean_objs
-#undef  do_report_used
-#define do_report_used    CPerlObj::do_report_used
-#undef  docatch
-#define docatch           CPerlObj::docatch
-#undef  dofile
-#define dofile            CPerlObj::Perl_dofile
-#undef  dowantarray
-#define dowantarray       CPerlObj::Perl_dowantarray
-#undef  dump
-#define dump              CPerlObj::dump
-#undef  dump_all
-#define dump_all          CPerlObj::Perl_dump_all
-#undef  dump_eval
-#define dump_eval         CPerlObj::Perl_dump_eval
-#undef  dump_fds
-#define dump_fds          CPerlObj::Perl_dump_fds
-#undef  dump_form
-#define dump_form         CPerlObj::Perl_dump_form
-#undef  dump_gv
-#define dump_gv           CPerlObj::Perl_dump_gv
-#undef  dump_mstats
-#define dump_mstats       CPerlObj::Perl_dump_mstats
-#undef  dump_op
-#define dump_op           CPerlObj::Perl_dump_op
-#undef  dump_pm
-#define dump_pm           CPerlObj::Perl_dump_pm
-#undef  dump_packsubs
-#define dump_packsubs     CPerlObj::Perl_dump_packsubs
-#undef  dump_sub
-#define dump_sub          CPerlObj::Perl_dump_sub
-#undef  dumpuntil
-#define dumpuntil         CPerlObj::dumpuntil
-#undef  emulate_eaccess
-#define emulate_eaccess   CPerlObj::emulate_eaccess
-#undef  fbm_compile
-#define fbm_compile       CPerlObj::Perl_fbm_compile
-#undef  fbm_instr
-#define fbm_instr         CPerlObj::Perl_fbm_instr
-#undef  filter_add
-#define filter_add        CPerlObj::Perl_filter_add
-#undef  filter_del
-#define filter_del        CPerlObj::Perl_filter_del
-#undef  filter_gets
-#define filter_gets       CPerlObj::filter_gets
-#undef  filter_read
-#define filter_read       CPerlObj::Perl_filter_read
-#undef  find_beginning
-#define find_beginning    CPerlObj::find_beginning
-#undef  find_script
-#define find_script       CPerlObj::Perl_find_script
-#undef  forbid_setid
-#define forbid_setid      CPerlObj::forbid_setid
-#undef  force_ident
-#define force_ident       CPerlObj::Perl_force_ident
-#undef  force_list
-#define force_list        CPerlObj::Perl_force_list
-#undef  force_next
-#define force_next        CPerlObj::Perl_force_next
-#undef  force_word
-#define force_word        CPerlObj::Perl_force_word
-#undef  force_version
-#define force_version     CPerlObj::force_version
-#undef  form
-#define form              CPerlObj::Perl_form
-#undef  fold_constants
-#define fold_constants    CPerlObj::Perl_fold_constants
-#undef  fprintf
-#define fprintf           CPerlObj::fprintf
-#undef  free_tmps
-#define free_tmps         CPerlObj::Perl_free_tmps
-#undef  gen_constant_list
-#define gen_constant_list CPerlObj::Perl_gen_constant_list
-#undef  get_db_sub
-#define get_db_sub        CPerlObj::get_db_sub
-#undef  get_op_descs
-#define get_op_descs      CPerlObj::Perl_get_op_descs
-#undef  get_op_names
-#define get_op_names      CPerlObj::Perl_get_op_names
-#undef  get_no_modify
-#define get_no_modify     CPerlObj::Perl_get_no_modify
-#undef  get_opargs
-#define get_opargs        CPerlObj::Perl_get_opargs
-#undef  get_specialsv_list
-#define get_specialsv_list CPerlObj::Perl_get_specialsv_list
-#undef  getlogin
-#define getlogin          CPerlObj::getlogin
-#undef  gp_free
-#define gp_free           CPerlObj::Perl_gp_free
-#undef  gp_ref
-#define gp_ref            CPerlObj::Perl_gp_ref
-#undef  gv_autoload4
-#define gv_autoload4      CPerlObj::Perl_gv_autoload4
-#undef  gv_AVadd
-#define gv_AVadd          CPerlObj::Perl_gv_AVadd
-#undef  gv_HVadd
-#define gv_HVadd          CPerlObj::Perl_gv_HVadd
-#undef  gv_IOadd
-#define gv_IOadd          CPerlObj::Perl_gv_IOadd
-#undef  gv_check
-#define gv_check          CPerlObj::Perl_gv_check
-#undef  gv_efullname
-#define gv_efullname      CPerlObj::Perl_gv_efullname
-#undef  gv_efullname3
-#define gv_efullname3     CPerlObj::Perl_gv_efullname3
-#undef  gv_ename
-#define gv_ename          CPerlObj::gv_ename
-#undef  gv_fetchfile
-#define gv_fetchfile      CPerlObj::Perl_gv_fetchfile
-#undef  gv_fetchmeth
-#define gv_fetchmeth      CPerlObj::Perl_gv_fetchmeth
-#undef  gv_fetchmethod
-#define gv_fetchmethod    CPerlObj::Perl_gv_fetchmethod
-#undef  gv_fetchmethod_autoload
-#define gv_fetchmethod_autoload  CPerlObj::Perl_gv_fetchmethod_autoload
-#undef  gv_fetchpv
-#define gv_fetchpv        CPerlObj::Perl_gv_fetchpv
-#undef  gv_fullname
-#define gv_fullname       CPerlObj::Perl_gv_fullname
-#undef  gv_fullname3
-#define gv_fullname3      CPerlObj::Perl_gv_fullname3
-#undef  gv_init
-#define gv_init           CPerlObj::Perl_gv_init
-#undef  gv_init_sv
-#define gv_init_sv        CPerlObj::gv_init_sv
-#undef  gv_stashpv
-#define gv_stashpv        CPerlObj::Perl_gv_stashpv
-#undef  gv_stashpvn
-#define gv_stashpvn       CPerlObj::Perl_gv_stashpvn
-#undef  gv_stashsv
-#define gv_stashsv        CPerlObj::Perl_gv_stashsv
-#undef  he_delayfree
-#define he_delayfree      CPerlObj::Perl_he_delayfree
-#undef  he_free
-#define he_free           CPerlObj::Perl_he_free
-#undef  hfreeentries
-#define hfreeentries      CPerlObj::hfreeentries
-#undef  hoistmust
-#define hoistmust         CPerlObj::Perl_hoistmust
-#undef  hsplit
-#define hsplit            CPerlObj::hsplit
-#undef  hv_clear
-#define hv_clear          CPerlObj::Perl_hv_clear
-#undef  hv_delayfree_ent
-#define hv_delayfree_ent  CPerlObj::Perl_hv_delayfree_ent
-#undef  hv_delete
-#define hv_delete         CPerlObj::Perl_hv_delete
-#undef  hv_delete_ent
-#define hv_delete_ent     CPerlObj::Perl_hv_delete_ent
-#undef  hv_exists
-#define hv_exists         CPerlObj::Perl_hv_exists
-#undef  hv_exists_ent
-#define hv_exists_ent     CPerlObj::Perl_hv_exists_ent
-#undef  hv_free_ent
-#define hv_free_ent       CPerlObj::Perl_hv_free_ent
-#undef  hv_fetch
-#define hv_fetch          CPerlObj::Perl_hv_fetch
-#undef  hv_fetch_ent
-#define hv_fetch_ent      CPerlObj::Perl_hv_fetch_ent
-#undef  hv_iterinit
-#define hv_iterinit       CPerlObj::Perl_hv_iterinit
-#undef  hv_iterkey
-#define hv_iterkey        CPerlObj::Perl_hv_iterkey
-#undef  hv_iterkeysv
-#define hv_iterkeysv      CPerlObj::Perl_hv_iterkeysv
-#undef  hv_iternext
-#define hv_iternext       CPerlObj::Perl_hv_iternext
-#undef  hv_iternextsv
-#define hv_iternextsv     CPerlObj::Perl_hv_iternextsv
-#undef  hv_iterval
-#define hv_iterval        CPerlObj::Perl_hv_iterval
-#undef  hv_ksplit
-#define hv_ksplit         CPerlObj::Perl_hv_ksplit
-#undef  hv_magic
-#define hv_magic          CPerlObj::Perl_hv_magic
-#undef  hv_store
-#define hv_store          CPerlObj::Perl_hv_store
-#undef  hv_store_ent
-#define hv_store_ent      CPerlObj::Perl_hv_store_ent
-#undef  hv_undef 
-#define hv_undef          CPerlObj::Perl_hv_undef 
-#undef  ibcmp
-#define ibcmp             CPerlObj::Perl_ibcmp
-#undef  ibcmp_locale
-#define ibcmp_locale      CPerlObj::Perl_ibcmp_locale
-#undef  incpush
-#define incpush           CPerlObj::incpush
-#undef  incline
-#define incline           CPerlObj::incline
-#undef  incl_perldb
-#define incl_perldb       CPerlObj::incl_perldb
-#undef  ingroup
-#define ingroup           CPerlObj::Perl_ingroup
-#undef  init_debugger
-#define init_debugger     CPerlObj::init_debugger
-#undef  init_ids
-#define init_ids          CPerlObj::init_ids
-#undef  init_interp
-#define init_interp       CPerlObj::init_interp
-#undef  init_main_thread
-#define init_main_thread  CPerlObj::init_main_thread
-#undef  init_main_stash
-#define init_main_stash   CPerlObj::init_main_stash
-#undef  init_lexer
-#define init_lexer        CPerlObj::init_lexer
-#undef  init_perllib
-#define init_perllib      CPerlObj::init_perllib
-#undef  init_predump_symbols
-#define init_predump_symbols  CPerlObj::init_predump_symbols
-#undef  init_postdump_symbols
-#define init_postdump_symbols  CPerlObj::init_postdump_symbols
-#undef  init_stacks
-#define init_stacks       CPerlObj::Perl_init_stacks
-#undef  intro_my
-#define intro_my          CPerlObj::Perl_intro_my
-#undef  nuke_stacks
-#define nuke_stacks       CPerlObj::nuke_stacks
-#undef  instr
-#define instr             CPerlObj::Perl_instr
-#undef  intuit_method
-#define intuit_method     CPerlObj::intuit_method
-#undef  intuit_more
-#define intuit_more       CPerlObj::Perl_intuit_more
-#undef  invert
-#define invert            CPerlObj::Perl_invert
-#undef  is_uni_alnum
-#define is_uni_alnum        CPerlObj::Perl_is_uni_alnum
-#undef  is_uni_alnum_lc
-#define is_uni_alnum_lc     CPerlObj::Perl_is_uni_alnum_lc
-#undef  is_uni_alpha
-#define is_uni_alpha        CPerlObj::Perl_is_uni_alpha
-#undef  is_uni_alpha_lc
-#define is_uni_alpha_lc     CPerlObj::Perl_is_uni_alpha_lc
-#undef  is_uni_digit
-#define is_uni_digit        CPerlObj::Perl_is_uni_digit
-#undef  is_uni_digit_lc
-#define is_uni_digit_lc     CPerlObj::Perl_is_uni_digit_lc
-#undef  is_uni_idfirst
-#define is_uni_idfirst      CPerlObj::Perl_is_uni_idfirst
-#undef  is_uni_idfirst_lc
-#define is_uni_idfirst_lc   CPerlObj::Perl_is_uni_idfirst_lc
-#undef  is_uni_lower
-#define is_uni_lower        CPerlObj::Perl_is_uni_lower
-#undef  is_uni_lower_lc
-#define is_uni_lower_lc     CPerlObj::Perl_is_uni_lower_lc
-#undef  is_uni_print
-#define is_uni_print        CPerlObj::Perl_is_uni_print
-#undef  is_uni_print_lc
-#define is_uni_print_lc     CPerlObj::Perl_is_uni_print_lc
-#undef  is_uni_space
-#define is_uni_space        CPerlObj::Perl_is_uni_space
-#undef  is_uni_space_lc
-#define is_uni_space_lc     CPerlObj::Perl_is_uni_space_lc
-#undef  is_uni_upper
-#define is_uni_upper        CPerlObj::Perl_is_uni_upper
-#undef  is_uni_upper_lc
-#define is_uni_upper_lc     CPerlObj::Perl_is_uni_upper_lc
-#undef  is_utf8_alnum
-#define is_utf8_alnum       CPerlObj::Perl_is_utf8_alnum
-#undef  is_utf8_alpha
-#define is_utf8_alpha       CPerlObj::Perl_is_utf8_alpha
-#undef  is_utf8_digit
-#define is_utf8_digit       CPerlObj::Perl_is_utf8_digit
-#undef  is_utf8_idfirst
-#define is_utf8_idfirst     CPerlObj::Perl_is_utf8_idfirst
-#undef  is_utf8_lower
-#define is_utf8_lower       CPerlObj::Perl_is_utf8_lower
-#undef  is_utf8_mark
-#define is_utf8_mark        CPerlObj::Perl_is_utf8_mark
-#undef  is_utf8_print
-#define is_utf8_print       CPerlObj::Perl_is_utf8_print
-#undef  is_utf8_space
-#define is_utf8_space       CPerlObj::Perl_is_utf8_space
-#undef  is_utf8_upper
-#define is_utf8_upper       CPerlObj::Perl_is_utf8_upper
-
-#undef  io_close
-#define io_close          CPerlObj::Perl_io_close
-#undef  is_an_int
-#define is_an_int         CPerlObj::is_an_int
-#undef  isa_lookup
-#define isa_lookup        CPerlObj::isa_lookup
-#undef  jmaybe
-#define jmaybe            CPerlObj::Perl_jmaybe
-#undef  keyword
-#define keyword           CPerlObj::Perl_keyword
-#undef  leave_scope
-#define leave_scope       CPerlObj::Perl_leave_scope
-#undef  lex_end
-#define lex_end           CPerlObj::Perl_lex_end
-#undef  lex_start
-#define lex_start         CPerlObj::Perl_lex_start
-#undef  linklist
-#define linklist          CPerlObj::Perl_linklist
-#undef  list
-#define list              CPerlObj::Perl_list
-#undef  list_assignment
-#define list_assignment   CPerlObj::list_assignment
-#undef  listkids
-#define listkids          CPerlObj::Perl_listkids
-#undef  lop
-#define lop               CPerlObj::lop
-#undef  localize
-#define localize          CPerlObj::Perl_localize
-#undef  looks_like_number
-#define looks_like_number CPerlObj::Perl_looks_like_number
-#undef  magic_clearenv
-#define magic_clearenv    CPerlObj::Perl_magic_clearenv
-#undef  magic_clear_all_env
-#define magic_clear_all_env CPerlObj::Perl_magic_clear_all_env
-#undef  magic_clearpack
-#define magic_clearpack   CPerlObj::Perl_magic_clearpack
-#undef  magic_clearsig
-#define magic_clearsig    CPerlObj::Perl_magic_clearsig
-#undef  magic_existspack
-#define magic_existspack  CPerlObj::Perl_magic_existspack
-#undef  magic_freeregexp
-#define magic_freeregexp  CPerlObj::Perl_magic_freeregexp
-#undef  magic_get
-#define magic_get         CPerlObj::Perl_magic_get
-#undef  magic_getarylen
-#define magic_getarylen   CPerlObj::Perl_magic_getarylen
-#undef  magic_getdefelem
-#define magic_getdefelem  CPerlObj::Perl_magic_getdefelem
-#undef  magic_getpack
-#define magic_getpack     CPerlObj::Perl_magic_getpack
-#undef  magic_getglob
-#define magic_getglob     CPerlObj::Perl_magic_getglob
-#undef  magic_getnkeys
-#define magic_getnkeys    CPerlObj::Perl_magic_getnkeys
-#undef  magic_getpos
-#define magic_getpos      CPerlObj::Perl_magic_getpos
-#undef  magic_getsig
-#define magic_getsig      CPerlObj::Perl_magic_getsig
-#undef  magic_getsubstr
-#define magic_getsubstr   CPerlObj::Perl_magic_getsubstr
-#undef  magic_gettaint
-#define magic_gettaint    CPerlObj::Perl_magic_gettaint
-#undef  magic_getuvar
-#define magic_getuvar     CPerlObj::Perl_magic_getuvar
-#undef  magic_getvec
-#define magic_getvec     CPerlObj::Perl_magic_getvec
-#undef  magic_len
-#define magic_len         CPerlObj::Perl_magic_len
-#undef  magic_methcall
-#define magic_methcall    CPerlObj::magic_methcall
-#undef  magic_methpack
-#define magic_methpack    CPerlObj::magic_methpack
-#undef  magic_nextpack
-#define magic_nextpack    CPerlObj::Perl_magic_nextpack
-#undef  magic_regdata_cnt
-#define magic_regdata_cnt   CPerlObj::Perl_magic_regdata_cnt
-#undef  magic_regdatum_get
-#define magic_regdatum_get  CPerlObj::Perl_magic_regdatum_get
-#undef  magic_set
-#define magic_set         CPerlObj::Perl_magic_set
-#undef  magic_set_all_env
-#define magic_set_all_env CPerlObj::Perl_magic_set_all_env
-#undef  magic_setamagic
-#define magic_setamagic   CPerlObj::Perl_magic_setamagic
-#undef  magic_setarylen
-#define magic_setarylen   CPerlObj::Perl_magic_setarylen
-#undef  magic_setbm
-#define magic_setbm       CPerlObj::Perl_magic_setbm
-#undef  magic_setcollxfrm
-#define magic_setcollxfrm CPerlObj::Perl_magic_setcollxfrm
-#undef  magic_setdbline
-#define magic_setdbline   CPerlObj::Perl_magic_setdbline
-#undef  magic_setdefelem
-#define magic_setdefelem  CPerlObj::Perl_magic_setdefelem
-#undef  magic_setenv
-#define magic_setenv      CPerlObj::Perl_magic_setenv
-#undef  magic_setfm
-#define magic_setfm       CPerlObj::Perl_magic_setfm
-#undef  magic_setisa
-#define magic_setisa      CPerlObj::Perl_magic_setisa
-#undef  magic_setglob
-#define magic_setglob     CPerlObj::Perl_magic_setglob
-#undef  magic_setmglob
-#define magic_setmglob    CPerlObj::Perl_magic_setmglob
-#undef  magic_setnkeys
-#define magic_setnkeys    CPerlObj::Perl_magic_setnkeys
-#undef  magic_setpack
-#define magic_setpack     CPerlObj::Perl_magic_setpack
-#undef  magic_setpos
-#define magic_setpos      CPerlObj::Perl_magic_setpos
-#undef  magic_setsig
-#define magic_setsig      CPerlObj::Perl_magic_setsig
-#undef  magic_setsubstr
-#define magic_setsubstr   CPerlObj::Perl_magic_setsubstr
-#undef  magic_settaint
-#define magic_settaint    CPerlObj::Perl_magic_settaint
-#undef  magic_setuvar
-#define magic_setuvar     CPerlObj::Perl_magic_setuvar
-#undef  magic_setvec
-#define magic_setvec      CPerlObj::Perl_magic_setvec
-#undef  magic_sizepack
-#define magic_sizepack    CPerlObj::Perl_magic_sizepack
-#undef  magic_unchain
-#define magic_unchain     CPerlObj::Perl_magic_unchain
-#undef  magic_wipepack
-#define magic_wipepack    CPerlObj::Perl_magic_wipepack
-#undef  magicname
-#define magicname         CPerlObj::Perl_magicname
-#undef  malloced_size
-#define malloced_size     CPerlObj::Perl_malloced_size
-#undef  markstack_grow
-#define markstack_grow    CPerlObj::Perl_markstack_grow
-#undef  markstack_ptr
-#define markstack_ptr     CPerlObj::Perl_markstack_ptr
-#undef  mess
-#define mess              CPerlObj::Perl_mess
-#undef  mess_alloc
-#define mess_alloc        CPerlObj::mess_alloc
-#undef  mem_collxfrm
-#define mem_collxfrm      CPerlObj::Perl_mem_collxfrm
-#undef  mg_clear
-#define mg_clear          CPerlObj::Perl_mg_clear
-#undef  mg_copy
-#define mg_copy           CPerlObj::Perl_mg_copy
-#undef  mg_find
-#define mg_find           CPerlObj::Perl_mg_find
-#undef  mg_free
-#define mg_free           CPerlObj::Perl_mg_free
-#undef  mg_get
-#define mg_get            CPerlObj::Perl_mg_get
-#undef  mg_length
-#define mg_length         CPerlObj::Perl_mg_length
-#undef  mg_magical
-#define mg_magical        CPerlObj::Perl_mg_magical
-#undef  mg_set
-#define mg_set            CPerlObj::Perl_mg_set
-#undef  mg_size
-#define mg_size           CPerlObj::Perl_mg_size
-#undef  missingterm
-#define missingterm       CPerlObj::missingterm
-#undef  mod
-#define mod               CPerlObj::Perl_mod
-#undef  modkids
-#define modkids           CPerlObj::Perl_modkids
-#undef  moreswitches
-#define moreswitches      CPerlObj::Perl_moreswitches
-#undef  more_sv
-#define more_sv           CPerlObj::more_sv
-#undef  more_xiv
-#define more_xiv          CPerlObj::more_xiv
-#undef  more_xnv
-#define more_xnv          CPerlObj::more_xnv
-#undef  more_xpv
-#define more_xpv          CPerlObj::more_xpv
-#undef  more_xrv
-#define more_xrv          CPerlObj::more_xrv
-#undef  mstats
-#define mstats            CPerlObj::mstats
-#undef  mul128
-#define mul128            CPerlObj::mul128
-#undef  my
-#define my                CPerlObj::Perl_my
-#undef  my_bcopy
-#define my_bcopy          CPerlObj::Perl_my_bcopy
-#undef  my_bzero
-#define my_bzero          CPerlObj::Perl_my_bzero
-#undef  my_exit
-#define my_exit           CPerlObj::Perl_my_exit
-#undef  my_exit_jump
-#define my_exit_jump      CPerlObj::my_exit_jump
-#undef  my_failure_exit
-#define my_failure_exit   CPerlObj::Perl_my_failure_exit
-#undef  my_lstat
-#define my_lstat          CPerlObj::Perl_my_lstat
-#undef  my_memcmp
-#define my_memcmp         CPerlObj::Perl_my_memcmp
-#undef  my_memset
-#define my_memset         CPerlObj::Perl_my_memset
-#undef  my_pclose
-#define my_pclose         CPerlObj::Perl_my_pclose
-#undef  my_popen
-#define my_popen          CPerlObj::Perl_my_popen
-#undef  my_safemalloc
-#define my_safemalloc     CPerlObj::my_safemalloc
-#undef  my_setenv
-#define my_setenv         CPerlObj::Perl_my_setenv
-#undef  my_stat
-#define my_stat           CPerlObj::Perl_my_stat
-#undef  my_swap
-#define my_swap           CPerlObj::my_swap
-#undef  my_htonl
-#define my_htonl          CPerlObj::my_htonl
-#undef  my_ntohl
-#define my_ntohl          CPerlObj::my_ntohl
-#undef  my_unexec
-#define my_unexec         CPerlObj::Perl_my_unexec
-#undef  newANONLIST
-#define newANONLIST       CPerlObj::Perl_newANONLIST
-#undef  newANONHASH
-#define newANONHASH       CPerlObj::Perl_newANONHASH
-#undef  newANONSUB
-#define newANONSUB        CPerlObj::Perl_newANONSUB
-#undef  newASSIGNOP
-#define newASSIGNOP       CPerlObj::Perl_newASSIGNOP
-#undef  newCONDOP
-#define newCONDOP         CPerlObj::Perl_newCONDOP
-#undef  newCONSTSUB
-#define newCONSTSUB       CPerlObj::Perl_newCONSTSUB
-#undef  newDEFSVOP
-#define newDEFSVOP        CPerlObj::newDEFSVOP
-#undef  newFORM
-#define newFORM           CPerlObj::Perl_newFORM
-#undef  newFOROP
-#define newFOROP          CPerlObj::Perl_newFOROP
-#undef  newLOGOP
-#define newLOGOP          CPerlObj::Perl_newLOGOP
-#undef  newLOOPEX
-#define newLOOPEX         CPerlObj::Perl_newLOOPEX
-#undef  newLOOPOP
-#define newLOOPOP         CPerlObj::Perl_newLOOPOP
-#undef  newMETHOD
-#define newMETHOD         CPerlObj::Perl_newMETHOD
-#undef  newNULLLIST
-#define newNULLLIST       CPerlObj::Perl_newNULLLIST
-#undef  newOP
-#define newOP             CPerlObj::Perl_newOP
-#undef  newPROG
-#define newPROG           CPerlObj::Perl_newPROG
-#undef  newRANGE
-#define newRANGE          CPerlObj::Perl_newRANGE
-#undef  newSLICEOP
-#define newSLICEOP        CPerlObj::Perl_newSLICEOP
-#undef  newSTATEOP
-#define newSTATEOP        CPerlObj::Perl_newSTATEOP
-#undef  newSUB
-#define newSUB            CPerlObj::Perl_newSUB
-#undef  newXS
-#define newXS             CPerlObj::Perl_newXS
-#undef  newXSUB
-#define newXSUB           CPerlObj::Perl_newXSUB
-#undef  newAV
-#define newAV             CPerlObj::Perl_newAV
-#undef  newAVREF
-#define newAVREF          CPerlObj::Perl_newAVREF
-#undef  newBINOP
-#define newBINOP          CPerlObj::Perl_newBINOP
-#undef  newCVREF
-#define newCVREF          CPerlObj::Perl_newCVREF
-#undef  newCVOP
-#define newCVOP           CPerlObj::Perl_newCVOP
-#undef  newGVOP
-#define newGVOP           CPerlObj::Perl_newGVOP
-#undef  newGVgen
-#define newGVgen          CPerlObj::Perl_newGVgen
-#undef  newGVREF
-#define newGVREF          CPerlObj::Perl_newGVREF
-#undef  newHVREF
-#define newHVREF          CPerlObj::Perl_newHVREF
-#undef  newHV
-#define newHV             CPerlObj::Perl_newHV
-#undef  newHVhv
-#define newHVhv           CPerlObj::Perl_newHVhv
-#undef  newIO
-#define newIO             CPerlObj::Perl_newIO
-#undef  newLISTOP
-#define newLISTOP         CPerlObj::Perl_newLISTOP
-#undef  newPMOP
-#define newPMOP           CPerlObj::Perl_newPMOP
-#undef  newPVOP
-#define newPVOP           CPerlObj::Perl_newPVOP
-#undef  newRV
-#define newRV             CPerlObj::Perl_newRV
-#undef  Perl_newRV_noinc
-#define Perl_newRV_noinc  CPerlObj::Perl_newRV_noinc
-#undef  newSV
-#define newSV             CPerlObj::Perl_newSV
-#undef  newSVREF
-#define newSVREF          CPerlObj::Perl_newSVREF
-#undef  newSVOP
-#define newSVOP           CPerlObj::Perl_newSVOP
-#undef  newSViv
-#define newSViv           CPerlObj::Perl_newSViv
-#undef  newSVnv
-#define newSVnv           CPerlObj::Perl_newSVnv
-#undef  newSVpv
-#define newSVpv           CPerlObj::Perl_newSVpv
-#undef  newSVpvf
-#define newSVpvf          CPerlObj::Perl_newSVpvf
-#undef  newSVpvn
-#define newSVpvn          CPerlObj::Perl_newSVpvn
-#undef  newSVrv
-#define newSVrv           CPerlObj::Perl_newSVrv
-#undef  newSVsv
-#define newSVsv           CPerlObj::Perl_newSVsv
-#undef  newUNOP
-#define newUNOP           CPerlObj::Perl_newUNOP
-#undef  newWHILEOP
-#define newWHILEOP        CPerlObj::Perl_newWHILEOP
-#undef  new_constant
-#define new_constant      CPerlObj::new_constant
-#undef  new_logop
-#define new_logop         CPerlObj::new_logop
-#undef  new_stackinfo
-#define new_stackinfo     CPerlObj::Perl_new_stackinfo
-#undef  new_sv
-#define new_sv            CPerlObj::new_sv
-#undef  new_xiv
-#define new_xiv           CPerlObj::new_xiv
-#undef  new_xnv
-#define new_xnv           CPerlObj::new_xnv
-#undef  new_xpv
-#define new_xpv           CPerlObj::new_xpv
-#undef  new_xrv
-#define new_xrv           CPerlObj::new_xrv
-#undef  nextargv
-#define nextargv          CPerlObj::Perl_nextargv
-#undef  nextchar
-#define nextchar          CPerlObj::nextchar
-#undef  ninstr
-#define ninstr            CPerlObj::Perl_ninstr
-#undef  not_a_number
-#define not_a_number      CPerlObj::not_a_number
-#undef  no_fh_allowed
-#define no_fh_allowed     CPerlObj::Perl_no_fh_allowed
-#undef  no_op
-#define no_op             CPerlObj::Perl_no_op
-#undef  null
-#define null              CPerlObj::null
-#undef  profiledata
-#define profiledata       CPerlObj::Perl_profiledata
-#undef  package
-#define package           CPerlObj::Perl_package
-#undef  pad_alloc
-#define pad_alloc         CPerlObj::Perl_pad_alloc
-#undef  pad_allocmy
-#define pad_allocmy       CPerlObj::Perl_pad_allocmy
-#undef  pad_findmy
-#define pad_findmy        CPerlObj::Perl_pad_findmy
-#undef  op_const_sv
-#define op_const_sv       CPerlObj::Perl_op_const_sv
-#undef  op_free
-#define op_free           CPerlObj::Perl_op_free
-#undef  oopsCV
-#define oopsCV            CPerlObj::Perl_oopsCV
-#undef  oopsAV
-#define oopsAV            CPerlObj::Perl_oopsAV
-#undef  oopsHV
-#define oopsHV            CPerlObj::Perl_oopsHV
-#undef  open_script
-#define open_script       CPerlObj::open_script
-#undef  pad_leavemy
-#define pad_leavemy       CPerlObj::Perl_pad_leavemy
-#undef  pad_sv
-#define pad_sv            CPerlObj::Perl_pad_sv
-#undef  pad_findlex
-#define pad_findlex       CPerlObj::pad_findlex
-#undef  pad_free
-#define pad_free          CPerlObj::Perl_pad_free
-#undef  pad_reset
-#define pad_reset         CPerlObj::Perl_pad_reset
-#undef  pad_swipe
-#define pad_swipe         CPerlObj::Perl_pad_swipe
-#undef  peep
-#define peep              CPerlObj::Perl_peep
-#undef  perl_call_argv
-#define perl_call_argv    CPerlObj::perl_call_argv
-#undef  perl_call_method
-#define perl_call_method  CPerlObj::perl_call_method
-#undef  perl_call_pv
-#define perl_call_pv      CPerlObj::perl_call_pv
-#undef  perl_call_sv
-#define perl_call_sv      CPerlObj::perl_call_sv
-#undef  perl_callargv
-#define perl_callargv     CPerlObj::perl_callargv
-#undef  perl_callpv
-#define perl_callpv       CPerlObj::perl_callpv
-#undef  perl_callsv
-#define perl_callsv       CPerlObj::perl_callsv
-#undef  perl_eval_pv
-#define perl_eval_pv      CPerlObj::perl_eval_pv
-#undef  perl_eval_sv
-#define perl_eval_sv      CPerlObj::perl_eval_sv
-#undef  perl_get_sv
-#define perl_get_sv       CPerlObj::perl_get_sv
-#undef  perl_get_av
-#define perl_get_av       CPerlObj::perl_get_av
-#undef  perl_get_hv
-#define perl_get_hv       CPerlObj::perl_get_hv
-#undef  perl_get_cv
-#define perl_get_cv       CPerlObj::perl_get_cv
-#undef  Perl_GetVars
-#define Perl_GetVars      CPerlObj::Perl_GetVars
-#undef  perl_init_fold
-#define perl_init_fold    CPerlObj::perl_init_fold
-#undef  perl_init_i18nl10n
-#define perl_init_i18nl10n CPerlObj::perl_init_i18nl10n
-#undef  perl_init_i18nl14n
-#define perl_init_i18nl14n CPerlObj::perl_init_i18nl14n
-#undef  perl_new_collate
-#define perl_new_collate  CPerlObj::perl_new_collate
-#undef  perl_new_ctype
-#define perl_new_ctype    CPerlObj::perl_new_ctype
-#undef  perl_new_numeric
-#define perl_new_numeric  CPerlObj::perl_new_numeric
-#undef  perl_set_numeric_standard
-#define perl_set_numeric_standard CPerlObj::perl_set_numeric_standard
-#undef  perl_set_numeric_local
-#define perl_set_numeric_local CPerlObj::perl_set_numeric_local
-#undef  perl_require_pv
-#define perl_require_pv   CPerlObj::perl_require_pv
-#undef  perl_thread
-#define perl_thread       CPerlObj::perl_thread
-#undef  pidgone
-#define pidgone           CPerlObj::Perl_pidgone
-#undef  pmflag
-#define pmflag            CPerlObj::Perl_pmflag
-#undef  pmruntime
-#define pmruntime         CPerlObj::Perl_pmruntime
-#undef  pmtrans
-#define pmtrans           CPerlObj::Perl_pmtrans
-#undef  pop_return
-#define pop_return        CPerlObj::Perl_pop_return
-#undef  pop_scope
-#define pop_scope         CPerlObj::Perl_pop_scope
-#undef  prepend_elem
-#define prepend_elem      CPerlObj::Perl_prepend_elem
-#undef  provide_ref
-#define provide_ref       CPerlObj::Perl_provide_ref
-#undef  push_return
-#define push_return       CPerlObj::Perl_push_return
-#undef  push_scope
-#define push_scope        CPerlObj::Perl_push_scope
-#undef  pregcomp
-#define pregcomp          CPerlObj::Perl_pregcomp
-#undef  qsortsv
-#define qsortsv           CPerlObj::qsortsv
-#undef  ref
-#define ref               CPerlObj::Perl_ref
-#undef  refkids
-#define refkids           CPerlObj::Perl_refkids
-#undef  regdump
-#define regdump           CPerlObj::Perl_regdump
-#undef  rsignal
-#define rsignal           CPerlObj::Perl_rsignal
-#undef  rsignal_restore
-#define rsignal_restore   CPerlObj::Perl_rsignal_restore
-#undef  rsignal_save
-#define rsignal_save      CPerlObj::Perl_rsignal_save
-#undef  rsignal_state
-#define rsignal_state     CPerlObj::Perl_rsignal_state
-#undef  pregexec
-#define pregexec          CPerlObj::Perl_pregexec
-#undef  pregfree
-#define pregfree          CPerlObj::Perl_pregfree
-#undef  re_croak2
-#define re_croak2         CPerlObj::re_croak2
-#undef  refto
-#define refto             CPerlObj::refto
-#undef  reg
-#define reg               CPerlObj::reg
-#undef  reg_node
-#define reg_node          CPerlObj::reg_node
-#undef  reganode
-#define reganode          CPerlObj::reganode
-#undef  regatom
-#define regatom           CPerlObj::regatom
-#undef  regbranch
-#define regbranch         CPerlObj::regbranch
-#undef  regc
-#define regc              CPerlObj::regc
-#undef  reguni
-#define reguni            CPerlObj::reguni
-#undef  regcurly
-#define regcurly          CPerlObj::regcurly
-#undef  regcppush
-#define regcppush         CPerlObj::regcppush
-#undef  regcppop
-#define regcppop          CPerlObj::regcppop
-#undef  regcp_set_to
-#define regcp_set_to      CPerlObj::regcp_set_to
-#undef  cache_re
-#define cache_re          CPerlObj::cache_re
-#undef  reghop
-#define reghop            CPerlObj::reghop
-#undef  reghopmaybe
-#define reghopmaybe       CPerlObj::reghopmaybe
-#undef  regclass
-#define regclass          CPerlObj::regclass
-#undef  regclassutf8
-#define regclassutf8      CPerlObj::regclassutf8
-#undef  regexec_flags
-#define regexec_flags     CPerlObj::Perl_regexec_flags
-#undef  reginclass
-#define reginclass        CPerlObj::reginclass
-#undef  reginclassutf8
-#define reginclassutf8    CPerlObj::reginclassutf8
-#undef  reginsert
-#define reginsert         CPerlObj::reginsert
-#undef  regmatch
-#define regmatch          CPerlObj::regmatch
-#undef  regnext
-#define regnext           CPerlObj::Perl_regnext
-#undef  regoptail
-#define regoptail         CPerlObj::regoptail
-#undef  regpiece
-#define regpiece          CPerlObj::regpiece
-#undef  regprop
-#define regprop           CPerlObj::Perl_regprop
-#undef  regrepeat
-#define regrepeat         CPerlObj::regrepeat
-#undef  regrepeat_hard
-#define regrepeat_hard    CPerlObj::regrepeat_hard
-#undef  regset
-#define regset            CPerlObj::regset
-#undef  regtail
-#define regtail           CPerlObj::regtail
-#undef  regtry
-#define regtry            CPerlObj::regtry
-#undef  regwhite
-#define regwhite          CPerlObj::regwhite
-#undef  repeatcpy
-#define repeatcpy         CPerlObj::Perl_repeatcpy
-#undef  restore_expect
-#define restore_expect    CPerlObj::restore_expect
-#undef  restore_lex_expect
-#define restore_lex_expect CPerlObj::restore_lex_expect
-#undef  restore_magic
-#define restore_magic     CPerlObj::restore_magic
-#undef  restore_rsfp
-#define restore_rsfp      CPerlObj::restore_rsfp
-#undef  rninstr
-#define rninstr           CPerlObj::Perl_rninstr
-#undef  runops_standard
-#define runops_standard   CPerlObj::Perl_runops_standard
-#undef  runops_debug
-#define runops_debug      CPerlObj::Perl_runops_debug
-#undef  rxres_free
-#define rxres_free        CPerlObj::Perl_rxres_free
-#undef  rxres_restore
-#define rxres_restore     CPerlObj::Perl_rxres_restore
-#undef  rxres_save
-#define rxres_save        CPerlObj::Perl_rxres_save
-#ifndef MYMALLOC
-#undef  safefree
-#define safefree          CPerlObj::Perl_safefree
-#undef  safecalloc
-#define safecalloc        CPerlObj::Perl_safecalloc
-#undef  safemalloc
-#define safemalloc        CPerlObj::Perl_safemalloc
-#undef  saferealloc
-#define saferealloc       CPerlObj::Perl_saferealloc
-#endif /* MYMALLOC */
-#undef  same_dirent
-#define same_dirent       CPerlObj::same_dirent
-#undef  savepv
-#define savepv            CPerlObj::Perl_savepv
-#undef  savepvn
-#define savepvn           CPerlObj::Perl_savepvn
-#undef  savestack_grow
-#define savestack_grow    CPerlObj::Perl_savestack_grow
-#undef  save_aelem
-#define save_aelem        CPerlObj::Perl_save_aelem
-#undef  save_alloc
-#define save_alloc        CPerlObj::Perl_save_alloc
-#undef  save_aptr
-#define save_aptr         CPerlObj::Perl_save_aptr
-#undef  save_ary
-#define save_ary          CPerlObj::Perl_save_ary
-#undef  save_clearsv
-#define save_clearsv      CPerlObj::Perl_save_clearsv
-#undef  save_delete
-#define save_delete       CPerlObj::Perl_save_delete
-#undef  save_destructor
-#define save_destructor   CPerlObj::Perl_save_destructor
-#undef  save_freesv
-#define save_freesv       CPerlObj::Perl_save_freesv
-#undef  save_freeop
-#define save_freeop       CPerlObj::Perl_save_freeop
-#undef  save_freepv
-#define save_freepv       CPerlObj::Perl_save_freepv
-#undef  save_generic_svref
-#define save_generic_svref CPerlObj::Perl_save_generic_svref
-#undef  save_gp
-#define save_gp           CPerlObj::Perl_save_gp
-#undef  save_hash
-#define save_hash         CPerlObj::Perl_save_hash
-#undef  save_hek
-#define save_hek          CPerlObj::save_hek
-#undef  save_helem
-#define save_helem        CPerlObj::Perl_save_helem
-#undef  save_hints
-#define save_hints        CPerlObj::Perl_save_hints
-#undef  save_hptr
-#define save_hptr         CPerlObj::Perl_save_hptr
-#undef  save_I16
-#define save_I16          CPerlObj::Perl_save_I16
-#undef  save_I32
-#define save_I32          CPerlObj::Perl_save_I32
-#undef  save_int
-#define save_int          CPerlObj::Perl_save_int
-#undef  save_item
-#define save_item         CPerlObj::Perl_save_item
-#undef  save_iv
-#define save_iv           CPerlObj::Perl_save_iv
-#undef  save_lines
-#define save_lines        CPerlObj::save_lines
-#undef  save_list
-#define save_list         CPerlObj::Perl_save_list
-#undef  save_long
-#define save_long         CPerlObj::Perl_save_long
-#undef  save_magic
-#define save_magic        CPerlObj::save_magic
-#undef  save_nogv
-#define save_nogv         CPerlObj::Perl_save_nogv
-#undef  save_op
-#define save_op           CPerlObj::Perl_save_op
-#undef  save_scalar
-#define save_scalar       CPerlObj::Perl_save_scalar
-#undef  save_scalar_at
-#define save_scalar_at    CPerlObj::save_scalar_at
-#undef  save_pptr
-#define save_pptr         CPerlObj::Perl_save_pptr
-#undef  save_re_context
-#define save_re_context   CPerlObj::Perl_save_re_context
-#undef  save_sptr
-#define save_sptr         CPerlObj::Perl_save_sptr
-#undef  save_svref
-#define save_svref        CPerlObj::Perl_save_svref
-#undef  save_threadsv
-#define save_threadsv     CPerlObj::Perl_save_threadsv
-#undef  sawparens
-#define sawparens         CPerlObj::Perl_sawparens
-#undef  scalar
-#define scalar            CPerlObj::Perl_scalar
-#undef  scalarboolean
-#define scalarboolean     CPerlObj::scalarboolean
-#undef  scalarkids
-#define scalarkids        CPerlObj::Perl_scalarkids
-#undef  scalarseq
-#define scalarseq         CPerlObj::Perl_scalarseq
-#undef  scalarvoid
-#define scalarvoid        CPerlObj::Perl_scalarvoid
-#undef  scan_commit
-#define scan_commit       CPerlObj::scan_commit
-#undef  scan_const
-#define scan_const        CPerlObj::Perl_scan_const
-#undef  scan_formline
-#define scan_formline     CPerlObj::Perl_scan_formline
-#undef  scan_ident
-#define scan_ident        CPerlObj::Perl_scan_ident
-#undef  scan_inputsymbol
-#define scan_inputsymbol  CPerlObj::Perl_scan_inputsymbol
-#undef  scan_heredoc
-#define scan_heredoc      CPerlObj::Perl_scan_heredoc
-#undef  scan_hex
-#define scan_hex          CPerlObj::Perl_scan_hex
-#undef  scan_num
-#define scan_num          CPerlObj::Perl_scan_num
-#undef  scan_oct
-#define scan_oct          CPerlObj::Perl_scan_oct
-#undef  scan_pat
-#define scan_pat          CPerlObj::Perl_scan_pat
-#undef  scan_str
-#define scan_str          CPerlObj::Perl_scan_str
-#undef  scan_subst
-#define scan_subst        CPerlObj::Perl_scan_subst
-#undef  scan_trans
-#define scan_trans        CPerlObj::Perl_scan_trans
-#undef  scan_word
-#define scan_word         CPerlObj::Perl_scan_word
-#undef  scope
-#define scope             CPerlObj::Perl_scope
-#undef  screaminstr
-#define screaminstr       CPerlObj::Perl_screaminstr
-#undef  seed
-#define seed              CPerlObj::seed
-#undef  setdefout
-#define setdefout         CPerlObj::Perl_setdefout
-#undef  setenv_getix
-#define setenv_getix      CPerlObj::Perl_setenv_getix
-#undef  sharepvn
-#define sharepvn          CPerlObj::Perl_sharepvn
-#undef  set_csh
-#define set_csh           CPerlObj::set_csh
-#undef  sighandler
-#define sighandler        CPerlObj::Perl_sighandler
-#undef  share_hek
-#define share_hek         CPerlObj::Perl_share_hek
-#undef  skipspace
-#define skipspace         CPerlObj::Perl_skipspace
-#undef  sortcv
-#define sortcv            CPerlObj::sortcv
-#ifndef PERL_OBJECT
-#undef  stack_base
-#define stack_base        CPerlObj::Perl_stack_base
-#endif
-#undef  stack_grow
-#define stack_grow        CPerlObj::Perl_stack_grow
-#undef  start_subparse
-#define start_subparse    CPerlObj::Perl_start_subparse
-#undef  study_chunk
-#define study_chunk       CPerlObj::study_chunk
-#undef  sub_crush_depth
-#define sub_crush_depth   CPerlObj::Perl_sub_crush_depth
-#undef  sublex_done
-#define sublex_done       CPerlObj::sublex_done
-#undef  sublex_push
-#define sublex_push       CPerlObj::sublex_push
-#undef  sublex_start
-#define sublex_start      CPerlObj::sublex_start
-#undef  sv_2bool
-#define sv_2bool          CPerlObj::Perl_sv_2bool
-#undef  sv_2cv
-#define sv_2cv            CPerlObj::Perl_sv_2cv
-#undef  sv_2io
-#define sv_2io            CPerlObj::Perl_sv_2io
-#undef  sv_2iv
-#define sv_2iv            CPerlObj::Perl_sv_2iv
-#undef  sv_2uv
-#define sv_2uv            CPerlObj::Perl_sv_2uv
-#undef  sv_2mortal
-#define sv_2mortal        CPerlObj::Perl_sv_2mortal
-#undef  sv_2nv
-#define sv_2nv            CPerlObj::Perl_sv_2nv
-#undef  sv_2pv
-#define sv_2pv            CPerlObj::Perl_sv_2pv
-#undef  sv_add_arena
-#define sv_add_arena      CPerlObj::Perl_sv_add_arena
-#undef  sv_backoff
-#define sv_backoff        CPerlObj::Perl_sv_backoff
-#undef  sv_bless
-#define sv_bless          CPerlObj::Perl_sv_bless
-#undef  sv_catpv
-#define sv_catpv          CPerlObj::Perl_sv_catpv
-#undef  sv_catpv_mg
-#define sv_catpv_mg       CPerlObj::Perl_sv_catpv_mg
-#undef  sv_catpvf
-#define sv_catpvf         CPerlObj::Perl_sv_catpvf
-#undef  sv_catpvf_mg
-#define sv_catpvf_mg      CPerlObj::Perl_sv_catpvf_mg
-#undef  sv_catpvn
-#define sv_catpvn         CPerlObj::Perl_sv_catpvn
-#undef  sv_catpvn_mg
-#define sv_catpvn_mg      CPerlObj::Perl_sv_catpvn_mg
-#undef  sv_catsv
-#define sv_catsv          CPerlObj::Perl_sv_catsv
-#undef  sv_catsv_mg
-#define sv_catsv_mg       CPerlObj::Perl_sv_catsv_mg
-#undef  sv_check_thinkfirst
-#define sv_check_thinkfirst CPerlObj::sv_check_thinkfirst
-#undef  sv_chop
-#define sv_chop           CPerlObj::Perl_sv_chop
-#undef  sv_clean_all
-#define sv_clean_all      CPerlObj::Perl_sv_clean_all
-#undef  sv_clean_objs
-#define sv_clean_objs     CPerlObj::Perl_sv_clean_objs
-#undef  sv_clear
-#define sv_clear          CPerlObj::Perl_sv_clear
-#undef  sv_cmp
-#define sv_cmp            CPerlObj::Perl_sv_cmp
-#undef  sv_cmp_locale
-#define sv_cmp_locale     CPerlObj::Perl_sv_cmp_locale
-#undef  sv_collxfrm
-#define sv_collxfrm       CPerlObj::Perl_sv_collxfrm
-#undef  sv_compile_2op
-#define sv_compile_2op    CPerlObj::Perl_sv_compile_2op
-#undef  sv_dec
-#define sv_dec            CPerlObj::Perl_sv_dec
-#undef  sv_derived_from
-#define sv_derived_from   CPerlObj::Perl_sv_derived_from
-#undef  sv_dump
-#define sv_dump           CPerlObj::Perl_sv_dump
-#undef  sv_eq
-#define sv_eq             CPerlObj::Perl_sv_eq
-#undef  sv_free
-#define sv_free           CPerlObj::Perl_sv_free
-#undef  sv_free_arenas
-#define sv_free_arenas    CPerlObj::Perl_sv_free_arenas
-#undef  sv_gets
-#define sv_gets           CPerlObj::Perl_sv_gets
-#undef  sv_grow
-#define sv_grow           CPerlObj::Perl_sv_grow
-#undef  sv_inc
-#define sv_inc            CPerlObj::Perl_sv_inc
-#undef  sv_insert
-#define sv_insert         CPerlObj::Perl_sv_insert
-#undef  sv_isa
-#define sv_isa            CPerlObj::Perl_sv_isa
-#undef  sv_isobject
-#define sv_isobject       CPerlObj::Perl_sv_isobject
-#undef  sv_iv
-#define sv_iv             CPerlObj::Perl_sv_iv
-#undef  sv_len
-#define sv_len            CPerlObj::Perl_sv_len
-#undef  sv_len_utf8
-#define sv_len_utf8       CPerlObj::Perl_sv_len_utf8
-#undef  sv_pos_u2b
-#define sv_pos_u2b        CPerlObj::Perl_sv_pos_u2b
-#undef  sv_pos_b2u
-#define sv_pos_b2u        CPerlObj::Perl_sv_pos_b2u
-#undef  sv_magic
-#define sv_magic          CPerlObj::Perl_sv_magic
-#undef  sv_mortalcopy
-#define sv_mortalcopy     CPerlObj::Perl_sv_mortalcopy
-#undef  sv_mortalgrow
-#define sv_mortalgrow     CPerlObj::sv_mortalgrow
-#undef  sv_newmortal
-#define sv_newmortal      CPerlObj::Perl_sv_newmortal
-#undef  sv_newref
-#define sv_newref         CPerlObj::Perl_sv_newref
-#undef  sv_nv
-#define sv_nv             CPerlObj::Perl_sv_nv
-#undef  sv_peek
-#define sv_peek           CPerlObj::Perl_sv_peek
-#undef  sv_pvn
-#define sv_pvn            CPerlObj::Perl_sv_pvn
-#undef  sv_pvn_force
-#define sv_pvn_force      CPerlObj::Perl_sv_pvn_force
-#undef  sv_reftype
-#define sv_reftype        CPerlObj::Perl_sv_reftype
-#undef  sv_replace
-#define sv_replace        CPerlObj::Perl_sv_replace
-#undef  sv_report_used
-#define sv_report_used    CPerlObj::Perl_sv_report_used
-#undef  sv_reset
-#define sv_reset          CPerlObj::Perl_sv_reset
-#undef  sv_setiv
-#define sv_setiv          CPerlObj::Perl_sv_setiv
-#undef  sv_setiv_mg
-#define sv_setiv_mg       CPerlObj::Perl_sv_setiv_mg
-#undef  sv_setnv
-#define sv_setnv          CPerlObj::Perl_sv_setnv
-#undef  sv_setnv_mg
-#define sv_setnv_mg       CPerlObj::Perl_sv_setnv_mg
-#undef  sv_setuv
-#define sv_setuv          CPerlObj::Perl_sv_setuv
-#undef  sv_setuv_mg
-#define sv_setuv_mg       CPerlObj::Perl_sv_setuv_mg
-#undef  sv_setref_iv
-#define sv_setref_iv      CPerlObj::Perl_sv_setref_iv
-#undef  sv_setref_nv
-#define sv_setref_nv      CPerlObj::Perl_sv_setref_nv
-#undef  sv_setref_pv
-#define sv_setref_pv      CPerlObj::Perl_sv_setref_pv
-#undef  sv_setref_pvn
-#define sv_setref_pvn     CPerlObj::Perl_sv_setref_pvn
-#undef  sv_setpv
-#define sv_setpv          CPerlObj::Perl_sv_setpv
-#undef  sv_setpv_mg
-#define sv_setpv_mg       CPerlObj::Perl_sv_setpv_mg
-#undef  sv_setpvf
-#define sv_setpvf         CPerlObj::Perl_sv_setpvf
-#undef  sv_setpvf_mg
-#define sv_setpvf_mg      CPerlObj::Perl_sv_setpvf_mg
-#undef  sv_setpviv
-#define sv_setpviv        CPerlObj::Perl_sv_setpviv
-#undef  sv_setpviv_mg
-#define sv_setpviv_mg     CPerlObj::Perl_sv_setpviv_mg
-#undef  sv_setpvn
-#define sv_setpvn         CPerlObj::Perl_sv_setpvn
-#undef  sv_setpvn_mg
-#define sv_setpvn_mg      CPerlObj::Perl_sv_setpvn_mg
-#undef  sv_setsv
-#define sv_setsv          CPerlObj::Perl_sv_setsv
-#undef  sv_setsv_mg
-#define sv_setsv_mg       CPerlObj::Perl_sv_setsv_mg
-#undef  sv_taint
-#define sv_taint          CPerlObj::Perl_sv_taint
-#undef  sv_tainted
-#define sv_tainted        CPerlObj::Perl_sv_tainted
-#undef  sv_true
-#define sv_true           CPerlObj::Perl_sv_true
-#undef  sv_unglob
-#define sv_unglob         CPerlObj::sv_unglob
-#undef  sv_unmagic
-#define sv_unmagic        CPerlObj::Perl_sv_unmagic
-#undef  sv_unref
-#define sv_unref          CPerlObj::Perl_sv_unref
-#undef  sv_untaint
-#define sv_untaint        CPerlObj::Perl_sv_untaint
-#undef  sv_upgrade
-#define sv_upgrade        CPerlObj::Perl_sv_upgrade
-#undef  sv_usepvn
-#define sv_usepvn         CPerlObj::Perl_sv_usepvn
-#undef  sv_usepvn_mg
-#define sv_usepvn_mg      CPerlObj::Perl_sv_usepvn_mg
-#undef  sv_uv
-#define sv_uv             CPerlObj::Perl_sv_uv
-#undef  sv_vcatpvfn
-#define sv_vcatpvfn       CPerlObj::Perl_sv_vcatpvfn
-#undef  sv_vsetpvfn
-#define sv_vsetpvfn       CPerlObj::Perl_sv_vsetpvfn
-#undef  swash_init
-#define swash_init        CPerlObj::Perl_swash_init
-#undef  swash_fetch
-#define swash_fetch       CPerlObj::Perl_swash_fetch
-#undef  taint_env
-#define taint_env         CPerlObj::Perl_taint_env
-#undef  taint_not
-#define taint_not         CPerlObj::Perl_taint_not
-#undef  taint_proper
-#define taint_proper      CPerlObj::Perl_taint_proper
-#undef  tokeq
-#define tokeq             CPerlObj::tokeq
-
-#undef  to_uni_lower
-#define to_uni_lower        CPerlObj::Perl_to_uni_lower
-#undef  to_uni_lower_lc
-#define to_uni_lower_lc     CPerlObj::Perl_to_uni_lower_lc
-#undef  to_uni_title
-#define to_uni_title        CPerlObj::Perl_to_uni_title
-#undef  to_uni_title_lc
-#define to_uni_title_lc     CPerlObj::Perl_to_uni_title_lc
-#undef  to_uni_upper
-#define to_uni_upper        CPerlObj::Perl_to_uni_upper
-#undef  to_uni_upper_lc
-#define to_uni_upper_lc     CPerlObj::Perl_to_uni_upper_lc
-#undef  to_utf8_lower
-#define to_utf8_lower       CPerlObj::Perl_to_utf8_lower
-#undef  to_utf8_title
-#define to_utf8_title       CPerlObj::Perl_to_utf8_title
-#undef  to_utf8_upper
-#define to_utf8_upper       CPerlObj::Perl_to_utf8_upper
-
-#undef do_trans_CC_simple
-#define do_trans_CC_simple     CPerlObj::do_trans_CC_simple
-#undef do_trans_CC_count
-#define do_trans_CC_count      CPerlObj::do_trans_CC_count
-#undef do_trans_CC_complex
-#define do_trans_CC_complex    CPerlObj::do_trans_CC_complex
-#undef do_trans_UU_simple
-#define do_trans_UU_simple     CPerlObj::do_trans_UU_simple
-#undef do_trans_UU_count
-#define do_trans_UU_count      CPerlObj::do_trans_UU_count
-#undef do_trans_UU_complex
-#define do_trans_UU_complex    CPerlObj::do_trans_UU_complex
-#undef do_trans_UC_simple
-#define do_trans_UC_simple     CPerlObj::do_trans_UC_simple
-#undef do_trans_CU_simple
-#define do_trans_CU_simple     CPerlObj::do_trans_CU_simple
-#undef do_trans_UC_trivial
-#define do_trans_UC_trivial    CPerlObj::do_trans_UC_trivial
-#undef do_trans_CU_trivial
-#define do_trans_CU_trivial    CPerlObj::do_trans_CU_trivial
-
-#undef  too_few_arguments
-#define too_few_arguments CPerlObj::Perl_too_few_arguments
-#undef  too_many_arguments
-#define too_many_arguments CPerlObj::Perl_too_many_arguments
-#undef  unlnk
-#define unlnk             CPerlObj::unlnk
-#undef  unsharepvn
-#define unsharepvn        CPerlObj::Perl_unsharepvn
-#undef  unshare_hek
-#define unshare_hek       CPerlObj::Perl_unshare_hek
-#undef  unwind_handler_stack
-#define unwind_handler_stack CPerlObj::unwind_handler_stack
-#undef  usage
-#define usage             CPerlObj::usage
-#undef  utilize
-#define utilize           CPerlObj::Perl_utilize
-
-
-#undef  utf16_to_utf8
-#define utf16_to_utf8       CPerlObj::Perl_utf16_to_utf8
-#undef  utf16_to_utf8_reversed
-#define utf16_to_utf8_reversed    CPerlObj::Perl_utf16_to_utf8_reversed
-#undef  utf8_distance
-#define utf8_distance       CPerlObj::Perl_utf8_distance
-#undef  utf8_hop
-#define utf8_hop            CPerlObj::Perl_utf8_hop
-#undef  utf8_to_uv
-#define utf8_to_uv          CPerlObj::Perl_utf8_to_uv
-#undef  uv_to_utf8
-#define uv_to_utf8          CPerlObj::Perl_uv_to_utf8
-
-
-#undef  validate_suid
-#define validate_suid     CPerlObj::validate_suid
-#undef  visit
-#define visit             CPerlObj::visit
-#undef  vivify_defelem
-#define vivify_defelem    CPerlObj::Perl_vivify_defelem
-#undef  vivify_ref
-#define vivify_ref        CPerlObj::Perl_vivify_ref
-#undef  wait4pid
-#define wait4pid          CPerlObj::Perl_wait4pid
-#undef  warn
-#define warn              CPerlObj::Perl_warn
-#undef  warner
-#define warner            CPerlObj::Perl_warner
-#undef  watch
-#define watch             CPerlObj::Perl_watch
-#undef  whichsig
-#define whichsig          CPerlObj::Perl_whichsig
-#undef  win32_textfilter
-#define win32_textfilter  CPerlObj::win32_textfilter
-#undef  yyerror
-#define yyerror           CPerlObj::Perl_yyerror
-#undef  yylex
-#define yylex             CPerlObj::Perl_yylex
-#undef  yyparse
-#define yyparse           CPerlObj::Perl_yyparse
-#undef  yywarn
-#define yywarn            CPerlObj::Perl_yywarn
-#undef  yydestruct
-#define yydestruct        CPerlObj::Perl_yydestruct
-
-#define new_he            CPerlObj::new_he
-#define more_he           CPerlObj::more_he
-#define del_he            CPerlObj::del_he
-
-#if defined(WIN32) && !defined(WIN32IO_IS_STDIO)
-#undef errno
-#define errno             CPerlObj::ErrorNo()
-
-#endif /* WIN32 */
-
-#endif /* __Objpp_h__ */
diff --git a/op.c b/op.c
index 4af15e7..75c7d9f 100644 (file)
--- a/op.c
+++ b/op.c
@@ -19,9 +19,9 @@
 #include "perl.h"
 
 #ifdef PERL_OBJECT
-#define CHECKCALL this->*check
+#define CHECKCALL this->*PL_check
 #else
-#define CHECKCALL *check
+#define CHECKCALL *PL_check
 #endif
 
 /*
@@ -31,7 +31,7 @@
 #define CHECKOP(type,o) \
     ((PL_op_mask && PL_op_mask[type])                                  \
      ? ( op_free((OP*)o),                                      \
-        croak("%s trapped by operation mask", op_desc[type]),  \
+        croak("%s trapped by operation mask", PL_op_desc[type]),       \
         Nullop )                                               \
      : (CHECKCALL[type])((OP*)o))
 
@@ -65,7 +65,7 @@ STATIC OP *
 no_fh_allowed(OP *o)
 {
     yyerror(form("Missing comma after first argument to %s function",
-                op_desc[o->op_type]));
+                PL_op_desc[o->op_type]));
     return o;
 }
 
@@ -87,7 +87,7 @@ STATIC void
 bad_type(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, op_desc[kid->op_type]));
+                (int)n, name, t, PL_op_desc[kid->op_type]));
 }
 
 void
@@ -95,7 +95,7 @@ assertref(OP *o)
 {
     int type = o->op_type;
     if (type != OP_AELEM && type != OP_HELEM && type != OP_GELEM) {
-       yyerror(form("Can't use subscript on %s", op_desc[type]));
+       yyerror(form("Can't use subscript on %s", PL_op_desc[type]));
        if (type == OP_ENTERSUB || type == OP_RV2HV || type == OP_PADHV) {
            dTHR;
            SV *msg = sv_2mortal(
@@ -432,11 +432,11 @@ pad_alloc(I32 optype, U32 tmptype)
 #ifdef USE_THREADS
     DEBUG_X(PerlIO_printf(Perl_debug_log, "0x%lx Pad 0x%lx alloc %ld for %s\n",
                          (unsigned long) thr, (unsigned long) PL_curpad,
-                         (long) retval, op_name[optype]));
+                         (long) retval, PL_op_name[optype]));
 #else
     DEBUG_X(PerlIO_printf(Perl_debug_log, "Pad 0x%lx alloc %ld for %s\n",
                          (unsigned long) PL_curpad,
-                         (long) retval, op_name[optype]));
+                         (long) retval, PL_op_name[optype]));
 #endif /* USE_THREADS */
     return (PADOFFSET)retval;
 }
@@ -624,7 +624,7 @@ op_free(OP *o)
 #endif /* USE_THREADS */
     default:
        if (!(o->op_flags & OPf_REF)
-           || (check[o->op_type] != FUNC_NAME_TO_PTR(ck_ftst)))
+           || (PL_check[o->op_type] != FUNC_NAME_TO_PTR(ck_ftst)))
            break;
        /* FALL THROUGH */
     case OP_GVSV:
@@ -678,7 +678,7 @@ null(OP *o)
        pad_free(o->op_targ);
     o->op_targ = o->op_type;
     o->op_type = OP_NULL;
-    o->op_ppaddr = ppaddr[OP_NULL];
+    o->op_ppaddr = PL_ppaddr[OP_NULL];
 }
 
 /* Contextualizers */
@@ -820,7 +820,7 @@ scalarvoid(OP *o)
 
     switch (o->op_type) {
     default:
-       if (!(opargs[o->op_type] & OA_FOLDCONST))
+       if (!(PL_opargs[o->op_type] & OA_FOLDCONST))
            break;
        /* FALL THROUGH */
     case OP_REPEAT:
@@ -900,7 +900,7 @@ scalarvoid(OP *o)
     case OP_GETLOGIN:
       func_ops:
        if (!(o->op_private & OPpLVAL_INTRO))
-           useless = op_desc[o->op_type];
+           useless = PL_op_desc[o->op_type];
        break;
 
     case OP_RV2GV:
@@ -939,12 +939,12 @@ scalarvoid(OP *o)
 
     case OP_POSTINC:
        o->op_type = OP_PREINC;         /* pre-increment is faster */
-       o->op_ppaddr = ppaddr[OP_PREINC];
+       o->op_ppaddr = PL_ppaddr[OP_PREINC];
        break;
 
     case OP_POSTDEC:
        o->op_type = OP_PREDEC;         /* pre-decrement is faster */
-       o->op_ppaddr = ppaddr[OP_PREDEC];
+       o->op_ppaddr = PL_ppaddr[OP_PREDEC];
        break;
 
     case OP_OR:
@@ -1152,7 +1152,7 @@ mod(OP *o, I32 type)
        if ((type == OP_UNDEF || type == OP_REFGEN) &&
            !(o->op_flags & OPf_STACKED)) {
            o->op_type = OP_RV2CV;              /* entersub => rv2cv */
-           o->op_ppaddr = ppaddr[OP_RV2CV];
+           o->op_ppaddr = PL_ppaddr[OP_RV2CV];
            assert(cUNOPo->op_first->op_type == OP_NULL);
            null(((LISTOP*)cUNOPo->op_first)->op_first);/* disable pushmark */
            break;
@@ -1165,8 +1165,8 @@ mod(OP *o, I32 type)
            break;
        yyerror(form("Can't modify %s in %s",
                     (o->op_type == OP_NULL && (o->op_flags & OPf_SPECIAL)
-                     ? "do block" : op_desc[o->op_type]),
-                    type ? op_desc[type] : "local"));
+                     ? "do block" : PL_op_desc[o->op_type]),
+                    type ? PL_op_desc[type] : "local"));
        return o;
 
     case OP_PREINC:
@@ -1393,7 +1393,7 @@ ref(OP *o, I32 type)
        if ((type == OP_DEFINED || type == OP_LOCK) &&
            !(o->op_flags & OPf_STACKED)) {
            o->op_type = OP_RV2CV;             /* entersub => rv2cv */
-           o->op_ppaddr = ppaddr[OP_RV2CV];
+           o->op_ppaddr = PL_ppaddr[OP_RV2CV];
            assert(cUNOPo->op_first->op_type == OP_NULL);
            null(((LISTOP*)cUNOPo->op_first)->op_first);        /* disable pushmark */
            o->op_flags |= OPf_SPECIAL;
@@ -1485,7 +1485,7 @@ my(OP *o)
             type != OP_PADHV &&
             type != OP_PUSHMARK)
     {
-       yyerror(form("Can't declare %s in my", op_desc[o->op_type]));
+       yyerror(form("Can't declare %s in my", PL_op_desc[o->op_type]));
        return o;
     }
     o->op_flags |= OPf_MOD;
@@ -1512,7 +1512,7 @@ bind_match(I32 type, OP *left, OP *right)
        left->op_type == OP_RV2HV ||
        left->op_type == OP_PADAV ||
        left->op_type == OP_PADHV)) {
-      char *desc = op_desc[(right->op_type == OP_SUBST ||
+      char *desc = PL_op_desc[(right->op_type == OP_SUBST ||
                             right->op_type == OP_TRANS)
                            ? right->op_type : OP_MATCH];
       char *sample = ((left->op_type == OP_RV2AV ||
@@ -1558,13 +1558,13 @@ scope(OP *o)
        if (o->op_flags & OPf_PARENS || PERLDB_NOOPT || PL_tainting) {
            o = prepend_elem(OP_LINESEQ, newOP(OP_ENTER, 0), o);
            o->op_type = OP_LEAVE;
-           o->op_ppaddr = ppaddr[OP_LEAVE];
+           o->op_ppaddr = PL_ppaddr[OP_LEAVE];
        }
        else {
            if (o->op_type == OP_LINESEQ) {
                OP *kid;
                o->op_type = OP_SCOPE;
-               o->op_ppaddr = ppaddr[OP_SCOPE];
+               o->op_ppaddr = PL_ppaddr[OP_SCOPE];
                kid = ((LISTOP*)o)->op_first;
                if (kid->op_type == OP_NEXTSTATE || kid->op_type == OP_DBSTATE){
                    SvREFCNT_dec(((COP*)kid)->cop_filegv);
@@ -1729,15 +1729,15 @@ fold_constants(register OP *o)
     I32 type = o->op_type;
     SV *sv;
 
-    if (opargs[type] & OA_RETSCALAR)
+    if (PL_opargs[type] & OA_RETSCALAR)
        scalar(o);
-    if (opargs[type] & OA_TARGET)
+    if (PL_opargs[type] & OA_TARGET)
        o->op_targ = pad_alloc(type, SVs_PADTMP);
 
-    if ((opargs[type] & OA_OTHERINT) && (PL_hints & HINT_INTEGER))
-       o->op_ppaddr = ppaddr[type = ++(o->op_type)];
+    if ((PL_opargs[type] & OA_OTHERINT) && (PL_hints & HINT_INTEGER))
+       o->op_ppaddr = PL_ppaddr[type = ++(o->op_type)];
 
-    if (!(opargs[type] & OA_FOLDCONST))
+    if (!(PL_opargs[type] & OA_FOLDCONST))
        goto nope;
 
     switch (type) {
@@ -1800,7 +1800,7 @@ fold_constants(register OP *o)
     }
 
   nope:
-    if (!(opargs[type] & OA_OTHERINT))
+    if (!(PL_opargs[type] & OA_OTHERINT))
        return o;
 
     if (!(PL_hints & HINT_INTEGER)) {
@@ -1813,11 +1813,11 @@ fold_constants(register OP *o)
                    continue;
                return o;
            }
-           if (opargs[curop->op_type] & OA_RETINTEGER)
+           if (PL_opargs[curop->op_type] & OA_RETINTEGER)
                continue;
            return o;
        }
-       o->op_ppaddr = ppaddr[++(o->op_type)];
+       o->op_ppaddr = PL_ppaddr[++(o->op_type)];
     }
 
     return o;
@@ -1843,7 +1843,7 @@ gen_constant_list(register OP *o)
     PL_tmps_floor = oldtmps_floor;
 
     o->op_type = OP_RV2AV;
-    o->op_ppaddr = ppaddr[OP_RV2AV];
+    o->op_ppaddr = PL_ppaddr[OP_RV2AV];
     curop = ((UNOP*)o)->op_first;
     ((UNOP*)o)->op_first = newSVOP(OP_CONST, 0, SvREFCNT_inc(*PL_stack_sp--));
     op_free(curop);
@@ -1862,11 +1862,11 @@ convert(I32 type, I32 flags, OP *o)
     else
        o->op_flags &= ~OPf_WANT;
 
-    if (!(opargs[type] & OA_MARK))
+    if (!(PL_opargs[type] & OA_MARK))
        null(cLISTOPo->op_first);
 
     o->op_type = type;
-    o->op_ppaddr = ppaddr[type];
+    o->op_ppaddr = PL_ppaddr[type];
     o->op_flags |= flags;
 
     o = CHECKOP(type, o);
@@ -1987,7 +1987,7 @@ newLISTOP(I32 type, I32 flags, OP *first, OP *last)
     Newz(1101, listop, 1, LISTOP);
 
     listop->op_type = type;
-    listop->op_ppaddr = ppaddr[type];
+    listop->op_ppaddr = PL_ppaddr[type];
     listop->op_children = (first != 0) + (last != 0);
     listop->op_flags = flags;
 
@@ -2020,14 +2020,14 @@ newOP(I32 type, I32 flags)
     OP *o;
     Newz(1101, o, 1, OP);
     o->op_type = type;
-    o->op_ppaddr = ppaddr[type];
+    o->op_ppaddr = PL_ppaddr[type];
     o->op_flags = flags;
 
     o->op_next = o;
     o->op_private = 0 + (flags >> 8);
-    if (opargs[type] & OA_RETSCALAR)
+    if (PL_opargs[type] & OA_RETSCALAR)
        scalar(o);
-    if (opargs[type] & OA_TARGET)
+    if (PL_opargs[type] & OA_TARGET)
        o->op_targ = pad_alloc(type, SVs_PADTMP);
     return CHECKOP(type, o);
 }
@@ -2039,12 +2039,12 @@ newUNOP(I32 type, I32 flags, OP *first)
 
     if (!first)
        first = newOP(OP_STUB, 0);
-    if (opargs[type] & OA_MARK)
+    if (PL_opargs[type] & OA_MARK)
        first = force_list(first);
 
     Newz(1101, unop, 1, UNOP);
     unop->op_type = type;
-    unop->op_ppaddr = ppaddr[type];
+    unop->op_ppaddr = PL_ppaddr[type];
     unop->op_first = first;
     unop->op_flags = flags | OPf_KIDS;
     unop->op_private = 1 | (flags >> 8);
@@ -2065,7 +2065,7 @@ newBINOP(I32 type, I32 flags, OP *first, OP *last)
        first = newOP(OP_NULL, 0);
 
     binop->op_type = type;
-    binop->op_ppaddr = ppaddr[type];
+    binop->op_ppaddr = PL_ppaddr[type];
     binop->op_first = first;
     binop->op_flags = flags | OPf_KIDS;
     if (!last) {
@@ -2358,7 +2358,7 @@ newPMOP(I32 type, I32 flags)
 
     Newz(1101, pmop, 1, PMOP);
     pmop->op_type = type;
-    pmop->op_ppaddr = ppaddr[type];
+    pmop->op_ppaddr = PL_ppaddr[type];
     pmop->op_flags = flags;
     pmop->op_private = 0 | (flags >> 8);
 
@@ -2413,7 +2413,7 @@ pmruntime(OP *o, OP *expr, OP *repl)
 
        Newz(1101, rcop, 1, LOGOP);
        rcop->op_type = OP_REGCOMP;
-       rcop->op_ppaddr = ppaddr[OP_REGCOMP];
+       rcop->op_ppaddr = PL_ppaddr[OP_REGCOMP];
        rcop->op_first = scalar(expr);
        rcop->op_flags |= ((PL_hints & HINT_RE_EVAL) 
                           ? (OPf_SPECIAL | OPf_KIDS)
@@ -2452,7 +2452,7 @@ pmruntime(OP *o, OP *expr, OP *repl)
        else {
            OP *lastop = 0;
            for (curop = LINKLIST(repl); curop!=repl; curop = LINKLIST(curop)) {
-               if (opargs[curop->op_type] & OA_DANGEROUS) {
+               if (PL_opargs[curop->op_type] & OA_DANGEROUS) {
 #ifdef USE_THREADS
                    if (curop->op_type == OP_THREADSV) {
                        repl_has_vars = 1;
@@ -2505,7 +2505,7 @@ pmruntime(OP *o, OP *expr, OP *repl)
            }
            Newz(1101, rcop, 1, LOGOP);
            rcop->op_type = OP_SUBSTCONT;
-           rcop->op_ppaddr = ppaddr[OP_SUBSTCONT];
+           rcop->op_ppaddr = PL_ppaddr[OP_SUBSTCONT];
            rcop->op_first = scalar(repl);
            rcop->op_flags |= OPf_KIDS;
            rcop->op_private = 1;
@@ -2530,13 +2530,13 @@ newSVOP(I32 type, I32 flags, SV *sv)
     SVOP *svop;
     Newz(1101, svop, 1, SVOP);
     svop->op_type = type;
-    svop->op_ppaddr = ppaddr[type];
+    svop->op_ppaddr = PL_ppaddr[type];
     svop->op_sv = sv;
     svop->op_next = (OP*)svop;
     svop->op_flags = flags;
-    if (opargs[type] & OA_RETSCALAR)
+    if (PL_opargs[type] & OA_RETSCALAR)
        scalar((OP*)svop);
-    if (opargs[type] & OA_TARGET)
+    if (PL_opargs[type] & OA_TARGET)
        svop->op_targ = pad_alloc(type, SVs_PADTMP);
     return CHECKOP(type, svop);
 }
@@ -2548,13 +2548,13 @@ newGVOP(I32 type, I32 flags, GV *gv)
     GVOP *gvop;
     Newz(1101, gvop, 1, GVOP);
     gvop->op_type = type;
-    gvop->op_ppaddr = ppaddr[type];
+    gvop->op_ppaddr = PL_ppaddr[type];
     gvop->op_gv = (GV*)SvREFCNT_inc(gv);
     gvop->op_next = (OP*)gvop;
     gvop->op_flags = flags;
-    if (opargs[type] & OA_RETSCALAR)
+    if (PL_opargs[type] & OA_RETSCALAR)
        scalar((OP*)gvop);
-    if (opargs[type] & OA_TARGET)
+    if (PL_opargs[type] & OA_TARGET)
        gvop->op_targ = pad_alloc(type, SVs_PADTMP);
     return CHECKOP(type, gvop);
 }
@@ -2565,13 +2565,13 @@ newPVOP(I32 type, I32 flags, char *pv)
     PVOP *pvop;
     Newz(1101, pvop, 1, PVOP);
     pvop->op_type = type;
-    pvop->op_ppaddr = ppaddr[type];
+    pvop->op_ppaddr = PL_ppaddr[type];
     pvop->op_pv = pv;
     pvop->op_next = (OP*)pvop;
     pvop->op_flags = flags;
-    if (opargs[type] & OA_RETSCALAR)
+    if (PL_opargs[type] & OA_RETSCALAR)
        scalar((OP*)pvop);
-    if (opargs[type] & OA_TARGET)
+    if (PL_opargs[type] & OA_TARGET)
        pvop->op_targ = pad_alloc(type, SVs_PADTMP);
     return CHECKOP(type, pvop);
 }
@@ -2794,7 +2794,7 @@ newASSIGNOP(I32 flags, OP *left, I32 optype, OP *right)
            OP *lastop = o;
            PL_generation++;
            for (curop = LINKLIST(o); curop != o; curop = LINKLIST(curop)) {
-               if (opargs[curop->op_type] & OA_DANGEROUS) {
+               if (PL_opargs[curop->op_type] & OA_DANGEROUS) {
                    if (curop->op_type == OP_GV) {
                        GV *gv = ((GVOP*)curop)->op_gv;
                        if (gv == PL_defgv || SvCUR(gv) == PL_generation)
@@ -2903,11 +2903,11 @@ newSTATEOP(I32 flags, char *label, OP *o)
     Newz(1101, cop, 1, COP);
     if (PERLDB_LINE && PL_curcop->cop_line && PL_curstash != PL_debstash) {
        cop->op_type = OP_DBSTATE;
-       cop->op_ppaddr = ppaddr[ OP_DBSTATE ];
+       cop->op_ppaddr = PL_ppaddr[ OP_DBSTATE ];
     }
     else {
        cop->op_type = OP_NEXTSTATE;
-       cop->op_ppaddr = ppaddr[ OP_NEXTSTATE ];
+       cop->op_ppaddr = PL_ppaddr[ OP_NEXTSTATE ];
     }
     cop->op_flags = flags;
     cop->op_private = (PL_hints & HINT_UTF8);
@@ -3011,7 +3011,7 @@ new_logop(I32 type, I32 flags, OP** firstp, OP** otherp)
     if (first->op_type == OP_CONST) {
        if (ckWARN(WARN_PRECEDENCE) && (first->op_private & OPpCONST_BARE))
            warner(WARN_PRECEDENCE, "Probable precedence problem on %s", 
-                       op_desc[type]);
+                       PL_op_desc[type]);
        if ((type == OP_AND) == (SvTRUE(((SVOP*)first)->op_sv))) {
            op_free(first);
            *firstp = Nullop;
@@ -3054,7 +3054,7 @@ new_logop(I32 type, I32 flags, OP** firstp, OP** otherp)
            PL_curcop->cop_line = PL_copline;
            warner(WARN_UNSAFE,
                 "Value of %s%s can be \"0\"; test with defined()",
-                op_desc[warnop],
+                PL_op_desc[warnop],
                 ((warnop == OP_READLINE || warnop == OP_GLOB)
                  ? " construct" : "() operator"));
            PL_curcop->cop_line = oldline;
@@ -3070,7 +3070,7 @@ new_logop(I32 type, I32 flags, OP** firstp, OP** otherp)
     Newz(1101, logop, 1, LOGOP);
 
     logop->op_type = type;
-    logop->op_ppaddr = ppaddr[type];
+    logop->op_ppaddr = PL_ppaddr[type];
     logop->op_first = first;
     logop->op_flags = flags | OPf_KIDS;
     logop->op_other = LINKLIST(other);
@@ -3119,7 +3119,7 @@ newCONDOP(I32 flags, OP *first, OP *trueop, OP *falseop)
     Newz(1101, condop, 1, CONDOP);
 
     condop->op_type = OP_COND_EXPR;
-    condop->op_ppaddr = ppaddr[OP_COND_EXPR];
+    condop->op_ppaddr = PL_ppaddr[OP_COND_EXPR];
     condop->op_first = first;
     condop->op_flags = flags | OPf_KIDS;
     condop->op_true = LINKLIST(trueop);
@@ -3152,7 +3152,7 @@ newRANGE(I32 flags, OP *left, OP *right)
     Newz(1101, condop, 1, CONDOP);
 
     condop->op_type = OP_RANGE;
-    condop->op_ppaddr = ppaddr[OP_RANGE];
+    condop->op_ppaddr = PL_ppaddr[OP_RANGE];
     condop->op_first = left;
     condop->op_flags = OPf_KIDS;
     condop->op_true = LINKLIST(left);
@@ -3312,7 +3312,7 @@ newWHILEOP(I32 flags, I32 debuggable, LOOP *loop, I32 whileline, OP *expr, OP *b
     if (!loop) {
        Newz(1101,loop,1,LOOP);
        loop->op_type = OP_ENTERLOOP;
-       loop->op_ppaddr = ppaddr[OP_ENTERLOOP];
+       loop->op_ppaddr = PL_ppaddr[OP_ENTERLOOP];
        loop->op_private = 0;
        loop->op_next = (OP*)loop;
     }
@@ -3343,7 +3343,7 @@ newFOROP(I32 flags,char *label,line_t forline,OP *sv,OP *expr,OP *block,OP *cont
     if (sv) {
        if (sv->op_type == OP_RV2SV) {  /* symbol table variable */
            sv->op_type = OP_RV2GV;
-           sv->op_ppaddr = ppaddr[OP_RV2GV];
+           sv->op_ppaddr = PL_ppaddr[OP_RV2GV];
        }
        else if (sv->op_type == OP_PADSV) { /* private variable */
            padoff = sv->op_targ;
@@ -3357,7 +3357,7 @@ newFOROP(I32 flags,char *label,line_t forline,OP *sv,OP *expr,OP *block,OP *cont
            sv = Nullop;
        }
        else
-           croak("Can't use %s for loop variable", op_desc[sv->op_type]);
+           croak("Can't use %s for loop variable", PL_op_desc[sv->op_type]);
     }
     else {
 #ifdef USE_THREADS
@@ -4170,12 +4170,12 @@ oopsAV(OP *o)
     switch (o->op_type) {
     case OP_PADSV:
        o->op_type = OP_PADAV;
-       o->op_ppaddr = ppaddr[OP_PADAV];
+       o->op_ppaddr = PL_ppaddr[OP_PADAV];
        return ref(o, OP_RV2AV);
        
     case OP_RV2SV:
        o->op_type = OP_RV2AV;
-       o->op_ppaddr = ppaddr[OP_RV2AV];
+       o->op_ppaddr = PL_ppaddr[OP_RV2AV];
        ref(o, OP_RV2AV);
        break;
 
@@ -4193,13 +4193,13 @@ oopsHV(OP *o)
     case OP_PADSV:
     case OP_PADAV:
        o->op_type = OP_PADHV;
-       o->op_ppaddr = ppaddr[OP_PADHV];
+       o->op_ppaddr = PL_ppaddr[OP_PADHV];
        return ref(o, OP_RV2HV);
 
     case OP_RV2SV:
     case OP_RV2AV:
        o->op_type = OP_RV2HV;
-       o->op_ppaddr = ppaddr[OP_RV2HV];
+       o->op_ppaddr = PL_ppaddr[OP_RV2HV];
        ref(o, OP_RV2HV);
        break;
 
@@ -4215,7 +4215,7 @@ newAVREF(OP *o)
 {
     if (o->op_type == OP_PADANY) {
        o->op_type = OP_PADAV;
-       o->op_ppaddr = ppaddr[OP_PADAV];
+       o->op_ppaddr = PL_ppaddr[OP_PADAV];
        return o;
     }
     return newUNOP(OP_RV2AV, 0, scalar(o));
@@ -4234,7 +4234,7 @@ newHVREF(OP *o)
 {
     if (o->op_type == OP_PADANY) {
        o->op_type = OP_PADHV;
-       o->op_ppaddr = ppaddr[OP_PADHV];
+       o->op_ppaddr = PL_ppaddr[OP_PADHV];
        return o;
     }
     return newUNOP(OP_RV2HV, 0, scalar(o));
@@ -4259,7 +4259,7 @@ newSVREF(OP *o)
 {
     if (o->op_type == OP_PADANY) {
        o->op_type = OP_PADSV;
-       o->op_ppaddr = ppaddr[OP_PADSV];
+       o->op_ppaddr = PL_ppaddr[OP_PADSV];
        return o;
     }
     else if (o->op_type == OP_THREADSV && !(o->op_flags & OPpDONE_SVREF)) {
@@ -4318,7 +4318,7 @@ ck_spair(OP *o)
        newop = kUNOP->op_first->op_sibling;
        if (newop &&
            (newop->op_sibling ||
-            !(opargs[newop->op_type] & OA_RETSCALAR) ||
+            !(PL_opargs[newop->op_type] & OA_RETSCALAR) ||
             newop->op_type == OP_PADAV || newop->op_type == OP_PADHV ||
             newop->op_type == OP_RV2AV || newop->op_type == OP_RV2HV)) {
        
@@ -4327,7 +4327,7 @@ ck_spair(OP *o)
        op_free(kUNOP->op_first);
        kUNOP->op_first = newop;
     }
-    o->op_ppaddr = ppaddr[++o->op_type];
+    o->op_ppaddr = PL_ppaddr[++o->op_type];
     return ck_fun(o);
 }
 
@@ -4342,7 +4342,7 @@ ck_delete(OP *o)
            o->op_private |= OPpSLICE;
        else if (kid->op_type != OP_HELEM)
            croak("%s argument is not a HASH element or slice",
-                 op_desc[o->op_type]);
+                 PL_op_desc[o->op_type]);
        null(kid);
     }
     return o;
@@ -4384,7 +4384,7 @@ ck_eval(OP *o)
 
            Newz(1101, enter, 1, LOGOP);
            enter->op_type = OP_ENTERTRY;
-           enter->op_ppaddr = ppaddr[OP_ENTERTRY];
+           enter->op_ppaddr = PL_ppaddr[OP_ENTERTRY];
            enter->op_private = 0;
 
            /* establish postfix order */
@@ -4392,7 +4392,7 @@ ck_eval(OP *o)
 
            o = prepend_elem(OP_LINESEQ, (OP*)enter, (OP*)kid);
            o->op_type = OP_LEAVETRY;
-           o->op_ppaddr = ppaddr[OP_LEAVETRY];
+           o->op_ppaddr = PL_ppaddr[OP_LEAVETRY];
            enter->op_other = o;
            return o;
        }
@@ -4429,12 +4429,13 @@ ck_exists(OP *o)
     if (o->op_flags & OPf_KIDS) {
        OP *kid = cUNOPo->op_first;
        if (kid->op_type != OP_HELEM)
-           croak("%s argument is not a HASH element", op_desc[o->op_type]);
+           croak("%s argument is not a HASH element", PL_op_desc[o->op_type]);
        null(kid);
     }
     return o;
 }
 
+#if 0
 OP *
 ck_gvconst(register OP *o)
 {
@@ -4443,6 +4444,7 @@ ck_gvconst(register OP *o)
        o->op_type = OP_GV;
     return o;
 }
+#endif
 
 OP *
 ck_rvconst(register OP *o)
@@ -4583,7 +4585,7 @@ ck_fun(OP *o)
     OP *sibl;
     I32 numargs = 0;
     int type = o->op_type;
-    register I32 oa = opargs[type] >> OASHIFT;
+    register I32 oa = PL_opargs[type] >> OASHIFT;
 
     if (o->op_flags & OPf_STACKED) {
        if ((oa & OA_OPTIONAL) && (oa >> 4) && !((oa >> 4) & OA_OPTIONAL))
@@ -4601,7 +4603,7 @@ ck_fun(OP *o)
            tokid = &kid->op_sibling;
            kid = kid->op_sibling;
        }
-       if (!kid && opargs[type] & OA_DEFGV)
+       if (!kid && PL_opargs[type] & OA_DEFGV)
            *tokid = kid = newDEFSVOP();
 
        while (oa && kid) {
@@ -4628,14 +4630,14 @@ ck_fun(OP *o)
                    if (ckWARN(WARN_SYNTAX))
                        warner(WARN_SYNTAX,
                            "Array @%s missing the @ in argument %ld of %s()",
-                           name, (long)numargs, op_desc[type]);
+                           name, (long)numargs, PL_op_desc[type]);
                    op_free(kid);
                    kid = newop;
                    kid->op_sibling = sibl;
                    *tokid = kid;
                }
                else if (kid->op_type != OP_RV2AV && kid->op_type != OP_PADAV)
-                   bad_type(numargs, "array", op_desc[o->op_type], kid);
+                   bad_type(numargs, "array", PL_op_desc[o->op_type], kid);
                mod(kid, type);
                break;
            case OA_HVREF:
@@ -4647,14 +4649,14 @@ ck_fun(OP *o)
                    if (ckWARN(WARN_SYNTAX))
                        warner(WARN_SYNTAX,
                            "Hash %%%s missing the %% in argument %ld of %s()",
-                           name, (long)numargs, op_desc[type]);
+                           name, (long)numargs, PL_op_desc[type]);
                    op_free(kid);
                    kid = newop;
                    kid->op_sibling = sibl;
                    *tokid = kid;
                }
                else if (kid->op_type != OP_RV2HV && kid->op_type != OP_PADHV)
-                   bad_type(numargs, "hash", op_desc[o->op_type], kid);
+                   bad_type(numargs, "hash", PL_op_desc[o->op_type], kid);
                mod(kid, type);
                break;
            case OA_CVREF:
@@ -4697,10 +4699,10 @@ ck_fun(OP *o)
        }
        o->op_private |= numargs;
        if (kid)
-           return too_many_arguments(o,op_desc[o->op_type]);
+           return too_many_arguments(o,PL_op_desc[o->op_type]);
        listkids(o);
     }
-    else if (opargs[type] & OA_DEFGV) {
+    else if (PL_opargs[type] & OA_DEFGV) {
        op_free(o);
        return newUNOP(type, 0, newDEFSVOP());
     }
@@ -4709,7 +4711,7 @@ ck_fun(OP *o)
        while (oa & OA_OPTIONAL)
            oa >>= 4;
        if (oa && oa != OA_LIST)
-           return too_few_arguments(o,op_desc[o->op_type]);
+           return too_few_arguments(o,PL_op_desc[o->op_type]);
     }
     return o;
 }
@@ -4731,9 +4733,9 @@ ck_glob(OP *o)
        append_elem(OP_GLOB, o,
                    newSVOP(OP_CONST, 0, newSViv(glob_index++)));
        o->op_type = OP_LIST;
-       o->op_ppaddr = ppaddr[OP_LIST];
+       o->op_ppaddr = PL_ppaddr[OP_LIST];
        cLISTOPo->op_first->op_type = OP_PUSHMARK;
-       cLISTOPo->op_first->op_ppaddr = ppaddr[OP_PUSHMARK];
+       cLISTOPo->op_first->op_ppaddr = PL_ppaddr[OP_PUSHMARK];
        o = newUNOP(OP_ENTERSUB, OPf_STACKED,
                    append_elem(OP_LIST, o,
                                scalar(newUNOP(OP_RV2CV, 0,
@@ -4756,7 +4758,7 @@ ck_grep(OP *o)
     OP *kid;
     OPCODE type = o->op_type == OP_GREPSTART ? OP_GREPWHILE : OP_MAPWHILE;
 
-    o->op_ppaddr = ppaddr[OP_GREPSTART];
+    o->op_ppaddr = PL_ppaddr[OP_GREPSTART];
     Newz(1101, gwop, 1, LOGOP);
 
     if (o->op_flags & OPf_STACKED) {
@@ -4783,7 +4785,7 @@ ck_grep(OP *o)
     kid = kUNOP->op_first;
 
     gwop->op_type = type;
-    gwop->op_ppaddr = ppaddr[type];
+    gwop->op_ppaddr = PL_ppaddr[type];
     gwop->op_first = listkids(o);
     gwop->op_flags |= OPf_KIDS;
     gwop->op_private = 1;
@@ -4793,7 +4795,7 @@ ck_grep(OP *o)
 
     kid = cLISTOPo->op_first->op_sibling;
     if (!kid || !kid->op_sibling)
-       return too_few_arguments(o,op_desc[o->op_type]);
+       return too_few_arguments(o,PL_op_desc[o->op_type]);
     for (kid = kid->op_sibling; kid; kid = kid->op_sibling)
        mod(kid, OP_GREPSTART);
 
@@ -4944,6 +4946,7 @@ ck_require(OP *o)
     return ck_fun(o);
 }
 
+#if 0
 OP *
 ck_retarget(OP *o)
 {
@@ -4951,6 +4954,7 @@ ck_retarget(OP *o)
     /* STUB */
     return o;
 }
+#endif
 
 OP *
 ck_select(OP *o)
@@ -4960,7 +4964,7 @@ ck_select(OP *o)
        kid = cLISTOPo->op_first->op_sibling;   /* get past pushmark */
        if (kid && kid->op_sibling) {
            o->op_type = OP_SSELECT;
-           o->op_ppaddr = ppaddr[OP_SSELECT];
+           o->op_ppaddr = PL_ppaddr[OP_SSELECT];
            o = ck_fun(o);
            return fold_constants(o);
        }
@@ -5080,7 +5084,7 @@ ck_split(OP *o)
     }
 
     kid->op_type = OP_PUSHRE;
-    kid->op_ppaddr = ppaddr[OP_PUSHRE];
+    kid->op_ppaddr = PL_ppaddr[OP_PUSHRE];
     scalar(kid);
 
     if (!kid->op_sibling)
@@ -5096,7 +5100,7 @@ ck_split(OP *o)
     scalar(kid);
 
     if (kid->op_sibling)
-       return too_many_arguments(o,op_desc[o->op_type]);
+       return too_many_arguments(o,PL_op_desc[o->op_type]);
 
     return o;
 }
@@ -5319,7 +5323,7 @@ peep(register OP *o)
                    o->op_private |= o->op_next->op_private & OPpLVAL_INTRO;
                    o->op_next = o->op_next->op_next;
                    o->op_type = OP_GVSV;
-                   o->op_ppaddr = ppaddr[OP_GVSV];
+                   o->op_ppaddr = PL_ppaddr[OP_GVSV];
                }
            }
            else if (o->op_next->op_type == OP_RV2AV) {
@@ -5341,7 +5345,7 @@ peep(register OP *o)
                    o->op_flags |= pop->op_next->op_flags & OPf_MOD;
                    o->op_next = pop->op_next->op_next;
                    o->op_type = OP_AELEMFAST;
-                   o->op_ppaddr = ppaddr[OP_AELEMFAST];
+                   o->op_ppaddr = PL_ppaddr[OP_AELEMFAST];
                    o->op_private = (U8)i;
                    GvAVn(((GVOP*)o)->op_gv);
                }
@@ -5429,9 +5433,9 @@ peep(register OP *o)
            if (ind < 1)
                croak("Bad index while coercing array into hash");
            rop->op_type = OP_RV2AV;
-           rop->op_ppaddr = ppaddr[OP_RV2AV];
+           rop->op_ppaddr = PL_ppaddr[OP_RV2AV];
            o->op_type = OP_AELEM;
-           o->op_ppaddr = ppaddr[OP_AELEM];
+           o->op_ppaddr = PL_ppaddr[OP_AELEM];
            SvREFCNT_dec(*svp);
            *svp = newSViv(ind);
            break;
index 2abaa47..abd9bff 100644 (file)
--- a/opcode.h
+++ b/opcode.h
@@ -358,9 +358,9 @@ typedef enum {
 #define MAXO 348
 
 #ifndef DOINIT
-EXT char *op_name[];
+EXT char *PL_op_name[];
 #else
-EXT char *op_name[] = {
+EXT char *PL_op_name[] = {
        "null",
        "stub",
        "scalar",
@@ -713,9 +713,9 @@ EXT char *op_name[] = {
 #endif
 
 #ifndef DOINIT
-EXT char *op_desc[];
+EXT char *PL_op_desc[];
 #else
-EXT char *op_desc[] = {
+EXT char *PL_op_desc[] = {
        "null operation",
        "stub",
        "scalar",
@@ -1070,396 +1070,21 @@ EXT char *op_desc[] = {
 #ifndef PERL_OBJECT
 START_EXTERN_C
 
-OP *   ck_anoncode     _((OP* o));
-OP *   ck_bitop        _((OP* o));
-OP *   ck_concat       _((OP* o));
-OP *   ck_delete       _((OP* o));
-OP *   ck_eof          _((OP* o));
-OP *   ck_eval         _((OP* o));
-OP *   ck_exec         _((OP* o));
-OP *   ck_exists       _((OP* o));
-OP *   ck_ftst         _((OP* o));
-OP *   ck_fun          _((OP* o));
-OP *   ck_fun_locale   _((OP* o));
-OP *   ck_glob         _((OP* o));
-OP *   ck_grep         _((OP* o));
-OP *   ck_index        _((OP* o));
-OP *   ck_lengthconst  _((OP* o));
-OP *   ck_lfun         _((OP* o));
-OP *   ck_listiob      _((OP* o));
-OP *   ck_match        _((OP* o));
-OP *   ck_null         _((OP* o));
-OP *   ck_repeat       _((OP* o));
-OP *   ck_require      _((OP* o));
-OP *   ck_rfun         _((OP* o));
-OP *   ck_rvconst      _((OP* o));
-OP *   ck_scmp         _((OP* o));
-OP *   ck_select       _((OP* o));
-OP *   ck_shift        _((OP* o));
-OP *   ck_sort         _((OP* o));
-OP *   ck_spair        _((OP* o));
-OP *   ck_split        _((OP* o));
-OP *   ck_subr         _((OP* o));
-OP *   ck_svconst      _((OP* o));
-OP *   ck_trunc        _((OP* o));
+#undef PERL_CKDEF
+#undef PERL_PPDEF
+#define PERL_CKDEF(s) OP *s _((OP *o));
+#define PERL_PPDEF(s) OP *s _((ARGSproto));
+
+#include "pp_proto.h"
 
-OP *   pp_null         _((ARGSproto));
-OP *   pp_stub         _((ARGSproto));
-OP *   pp_scalar       _((ARGSproto));
-OP *   pp_pushmark     _((ARGSproto));
-OP *   pp_wantarray    _((ARGSproto));
-OP *   pp_const        _((ARGSproto));
-OP *   pp_gvsv         _((ARGSproto));
-OP *   pp_gv           _((ARGSproto));
-OP *   pp_gelem        _((ARGSproto));
-OP *   pp_padsv        _((ARGSproto));
-OP *   pp_padav        _((ARGSproto));
-OP *   pp_padhv        _((ARGSproto));
-OP *   pp_padany       _((ARGSproto));
-OP *   pp_pushre       _((ARGSproto));
-OP *   pp_rv2gv        _((ARGSproto));
-OP *   pp_rv2sv        _((ARGSproto));
-OP *   pp_av2arylen    _((ARGSproto));
-OP *   pp_rv2cv        _((ARGSproto));
-OP *   pp_anoncode     _((ARGSproto));
-OP *   pp_prototype    _((ARGSproto));
-OP *   pp_refgen       _((ARGSproto));
-OP *   pp_srefgen      _((ARGSproto));
-OP *   pp_ref          _((ARGSproto));
-OP *   pp_bless        _((ARGSproto));
-OP *   pp_backtick     _((ARGSproto));
-OP *   pp_glob         _((ARGSproto));
-OP *   pp_readline     _((ARGSproto));
-OP *   pp_rcatline     _((ARGSproto));
-OP *   pp_regcmaybe    _((ARGSproto));
-OP *   pp_regcreset    _((ARGSproto));
-OP *   pp_regcomp      _((ARGSproto));
-OP *   pp_match        _((ARGSproto));
-OP *   pp_qr           _((ARGSproto));
-OP *   pp_subst        _((ARGSproto));
-OP *   pp_substcont    _((ARGSproto));
-OP *   pp_trans        _((ARGSproto));
-OP *   pp_sassign      _((ARGSproto));
-OP *   pp_aassign      _((ARGSproto));
-OP *   pp_chop         _((ARGSproto));
-OP *   pp_schop        _((ARGSproto));
-OP *   pp_chomp        _((ARGSproto));
-OP *   pp_schomp       _((ARGSproto));
-OP *   pp_defined      _((ARGSproto));
-OP *   pp_undef        _((ARGSproto));
-OP *   pp_study        _((ARGSproto));
-OP *   pp_pos          _((ARGSproto));
-OP *   pp_preinc       _((ARGSproto));
-OP *   pp_i_preinc     _((ARGSproto));
-OP *   pp_predec       _((ARGSproto));
-OP *   pp_i_predec     _((ARGSproto));
-OP *   pp_postinc      _((ARGSproto));
-OP *   pp_i_postinc    _((ARGSproto));
-OP *   pp_postdec      _((ARGSproto));
-OP *   pp_i_postdec    _((ARGSproto));
-OP *   pp_pow          _((ARGSproto));
-OP *   pp_multiply     _((ARGSproto));
-OP *   pp_i_multiply   _((ARGSproto));
-OP *   pp_divide       _((ARGSproto));
-OP *   pp_i_divide     _((ARGSproto));
-OP *   pp_modulo       _((ARGSproto));
-OP *   pp_i_modulo     _((ARGSproto));
-OP *   pp_repeat       _((ARGSproto));
-OP *   pp_add          _((ARGSproto));
-OP *   pp_i_add        _((ARGSproto));
-OP *   pp_subtract     _((ARGSproto));
-OP *   pp_i_subtract   _((ARGSproto));
-OP *   pp_concat       _((ARGSproto));
-OP *   pp_stringify    _((ARGSproto));
-OP *   pp_left_shift   _((ARGSproto));
-OP *   pp_right_shift  _((ARGSproto));
-OP *   pp_lt           _((ARGSproto));
-OP *   pp_i_lt         _((ARGSproto));
-OP *   pp_gt           _((ARGSproto));
-OP *   pp_i_gt         _((ARGSproto));
-OP *   pp_le           _((ARGSproto));
-OP *   pp_i_le         _((ARGSproto));
-OP *   pp_ge           _((ARGSproto));
-OP *   pp_i_ge         _((ARGSproto));
-OP *   pp_eq           _((ARGSproto));
-OP *   pp_i_eq         _((ARGSproto));
-OP *   pp_ne           _((ARGSproto));
-OP *   pp_i_ne         _((ARGSproto));
-OP *   pp_ncmp         _((ARGSproto));
-OP *   pp_i_ncmp       _((ARGSproto));
-OP *   pp_slt          _((ARGSproto));
-OP *   pp_sgt          _((ARGSproto));
-OP *   pp_sle          _((ARGSproto));
-OP *   pp_sge          _((ARGSproto));
-OP *   pp_seq          _((ARGSproto));
-OP *   pp_sne          _((ARGSproto));
-OP *   pp_scmp         _((ARGSproto));
-OP *   pp_bit_and      _((ARGSproto));
-OP *   pp_bit_xor      _((ARGSproto));
-OP *   pp_bit_or       _((ARGSproto));
-OP *   pp_negate       _((ARGSproto));
-OP *   pp_i_negate     _((ARGSproto));
-OP *   pp_not          _((ARGSproto));
-OP *   pp_complement   _((ARGSproto));
-OP *   pp_atan2        _((ARGSproto));
-OP *   pp_sin          _((ARGSproto));
-OP *   pp_cos          _((ARGSproto));
-OP *   pp_rand         _((ARGSproto));
-OP *   pp_srand        _((ARGSproto));
-OP *   pp_exp          _((ARGSproto));
-OP *   pp_log          _((ARGSproto));
-OP *   pp_sqrt         _((ARGSproto));
-OP *   pp_int          _((ARGSproto));
-OP *   pp_hex          _((ARGSproto));
-OP *   pp_oct          _((ARGSproto));
-OP *   pp_abs          _((ARGSproto));
-OP *   pp_length       _((ARGSproto));
-OP *   pp_substr       _((ARGSproto));
-OP *   pp_vec          _((ARGSproto));
-OP *   pp_index        _((ARGSproto));
-OP *   pp_rindex       _((ARGSproto));
-OP *   pp_sprintf      _((ARGSproto));
-OP *   pp_formline     _((ARGSproto));
-OP *   pp_ord          _((ARGSproto));
-OP *   pp_chr          _((ARGSproto));
-OP *   pp_crypt        _((ARGSproto));
-OP *   pp_ucfirst      _((ARGSproto));
-OP *   pp_lcfirst      _((ARGSproto));
-OP *   pp_uc           _((ARGSproto));
-OP *   pp_lc           _((ARGSproto));
-OP *   pp_quotemeta    _((ARGSproto));
-OP *   pp_rv2av        _((ARGSproto));
-OP *   pp_aelemfast    _((ARGSproto));
-OP *   pp_aelem        _((ARGSproto));
-OP *   pp_aslice       _((ARGSproto));
-OP *   pp_each         _((ARGSproto));
-OP *   pp_values       _((ARGSproto));
-OP *   pp_keys         _((ARGSproto));
-OP *   pp_delete       _((ARGSproto));
-OP *   pp_exists       _((ARGSproto));
-OP *   pp_rv2hv        _((ARGSproto));
-OP *   pp_helem        _((ARGSproto));
-OP *   pp_hslice       _((ARGSproto));
-OP *   pp_unpack       _((ARGSproto));
-OP *   pp_pack         _((ARGSproto));
-OP *   pp_split        _((ARGSproto));
-OP *   pp_join         _((ARGSproto));
-OP *   pp_list         _((ARGSproto));
-OP *   pp_lslice       _((ARGSproto));
-OP *   pp_anonlist     _((ARGSproto));
-OP *   pp_anonhash     _((ARGSproto));
-OP *   pp_splice       _((ARGSproto));
-OP *   pp_push         _((ARGSproto));
-OP *   pp_pop          _((ARGSproto));
-OP *   pp_shift        _((ARGSproto));
-OP *   pp_unshift      _((ARGSproto));
-OP *   pp_sort         _((ARGSproto));
-OP *   pp_reverse      _((ARGSproto));
-OP *   pp_grepstart    _((ARGSproto));
-OP *   pp_grepwhile    _((ARGSproto));
-OP *   pp_mapstart     _((ARGSproto));
-OP *   pp_mapwhile     _((ARGSproto));
-OP *   pp_range        _((ARGSproto));
-OP *   pp_flip         _((ARGSproto));
-OP *   pp_flop         _((ARGSproto));
-OP *   pp_and          _((ARGSproto));
-OP *   pp_or           _((ARGSproto));
-OP *   pp_xor          _((ARGSproto));
-OP *   pp_cond_expr    _((ARGSproto));
-OP *   pp_andassign    _((ARGSproto));
-OP *   pp_orassign     _((ARGSproto));
-OP *   pp_method       _((ARGSproto));
-OP *   pp_entersub     _((ARGSproto));
-OP *   pp_leavesub     _((ARGSproto));
-OP *   pp_caller       _((ARGSproto));
-OP *   pp_warn         _((ARGSproto));
-OP *   pp_die          _((ARGSproto));
-OP *   pp_reset        _((ARGSproto));
-OP *   pp_lineseq      _((ARGSproto));
-OP *   pp_nextstate    _((ARGSproto));
-OP *   pp_dbstate      _((ARGSproto));
-OP *   pp_unstack      _((ARGSproto));
-OP *   pp_enter        _((ARGSproto));
-OP *   pp_leave        _((ARGSproto));
-OP *   pp_scope        _((ARGSproto));
-OP *   pp_enteriter    _((ARGSproto));
-OP *   pp_iter         _((ARGSproto));
-OP *   pp_enterloop    _((ARGSproto));
-OP *   pp_leaveloop    _((ARGSproto));
-OP *   pp_return       _((ARGSproto));
-OP *   pp_last         _((ARGSproto));
-OP *   pp_next         _((ARGSproto));
-OP *   pp_redo         _((ARGSproto));
-OP *   pp_dump         _((ARGSproto));
-OP *   pp_goto         _((ARGSproto));
-OP *   pp_exit         _((ARGSproto));
-OP *   pp_open         _((ARGSproto));
-OP *   pp_close        _((ARGSproto));
-OP *   pp_pipe_op      _((ARGSproto));
-OP *   pp_fileno       _((ARGSproto));
-OP *   pp_umask        _((ARGSproto));
-OP *   pp_binmode      _((ARGSproto));
-OP *   pp_tie          _((ARGSproto));
-OP *   pp_untie        _((ARGSproto));
-OP *   pp_tied         _((ARGSproto));
-OP *   pp_dbmopen      _((ARGSproto));
-OP *   pp_dbmclose     _((ARGSproto));
-OP *   pp_sselect      _((ARGSproto));
-OP *   pp_select       _((ARGSproto));
-OP *   pp_getc         _((ARGSproto));
-OP *   pp_read         _((ARGSproto));
-OP *   pp_enterwrite   _((ARGSproto));
-OP *   pp_leavewrite   _((ARGSproto));
-OP *   pp_prtf         _((ARGSproto));
-OP *   pp_print        _((ARGSproto));
-OP *   pp_sysopen      _((ARGSproto));
-OP *   pp_sysseek      _((ARGSproto));
-OP *   pp_sysread      _((ARGSproto));
-OP *   pp_syswrite     _((ARGSproto));
-OP *   pp_send         _((ARGSproto));
-OP *   pp_recv         _((ARGSproto));
-OP *   pp_eof          _((ARGSproto));
-OP *   pp_tell         _((ARGSproto));
-OP *   pp_seek         _((ARGSproto));
-OP *   pp_truncate     _((ARGSproto));
-OP *   pp_fcntl        _((ARGSproto));
-OP *   pp_ioctl        _((ARGSproto));
-OP *   pp_flock        _((ARGSproto));
-OP *   pp_socket       _((ARGSproto));
-OP *   pp_sockpair     _((ARGSproto));
-OP *   pp_bind         _((ARGSproto));
-OP *   pp_connect      _((ARGSproto));
-OP *   pp_listen       _((ARGSproto));
-OP *   pp_accept       _((ARGSproto));
-OP *   pp_shutdown     _((ARGSproto));
-OP *   pp_gsockopt     _((ARGSproto));
-OP *   pp_ssockopt     _((ARGSproto));
-OP *   pp_getsockname  _((ARGSproto));
-OP *   pp_getpeername  _((ARGSproto));
-OP *   pp_lstat        _((ARGSproto));
-OP *   pp_stat         _((ARGSproto));
-OP *   pp_ftrread      _((ARGSproto));
-OP *   pp_ftrwrite     _((ARGSproto));
-OP *   pp_ftrexec      _((ARGSproto));
-OP *   pp_fteread      _((ARGSproto));
-OP *   pp_ftewrite     _((ARGSproto));
-OP *   pp_fteexec      _((ARGSproto));
-OP *   pp_ftis         _((ARGSproto));
-OP *   pp_fteowned     _((ARGSproto));
-OP *   pp_ftrowned     _((ARGSproto));
-OP *   pp_ftzero       _((ARGSproto));
-OP *   pp_ftsize       _((ARGSproto));
-OP *   pp_ftmtime      _((ARGSproto));
-OP *   pp_ftatime      _((ARGSproto));
-OP *   pp_ftctime      _((ARGSproto));
-OP *   pp_ftsock       _((ARGSproto));
-OP *   pp_ftchr        _((ARGSproto));
-OP *   pp_ftblk        _((ARGSproto));
-OP *   pp_ftfile       _((ARGSproto));
-OP *   pp_ftdir        _((ARGSproto));
-OP *   pp_ftpipe       _((ARGSproto));
-OP *   pp_ftlink       _((ARGSproto));
-OP *   pp_ftsuid       _((ARGSproto));
-OP *   pp_ftsgid       _((ARGSproto));
-OP *   pp_ftsvtx       _((ARGSproto));
-OP *   pp_fttty        _((ARGSproto));
-OP *   pp_fttext       _((ARGSproto));
-OP *   pp_ftbinary     _((ARGSproto));
-OP *   pp_chdir        _((ARGSproto));
-OP *   pp_chown        _((ARGSproto));
-OP *   pp_chroot       _((ARGSproto));
-OP *   pp_unlink       _((ARGSproto));
-OP *   pp_chmod        _((ARGSproto));
-OP *   pp_utime        _((ARGSproto));
-OP *   pp_rename       _((ARGSproto));
-OP *   pp_link         _((ARGSproto));
-OP *   pp_symlink      _((ARGSproto));
-OP *   pp_readlink     _((ARGSproto));
-OP *   pp_mkdir        _((ARGSproto));
-OP *   pp_rmdir        _((ARGSproto));
-OP *   pp_open_dir     _((ARGSproto));
-OP *   pp_readdir      _((ARGSproto));
-OP *   pp_telldir      _((ARGSproto));
-OP *   pp_seekdir      _((ARGSproto));
-OP *   pp_rewinddir    _((ARGSproto));
-OP *   pp_closedir     _((ARGSproto));
-OP *   pp_fork         _((ARGSproto));
-OP *   pp_wait         _((ARGSproto));
-OP *   pp_waitpid      _((ARGSproto));
-OP *   pp_system       _((ARGSproto));
-OP *   pp_exec         _((ARGSproto));
-OP *   pp_kill         _((ARGSproto));
-OP *   pp_getppid      _((ARGSproto));
-OP *   pp_getpgrp      _((ARGSproto));
-OP *   pp_setpgrp      _((ARGSproto));
-OP *   pp_getpriority  _((ARGSproto));
-OP *   pp_setpriority  _((ARGSproto));
-OP *   pp_time         _((ARGSproto));
-OP *   pp_tms          _((ARGSproto));
-OP *   pp_localtime    _((ARGSproto));
-OP *   pp_gmtime       _((ARGSproto));
-OP *   pp_alarm        _((ARGSproto));
-OP *   pp_sleep        _((ARGSproto));
-OP *   pp_shmget       _((ARGSproto));
-OP *   pp_shmctl       _((ARGSproto));
-OP *   pp_shmread      _((ARGSproto));
-OP *   pp_shmwrite     _((ARGSproto));
-OP *   pp_msgget       _((ARGSproto));
-OP *   pp_msgctl       _((ARGSproto));
-OP *   pp_msgsnd       _((ARGSproto));
-OP *   pp_msgrcv       _((ARGSproto));
-OP *   pp_semget       _((ARGSproto));
-OP *   pp_semctl       _((ARGSproto));
-OP *   pp_semop        _((ARGSproto));
-OP *   pp_require      _((ARGSproto));
-OP *   pp_dofile       _((ARGSproto));
-OP *   pp_entereval    _((ARGSproto));
-OP *   pp_leaveeval    _((ARGSproto));
-OP *   pp_entertry     _((ARGSproto));
-OP *   pp_leavetry     _((ARGSproto));
-OP *   pp_ghbyname     _((ARGSproto));
-OP *   pp_ghbyaddr     _((ARGSproto));
-OP *   pp_ghostent     _((ARGSproto));
-OP *   pp_gnbyname     _((ARGSproto));
-OP *   pp_gnbyaddr     _((ARGSproto));
-OP *   pp_gnetent      _((ARGSproto));
-OP *   pp_gpbyname     _((ARGSproto));
-OP *   pp_gpbynumber   _((ARGSproto));
-OP *   pp_gprotoent    _((ARGSproto));
-OP *   pp_gsbyname     _((ARGSproto));
-OP *   pp_gsbyport     _((ARGSproto));
-OP *   pp_gservent     _((ARGSproto));
-OP *   pp_shostent     _((ARGSproto));
-OP *   pp_snetent      _((ARGSproto));
-OP *   pp_sprotoent    _((ARGSproto));
-OP *   pp_sservent     _((ARGSproto));
-OP *   pp_ehostent     _((ARGSproto));
-OP *   pp_enetent      _((ARGSproto));
-OP *   pp_eprotoent    _((ARGSproto));
-OP *   pp_eservent     _((ARGSproto));
-OP *   pp_gpwnam       _((ARGSproto));
-OP *   pp_gpwuid       _((ARGSproto));
-OP *   pp_gpwent       _((ARGSproto));
-OP *   pp_spwent       _((ARGSproto));
-OP *   pp_epwent       _((ARGSproto));
-OP *   pp_ggrnam       _((ARGSproto));
-OP *   pp_ggrgid       _((ARGSproto));
-OP *   pp_ggrent       _((ARGSproto));
-OP *   pp_sgrent       _((ARGSproto));
-OP *   pp_egrent       _((ARGSproto));
-OP *   pp_getlogin     _((ARGSproto));
-OP *   pp_syscall      _((ARGSproto));
-OP *   pp_lock         _((ARGSproto));
-OP *   pp_threadsv     _((ARGSproto));
 
 END_EXTERN_C
 #endif /* PERL_OBJECT */
 
 #ifndef DOINIT
-EXT OP * (CPERLscope(*ppaddr)[])(ARGSproto);
+EXT OP * (CPERLscope(*PL_ppaddr)[])(ARGSproto);
 #else
-#ifndef PERL_OBJECT
-EXT OP * (CPERLscope(*ppaddr)[])(ARGSproto) = {
+EXT OP * (CPERLscope(*PL_ppaddr)[])(ARGSproto) = {
        pp_null,
        pp_stub,
        pp_scalar,
@@ -1809,14 +1434,12 @@ EXT OP * (CPERLscope(*ppaddr)[])(ARGSproto) = {
        pp_lock,
        pp_threadsv,
 };
-#endif /* PERL_OBJECT */
 #endif
 
 #ifndef DOINIT
-EXT OP * (CPERLscope(*check)[]) _((OP *op));
+EXT OP * (CPERLscope(*PL_check)[]) _((OP *op));
 #else
-#ifndef PERL_OBJECT
-EXT OP * (CPERLscope(*check)[]) _((OP *op)) = {
+EXT OP * (CPERLscope(*PL_check)[]) _((OP *op)) = {
        ck_null,        /* null */
        ck_null,        /* stub */
        ck_fun,         /* scalar */
@@ -2166,13 +1789,12 @@ EXT OP * (CPERLscope(*check)[]) _((OP *op)) = {
        ck_rfun,        /* lock */
        ck_null,        /* threadsv */
 };
-#endif /* PERL_OBJECT */
 #endif
 
 #ifndef DOINIT
-EXT U32 opargs[];
+EXT U32 PL_opargs[];
 #else
-EXT U32 opargs[] = {
+EXT U32 PL_opargs[] = {
        0x00000000,     /* null */
        0x00000000,     /* stub */
        0x00001c04,     /* scalar */
index 92330a6..0243847 100755 (executable)
--- a/opcode.pl
+++ b/opcode.pl
@@ -47,9 +47,9 @@ print "\n#define MAXO ", scalar @ops, "\n\n";
 
 print <<END;
 #ifndef DOINIT
-EXT char *op_name[];
+EXT char *PL_op_name[];
 #else
-EXT char *op_name[] = {
+EXT char *PL_op_name[] = {
 END
 
 for (@ops) {
@@ -64,9 +64,9 @@ END
 
 print <<END;
 #ifndef DOINIT
-EXT char *op_desc[];
+EXT char *PL_op_desc[];
 #else
-EXT char *op_desc[] = {
+EXT char *PL_op_desc[] = {
 END
 
 for (@ops) {
@@ -80,19 +80,26 @@ print <<END;
 #ifndef PERL_OBJECT
 START_EXTERN_C
 
-END
+#undef PERL_CKDEF
+#undef PERL_PPDEF
+#define PERL_CKDEF(s) OP *s _((OP *o));
+#define PERL_PPDEF(s) OP *s _((ARGSproto));
 
-# Emit function declarations.
+#include "pp_proto.h"
 
-for (sort keys %ckname) {
-    print "OP *\t", &tab(3,$_),"_((OP* o));\n";
-}
+END
 
-print "\n";
+# Emit function declarations.
 
-for (@ops) {
-    print "OP *\t", &tab(3, "pp_$_"), "_((ARGSproto));\n";
-}
+#for (sort keys %ckname) {
+#    print "OP *\t", &tab(3,$_),"_((OP* o));\n";
+#}
+#
+#print "\n";
+#
+#for (@ops) {
+#    print "OP *\t", &tab(3, "pp_$_"), "_((ARGSproto));\n";
+#}
 
 # Emit ppcode switch array.
 
@@ -102,10 +109,9 @@ END_EXTERN_C
 #endif /* PERL_OBJECT */
 
 #ifndef DOINIT
-EXT OP * (CPERLscope(*ppaddr)[])(ARGSproto);
+EXT OP * (CPERLscope(*PL_ppaddr)[])(ARGSproto);
 #else
-#ifndef PERL_OBJECT
-EXT OP * (CPERLscope(*ppaddr)[])(ARGSproto) = {
+EXT OP * (CPERLscope(*PL_ppaddr)[])(ARGSproto) = {
 END
 
 for (@ops) {
@@ -114,7 +120,6 @@ for (@ops) {
 
 print <<END;
 };
-#endif /* PERL_OBJECT */
 #endif
 
 END
@@ -123,10 +128,9 @@ END
 
 print <<END;
 #ifndef DOINIT
-EXT OP * (CPERLscope(*check)[]) _((OP *op));
+EXT OP * (CPERLscope(*PL_check)[]) _((OP *op));
 #else
-#ifndef PERL_OBJECT
-EXT OP * (CPERLscope(*check)[]) _((OP *op)) = {
+EXT OP * (CPERLscope(*PL_check)[]) _((OP *op)) = {
 END
 
 for (@ops) {
@@ -135,7 +139,6 @@ for (@ops) {
 
 print <<END;
 };
-#endif /* PERL_OBJECT */
 #endif
 
 END
@@ -144,9 +147,9 @@ END
 
 print <<END;
 #ifndef DOINIT
-EXT U32 opargs[];
+EXT U32 PL_opargs[];
 #else
-EXT U32 opargs[] = {
+EXT U32 PL_opargs[] = {
 END
 
 %argnum = (
@@ -210,13 +213,25 @@ END
 close OC or die "Error closing opcode.h: $!";
 
 unlink "pp_proto.h";
+unlink "pp.sym";
 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";
+#OP *\t", &tab(3,$_),"_((OP* o));\n";
+}
+
+print PP "\n\n";
+
 for (@ops) {
     next if /^i_(pre|post)(inc|dec)$/;
-    print PP "PPDEF(pp_$_)\n";
+    print PP "PERL_PPDEF(pp_$_)\n";
+    print PPSYM "pp_$_\n";
 }
 
 close PP or die "Error closing pp_proto.h: $!";
+close PPSYM or die "Error closing pp.sym: $!";
 
 ###########################################################################
 sub tab {
diff --git a/perl.c b/perl.c
index a7804f1..388dd8b 100644 (file)
--- a/perl.c
+++ b/perl.c
@@ -92,7 +92,7 @@ perl_alloc(void)
 
 void
 #ifdef PERL_OBJECT
-CPerlObj::perl_construct(void)
+perl_construct(void)
 #else
 perl_construct(register PerlInterpreter *sv_interp)
 #endif
@@ -235,7 +235,7 @@ perl_construct(register PerlInterpreter *sv_interp)
 
 void
 #ifdef PERL_OBJECT
-CPerlObj::perl_destruct(void)
+perl_destruct(void)
 #else
 perl_destruct(register PerlInterpreter *sv_interp)
 #endif
@@ -593,7 +593,7 @@ perl_destruct(register PerlInterpreter *sv_interp)
 
 void
 #ifdef PERL_OBJECT
-CPerlObj::perl_free(void)
+perl_free(void)
 #else
 perl_free(PerlInterpreter *sv_interp)
 #endif
@@ -609,7 +609,7 @@ perl_free(PerlInterpreter *sv_interp)
 
 void
 #ifdef PERL_OBJECT
-CPerlObj::perl_atexit(void (*fn) (CPerlObj*,void *), void *ptr)
+perl_atexit(void (*fn) (CPerlObj*,void *), void *ptr)
 #else
 perl_atexit(void (*fn) (void *), void *ptr)
 #endif
@@ -622,7 +622,7 @@ perl_atexit(void (*fn) (void *), void *ptr)
 
 int
 #ifdef PERL_OBJECT
-CPerlObj::perl_parse(void (*xsinit) (CPerlObj*), int argc, char **argv, char **env)
+perl_parse(void (*xsinit) (CPerlObj*), int argc, char **argv, char **env)
 #else
 perl_parse(PerlInterpreter *sv_interp, void (*xsinit) (void), int argc, char **argv, char **env)
 #endif
@@ -813,14 +813,11 @@ setuid perl scripts securely.\n");
 #else
                sv_catpv(PL_Sv,"print \"\\nCharacteristics of this binary (from libperl): \\n\",");
 #endif
-#if defined(DEBUGGING) || defined(NO_EMBED) || defined(MULTIPLICITY)
+#if defined(DEBUGGING) || defined(MULTIPLICITY)
                sv_catpv(PL_Sv,"\"  Compile-time options:");
 #  ifdef DEBUGGING
                sv_catpv(PL_Sv," DEBUGGING");
 #  endif
-#  ifdef NO_EMBED
-               sv_catpv(PL_Sv," NO_EMBED");
-#  endif
 #  ifdef MULTIPLICITY
                sv_catpv(PL_Sv," MULTIPLICITY");
 #  endif
@@ -1018,7 +1015,7 @@ print \"  \\@INC:\\n    @INC\\n\";");
 
 int
 #ifdef PERL_OBJECT
-CPerlObj::perl_run(void)
+perl_run(void)
 #else
 perl_run(PerlInterpreter *sv_interp)
 #endif
diff --git a/perl.h b/perl.h
index 1561884..ed72d40 100644 (file)
--- a/perl.h
+++ b/perl.h
@@ -16,9 +16,6 @@
  * Above symbol is defined via -D in 'x2p/Makefile.SH'
  * Decouple x2p stuff from some of perls more extreme eccentricities. 
  */
-#undef EMBED
-#undef NO_EMBED
-#define NO_EMBED
 #undef MULTIPLICITY
 #undef USE_STDIO
 #define USE_STDIO
@@ -61,9 +58,9 @@ PERL CORE
 variables or functions needed are made member functions
 3. all writable static variables are made member variables
 4. all global variables and functions are defined as:
-       #define var CPerlObj::Perl_var
+       #define var CPerlObj::PL_var
        #define func CPerlObj::Perl_func
-       * these are in objpp.h
+       * these are in embed.h
 This necessitated renaming some local variables and functions that
 had the same name as a global variable or function. This was
 probably a _good_ thing anyway.
@@ -73,7 +70,7 @@ EXTENSIONS
 1. Access to global variables and perl functions is through a
 pointer to the PERL_OBJECT. This pointer type is CPerlObj*. This is
 made transparent to extension developers by the following macros:
-       #define var pPerl->Perl_var
+       #define var pPerl->PL_var
        #define func pPerl->Perl_func
        * these are done in objXSUB.h
 This requires that the extension be compiled as C++, which means
@@ -127,7 +124,7 @@ class CPerlObj;
 #define PERL_OBJECT_THIS
 #define _PERL_OBJECT_THIS
 #define PERL_OBJECT_THIS_
-#define CALLRUNOPS PL_runops
+#define CALLRUNOPS (*PL_runops)
 #define CALLREGCOMP (*PL_regcompp)
 #define CALLREGEXEC (*PL_regexecp)
 
@@ -136,7 +133,9 @@ class CPerlObj;
 #define VOIDUSED 1
 #include "config.h"
 
-#include "embed.h"
+#if !defined(PERL_FOR_X2P)
+#  include "embed.h"
+#endif
 
 #undef START_EXTERN_C
 #undef END_EXTERN_C
@@ -155,11 +154,7 @@ class CPerlObj;
 #  ifdef __GNUC__
 #    define stringify_immed(s) #s
 #    define stringify(s) stringify_immed(s)
-#ifdef EMBED
 register struct op *Perl_op asm(stringify(OP_IN_REGISTER));
-#else
-register struct op *op asm(stringify(OP_IN_REGISTER));
-#endif
 #  endif
 #endif
 
@@ -250,7 +245,7 @@ register struct op *op asm(stringify(OP_IN_REGISTER));
 #define TAINT_NOT      (PL_tainted = FALSE)
 #define TAINT_IF(c)    if (c) { PL_tainted = TRUE; }
 #define TAINT_ENV()    if (PL_tainting) { taint_env(); }
-#define TAINT_PROPER(s)        if (PL_tainting) { taint_proper(no_security, s); }
+#define TAINT_PROPER(s)        if (PL_tainting) { taint_proper(Nullch, s); }
 
 /* XXX All process group stuff is handled in pp_sys.c.  Should these 
    defines move there?  If so, I could simplify this a lot. --AD  9/96.
@@ -1490,7 +1485,9 @@ union any {
 #include "form.h"
 #include "gv.h"
 #include "cv.h"
+#ifndef PERL_OBJECT
 #include "opcode.h"
+#endif
 #include "op.h"
 #include "cop.h"
 #include "av.h"
@@ -1547,11 +1544,6 @@ typedef struct {
 typedef I32 CHECKPOINT;
 #endif /* PERL_OBJECT */
 
-/* work around some libPW problems */
-#ifdef DOINIT
-EXT char Error[1];
-#endif
-
 #if defined(iAPX286) || defined(M_I286) || defined(I80286)
 #   define I286
 #endif
@@ -1837,12 +1829,13 @@ typedef Sighandler_t Sigsave_t;
  */
 
 #ifndef PERL_OBJECT
-typedef int runops_proc_t _((void));
+typedef int (*runops_proc_t) _((void));
 int runops_standard _((void));
 #ifdef DEBUGGING
 int runops_debug _((void));
 #endif
-#endif  /* PERL_OBJECT */
+#endif
+
 
 /* _ (for $_) must be first in the following list (DEFSV requires it) */
 #define THREADSV_NAMES "_123456789&`'+/.,\\\";^-%=|~:\001\005!@"
@@ -1864,62 +1857,57 @@ EXT char *** environ_pointer;
 #endif /* environ processing */
 
 
-/* for tmp use in stupid debuggers */
-EXT int *      di;
-EXT short *    ds;
-EXT char *     dc;
-
 /* handy constants */
-EXTCONST char warn_uninit[]
+EXTCONST char PL_warn_uninit[]
   INIT("Use of uninitialized value");
-EXTCONST char warn_nosemi[]
+EXTCONST char PL_warn_nosemi[]
   INIT("Semicolon seems to be missing");
-EXTCONST char warn_reserved[]
+EXTCONST char PL_warn_reserved[]
   INIT("Unquoted string \"%s\" may clash with future reserved word");
-EXTCONST char warn_nl[]
+EXTCONST char PL_warn_nl[]
   INIT("Unsuccessful %s on filename containing newline");
-EXTCONST char no_wrongref[]
+EXTCONST char PL_no_wrongref[]
   INIT("Can't use %s ref as %s ref");
-EXTCONST char no_symref[]
+EXTCONST char PL_no_symref[]
   INIT("Can't use string (\"%.32s\") as %s ref while \"strict refs\" in use");
-EXTCONST char no_usym[]
+EXTCONST char PL_no_usym[]
   INIT("Can't use an undefined value as %s reference");
-EXTCONST char no_aelem[]
+EXTCONST char PL_no_aelem[]
   INIT("Modification of non-creatable array value attempted, subscript %d");
-EXTCONST char no_helem[]
+EXTCONST char PL_no_helem[]
   INIT("Modification of non-creatable hash value attempted, subscript \"%s\"");
-EXTCONST char no_modify[]
+EXTCONST char PL_no_modify[]
   INIT("Modification of a read-only value attempted");
-EXTCONST char no_mem[]
+EXTCONST char PL_no_mem[]
   INIT("Out of memory!\n");
-EXTCONST char no_security[]
+EXTCONST char PL_no_security[]
   INIT("Insecure dependency in %s%s");
-EXTCONST char no_sock_func[]
+EXTCONST char PL_no_sock_func[]
   INIT("Unsupported socket function \"%s\" called");
-EXTCONST char no_dir_func[]
+EXTCONST char PL_no_dir_func[]
   INIT("Unsupported directory function \"%s\" called");
-EXTCONST char no_func[]
+EXTCONST char PL_no_func[]
   INIT("The %s function is unimplemented");
-EXTCONST char no_myglob[]
+EXTCONST char PL_no_myglob[]
   INIT("\"my\" variable %s can't be in a package");
 
 #ifdef DOINIT
-EXT char *sig_name[] = { SIG_NAME };
-EXT int   sig_num[]  = { SIG_NUM };
-EXT SV * psig_ptr[sizeof(sig_num)/sizeof(*sig_num)];
-EXT SV  * psig_name[sizeof(sig_num)/sizeof(*sig_num)];
+EXT char *PL_sig_name[] = { SIG_NAME };
+EXT int   PL_sig_num[]  = { SIG_NUM };
+EXT SV * PL_psig_ptr[sizeof(PL_sig_num)/sizeof(*PL_sig_num)];
+EXT SV  * PL_psig_name[sizeof(PL_sig_num)/sizeof(*PL_sig_num)];
 #else
-EXT char *sig_name[];
-EXT int   sig_num[];
-EXT SV  * psig_ptr[];
-EXT SV  * psig_name[];
+EXT char *PL_sig_name[];
+EXT int   PL_sig_num[];
+EXT SV  * PL_psig_ptr[];
+EXT SV  * PL_psig_name[];
 #endif
 
 /* fast case folding tables */
 
 #ifdef DOINIT
 #ifdef EBCDIC
-EXT unsigned char fold[] = { /* fast EBCDIC case folding table */
+EXT unsigned char PL_fold[] = { /* fast EBCDIC case folding table */
     0,      1,      2,      3,      4,      5,      6,      7,
     8,      9,      10,     11,     12,     13,     14,     15,
     16,     17,     18,     19,     20,     21,     22,     23,
@@ -1954,7 +1942,7 @@ EXT unsigned char fold[] = { /* fast EBCDIC case folding table */
     248,    249,    250,    251,    252,    253,    254,    255
 };
 #else   /* ascii rather than ebcdic */
-EXTCONST  unsigned char fold[] = {
+EXTCONST  unsigned char PL_fold[] = {
        0,      1,      2,      3,      4,      5,      6,      7,
        8,      9,      10,     11,     12,     13,     14,     15,
        16,     17,     18,     19,     20,     21,     22,     23,
@@ -1990,11 +1978,11 @@ EXTCONST  unsigned char fold[] = {
 };
 #endif  /* !EBCDIC */
 #else
-EXTCONST unsigned char fold[];
+EXTCONST unsigned char PL_fold[];
 #endif
 
 #ifdef DOINIT
-EXT unsigned char fold_locale[] = {
+EXT unsigned char PL_fold_locale[] = {
        0,      1,      2,      3,      4,      5,      6,      7,
        8,      9,      10,     11,     12,     13,     14,     15,
        16,     17,     18,     19,     20,     21,     22,     23,
@@ -2029,12 +2017,12 @@ EXT unsigned char fold_locale[] = {
        248,    249,    250,    251,    252,    253,    254,    255
 };
 #else
-EXT unsigned char fold_locale[];
+EXT unsigned char PL_fold_locale[];
 #endif
 
 #ifdef DOINIT
 #ifdef EBCDIC
-EXT unsigned char freq[] = {/* EBCDIC frequencies for mixed English/C */
+EXT unsigned char PL_freq[] = {/* EBCDIC frequencies for mixed English/C */
     1,      2,      84,     151,    154,    155,    156,    157,
     165,    246,    250,    3,      158,    7,      18,     29,
     40,     51,     62,     73,     85,     96,     107,    118,
@@ -2069,7 +2057,7 @@ EXT unsigned char freq[] = {/* EBCDIC frequencies for mixed English/C */
     191,    183,    141,    142,    143,    144,    145,    146
 };
 #else  /* ascii rather than ebcdic */
-EXTCONST unsigned char freq[] = {      /* letter frequencies for mixed English/C */
+EXTCONST unsigned char PL_freq[] = {   /* letter frequencies for mixed English/C */
        1,      2,      84,     151,    154,    155,    156,    157,
        165,    246,    250,    3,      158,    7,      18,     29,
        40,     51,     62,     73,     85,     96,     107,    118,
@@ -2105,12 +2093,12 @@ EXTCONST unsigned char freq[] = {       /* letter frequencies for mixed English/C */
 };
 #endif
 #else
-EXTCONST unsigned char freq[];
+EXTCONST unsigned char PL_freq[];
 #endif
 
 #ifdef DEBUGGING
 #ifdef DOINIT
-EXTCONST char* block_type[] = {
+EXTCONST char* PL_block_type[] = {
        "NULL",
        "SUB",
        "EVAL",
@@ -2119,7 +2107,7 @@ EXTCONST char* block_type[] = {
        "BLOCK",
 };
 #else
-EXTCONST char* block_type[];
+EXTCONST char* PL_block_type[];
 #endif
 #endif
 
@@ -2207,7 +2195,10 @@ typedef struct exitlistentry {
 #ifdef PERL_OBJECT
 extern "C" CPerlObj* perl_alloc _((IPerlMem*, IPerlEnv*, IPerlStdIO*, IPerlLIO*, IPerlDir*, IPerlSock*, IPerlProc*));
 
+#ifdef PERL_OBJECT
 typedef int (CPerlObj::*runops_proc_t) _((void));
+#endif  /* PERL_OBJECT */
+
 #undef EXT
 #define EXT
 #undef EXTCONST
@@ -2247,9 +2238,7 @@ struct perl_vars *PL_VarsPtr;
 */
 
 struct interpreter {
-#ifndef USE_THREADS
 #include "thrdvar.h"
-#endif
 #include "intrpvar.h"
 };
 
@@ -2284,17 +2273,14 @@ typedef void *Thread;
 #include "pp.h"
 #include "proto.h"
 
-#ifdef EMBED
 #define Perl_sv_setptrobj(rv,ptr,name) Perl_sv_setref_iv(rv,name,(IV)ptr)
 #define Perl_sv_setptrref(rv,ptr) Perl_sv_setref_iv(rv,Nullch,(IV)ptr)
-#else
-#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)
-#endif
 
 /* The following must follow proto.h as #defines mess up syntax */
 
-#include "embedvar.h"
+#if !defined(PERL_FOR_X2P)
+#  include "embedvar.h"
+#endif
 
 /* Now include all the 'global' variables 
  * If we don't have threads or multiple interpreters
@@ -2327,14 +2313,21 @@ typedef void *Thread;
 PERLVAR(object_compatibility[30],      char)
 };
 
-#include "objpp.h"
-#ifdef DOINIT
-#include "INTERN.h"
-#else
-#include "EXTERN.h"
-#endif
-#endif  /* PERL_OBJECT */
+#  include "embed.h"
+#  if defined(WIN32) && !defined(WIN32IO_IS_STDIO)
+#    define errno      CPerlObj::ErrorNo()
+#  endif
 
+#  ifdef DOINIT
+#    include "INTERN.h"
+#  else
+#    include "EXTERN.h"
+#  endif
+
+/* this has structure inits, so it cannot be included before here */
+#  include "opcode.h"
+
+#endif  /* PERL_OBJECT */
 
 #undef PERLVAR
 #undef PERLVARI
@@ -2354,125 +2347,125 @@ PERLVAR(object_compatibility[30],     char)
 
 #ifdef DOINIT
 
-EXT MGVTBL vtbl_sv =   {magic_get,
+EXT MGVTBL PL_vtbl_sv =        {magic_get,
                                magic_set,
                                        magic_len,
                                                0,      0};
-EXT MGVTBL vtbl_env =  {0,     magic_set_all_env,
+EXT MGVTBL PL_vtbl_env =       {0,     magic_set_all_env,
                                0,      magic_clear_all_env,
                                                        0};
-EXT MGVTBL vtbl_envelem =      {0,     magic_setenv,
+EXT MGVTBL PL_vtbl_envelem =   {0,     magic_setenv,
                                        0,      magic_clearenv,
                                                        0};
-EXT MGVTBL vtbl_sig =  {0,     0,               0, 0, 0};
-EXT MGVTBL vtbl_sigelem =      {magic_getsig,
+EXT MGVTBL PL_vtbl_sig =       {0,     0,               0, 0, 0};
+EXT MGVTBL PL_vtbl_sigelem =   {magic_getsig,
                                        magic_setsig,
                                        0,      magic_clearsig,
                                                        0};
-EXT MGVTBL vtbl_pack = {0,     0,      magic_sizepack, magic_wipepack,
+EXT MGVTBL PL_vtbl_pack =      {0,     0,      magic_sizepack, magic_wipepack,
                                                        0};
-EXT MGVTBL vtbl_packelem =     {magic_getpack,
+EXT MGVTBL PL_vtbl_packelem =  {magic_getpack,
                                magic_setpack,
                                        0,      magic_clearpack,
                                                        0};
-EXT MGVTBL vtbl_dbline =       {0,     magic_setdbline,
+EXT MGVTBL PL_vtbl_dbline =    {0,     magic_setdbline,
                                        0,      0,      0};
-EXT MGVTBL vtbl_isa =  {0,     magic_setisa,
+EXT MGVTBL PL_vtbl_isa =       {0,     magic_setisa,
                                        0,      magic_setisa,
                                                        0};
-EXT MGVTBL vtbl_isaelem =      {0,     magic_setisa,
+EXT MGVTBL PL_vtbl_isaelem =   {0,     magic_setisa,
                                        0,      0,      0};
-EXT MGVTBL vtbl_arylen =       {magic_getarylen,
+EXT MGVTBL PL_vtbl_arylen =    {magic_getarylen,
                                magic_setarylen,
                                        0,      0,      0};
-EXT MGVTBL vtbl_glob = {magic_getglob,
+EXT MGVTBL PL_vtbl_glob =      {magic_getglob,
                                magic_setglob,
                                        0,      0,      0};
-EXT MGVTBL vtbl_mglob =        {0,     magic_setmglob,
+EXT MGVTBL PL_vtbl_mglob =     {0,     magic_setmglob,
                                        0,      0,      0};
-EXT MGVTBL vtbl_nkeys =        {magic_getnkeys,
+EXT MGVTBL PL_vtbl_nkeys =     {magic_getnkeys,
                                magic_setnkeys,
                                        0,      0,      0};
-EXT MGVTBL vtbl_taint =        {magic_gettaint,magic_settaint,
+EXT MGVTBL PL_vtbl_taint =     {magic_gettaint,magic_settaint,
                                        0,      0,      0};
-EXT MGVTBL vtbl_substr =       {magic_getsubstr, magic_setsubstr,
+EXT MGVTBL PL_vtbl_substr =    {magic_getsubstr, magic_setsubstr,
                                        0,      0,      0};
-EXT MGVTBL vtbl_vec =  {magic_getvec,
+EXT MGVTBL PL_vtbl_vec =       {magic_getvec,
                                magic_setvec,
                                        0,      0,      0};
-EXT MGVTBL vtbl_pos =  {magic_getpos,
+EXT MGVTBL PL_vtbl_pos =       {magic_getpos,
                                magic_setpos,
                                        0,      0,      0};
-EXT MGVTBL vtbl_bm =   {0,     magic_setbm,
+EXT MGVTBL PL_vtbl_bm =        {0,     magic_setbm,
                                        0,      0,      0};
-EXT MGVTBL vtbl_fm =   {0,     magic_setfm,
+EXT MGVTBL PL_vtbl_fm =        {0,     magic_setfm,
                                        0,      0,      0};
-EXT MGVTBL vtbl_uvar = {magic_getuvar,
+EXT MGVTBL PL_vtbl_uvar =      {magic_getuvar,
                                magic_setuvar,
                                        0,      0,      0};
 #ifdef USE_THREADS
-EXT MGVTBL vtbl_mutex =        {0,     0,      0,      0,      magic_mutexfree};
+EXT MGVTBL PL_vtbl_mutex =     {0,     0,      0,      0,      magic_mutexfree};
 #endif /* USE_THREADS */
-EXT MGVTBL vtbl_defelem = {magic_getdefelem,magic_setdefelem,
+EXT MGVTBL PL_vtbl_defelem = {magic_getdefelem,magic_setdefelem,
                                        0,      0,      0};
 
-EXT MGVTBL vtbl_regexp = {0,0,0,0, magic_freeregexp};
-EXT MGVTBL vtbl_regdata = {0, 0, magic_regdata_cnt, 0, 0};
-EXT MGVTBL vtbl_regdatum = {magic_regdatum_get, 0, 0, 0, 0};
+EXT MGVTBL PL_vtbl_regexp = {0,0,0,0, magic_freeregexp};
+EXT MGVTBL PL_vtbl_regdata = {0, 0, magic_regdata_cnt, 0, 0};
+EXT MGVTBL PL_vtbl_regdatum = {magic_regdatum_get, 0, 0, 0, 0};
 
 #ifdef USE_LOCALE_COLLATE
-EXT MGVTBL vtbl_collxfrm = {0,
+EXT MGVTBL PL_vtbl_collxfrm = {0,
                                magic_setcollxfrm,
                                        0,      0,      0};
 #endif
 
 #ifdef OVERLOAD
-EXT MGVTBL vtbl_amagic =       {0,     magic_setamagic,
+EXT MGVTBL PL_vtbl_amagic =       {0,     magic_setamagic,
                                         0,      0,      magic_setamagic};
-EXT MGVTBL vtbl_amagicelem =   {0,     magic_setamagic,
+EXT MGVTBL PL_vtbl_amagicelem =   {0,     magic_setamagic,
                                         0,      0,      magic_setamagic};
 #endif /* OVERLOAD */
 
 #else /* !DOINIT */
 
-EXT MGVTBL vtbl_sv;
-EXT MGVTBL vtbl_env;
-EXT MGVTBL vtbl_envelem;
-EXT MGVTBL vtbl_sig;
-EXT MGVTBL vtbl_sigelem;
-EXT MGVTBL vtbl_pack;
-EXT MGVTBL vtbl_packelem;
-EXT MGVTBL vtbl_dbline;
-EXT MGVTBL vtbl_isa;
-EXT MGVTBL vtbl_isaelem;
-EXT MGVTBL vtbl_arylen;
-EXT MGVTBL vtbl_glob;
-EXT MGVTBL vtbl_mglob;
-EXT MGVTBL vtbl_nkeys;
-EXT MGVTBL vtbl_taint;
-EXT MGVTBL vtbl_substr;
-EXT MGVTBL vtbl_vec;
-EXT MGVTBL vtbl_pos;
-EXT MGVTBL vtbl_bm;
-EXT MGVTBL vtbl_fm;
-EXT MGVTBL vtbl_uvar;
+EXT MGVTBL PL_vtbl_sv;
+EXT MGVTBL PL_vtbl_env;
+EXT MGVTBL PL_vtbl_envelem;
+EXT MGVTBL PL_vtbl_sig;
+EXT MGVTBL PL_vtbl_sigelem;
+EXT MGVTBL PL_vtbl_pack;
+EXT MGVTBL PL_vtbl_packelem;
+EXT MGVTBL PL_vtbl_dbline;
+EXT MGVTBL PL_vtbl_isa;
+EXT MGVTBL PL_vtbl_isaelem;
+EXT MGVTBL PL_vtbl_arylen;
+EXT MGVTBL PL_vtbl_glob;
+EXT MGVTBL PL_vtbl_mglob;
+EXT MGVTBL PL_vtbl_nkeys;
+EXT MGVTBL PL_vtbl_taint;
+EXT MGVTBL PL_vtbl_substr;
+EXT MGVTBL PL_vtbl_vec;
+EXT MGVTBL PL_vtbl_pos;
+EXT MGVTBL PL_vtbl_bm;
+EXT MGVTBL PL_vtbl_fm;
+EXT MGVTBL PL_vtbl_uvar;
 
 #ifdef USE_THREADS
-EXT MGVTBL vtbl_mutex;
+EXT MGVTBL PL_vtbl_mutex;
 #endif /* USE_THREADS */
 
-EXT MGVTBL vtbl_defelem;
-EXT MGVTBL vtbl_regexp;
-EXT MGVTBL vtbl_regdata;
-EXT MGVTBL vtbl_regdatum;
+EXT MGVTBL PL_vtbl_defelem;
+EXT MGVTBL PL_vtbl_regexp;
+EXT MGVTBL PL_vtbl_regdata;
+EXT MGVTBL PL_vtbl_regdatum;
 
 #ifdef USE_LOCALE_COLLATE
-EXT MGVTBL vtbl_collxfrm;
+EXT MGVTBL PL_vtbl_collxfrm;
 #endif
 
 #ifdef OVERLOAD
-EXT MGVTBL vtbl_amagic;
-EXT MGVTBL vtbl_amagicelem;
+EXT MGVTBL PL_vtbl_amagic;
+EXT MGVTBL PL_vtbl_amagicelem;
 #endif /* OVERLOAD */
 
 #endif /* !DOINIT */
@@ -2481,7 +2474,7 @@ EXT MGVTBL vtbl_amagicelem;
 
 #define NofAMmeth 58
 #ifdef DOINIT
-EXTCONST char * AMG_names[NofAMmeth] = {
+EXTCONST char * PL_AMG_names[NofAMmeth] = {
   "fallback",  "abs",                  /* "fallback" should be the first. */
   "bool",      "nomethod",
   "\"\"",      "0+",
@@ -2513,7 +2506,7 @@ EXTCONST char * AMG_names[NofAMmeth] = {
   "=",         "neg"
 };
 #else
-EXTCONST char * AMG_names[NofAMmeth];
+EXTCONST char * PL_AMG_names[NofAMmeth];
 #endif /* def INITAMAGIC */
 
 struct am_table {
index 07d4140..51c3ab2 100644 (file)
@@ -7,7 +7,7 @@
 # Create the export list for perl.
 # Needed by AIX to do dynamic linking.
 #
-# This simple program relies on 'global.sym' and few other *.sym files
+# This simple program relies on global.sym and few other *.sym files
 # and the *var*.h files being up to date with all of the global
 # symbols that a dynamic link library might want to access.
 #