In perl.git, the branch blead has been updated <http://perl5.git.perl.org/perl.git/commitdiff/93f5d0e84de625ae81930095bb540c0d9dbda3f2?hp=c1777a2078b09e46c508079c52cd1a83135a2fb6>
- Log ----------------------------------------------------------------- commit 93f5d0e84de625ae81930095bb540c0d9dbda3f2 Author: Daniel Dragan <[email protected]> Date: Fri Nov 7 01:15:18 2014 -0500 remove obsolete PL_apiversion Commit 0e42d607f5 made PL_apiversion unused. Remove it to save memory in interp struct. M embedvar.h M intrpvar.h M perl.c M sv.c commit 8bd3839933be0a83f4370b836f1e7a654d778c9b Author: Daniel Dragan <[email protected]> Date: Fri Nov 7 01:30:14 2014 -0500 remove cargo culted redundant PL_perldb test Inseperable changes commit 8490252049 and specifically ML post "Perldb rehaul" by Ilya Zakharevich added a completely redundant "if(PL_perldb)" test. This was probably cargo culted from the code prior to that patch where PL_perldb was a (I think) a bool. Neither GCC 4.6.3 nor VC 2003 optimized away the test. Before this patch, .text section in perl521.dll compiled with VC 2003 was 0xc62d3 bytes of machine code long, after 0xc6203. M perl.h ----------------------------------------------------------------------- Summary of changes: embedvar.h | 1 - intrpvar.h | 1 - perl.c | 2 -- perl.h | 26 +++++++++++++------------- sv.c | 1 - 5 files changed, 13 insertions(+), 18 deletions(-) diff --git a/embedvar.h b/embedvar.h index 2659d02..94b7a00 100644 --- a/embedvar.h +++ b/embedvar.h @@ -70,7 +70,6 @@ #define PL_XPosix_ptrs (vTHX->IXPosix_ptrs) #define PL_Xpv (vTHX->IXpv) #define PL_an (vTHX->Ian) -#define PL_apiversion (vTHX->Iapiversion) #define PL_argvgv (vTHX->Iargvgv) #define PL_argvout_stack (vTHX->Iargvout_stack) #define PL_argvoutgv (vTHX->Iargvoutgv) diff --git a/intrpvar.h b/intrpvar.h index 4f61a25..f5d8020 100644 --- a/intrpvar.h +++ b/intrpvar.h @@ -318,7 +318,6 @@ PERLVAR(I, warnhook, SV *) /* switches */ PERLVAR(I, patchlevel, SV *) -PERLVAR(I, apiversion, SV *) PERLVAR(I, localpatches, const char * const *) PERLVARI(I, splitstr, const char *, " ") diff --git a/perl.c b/perl.c index 71ba0ff..d61436a 100644 --- a/perl.c +++ b/perl.c @@ -325,7 +325,6 @@ perl_construct(pTHXx) PL_stashcache = newHV(); PL_patchlevel = newSVpvs("v" PERL_VERSION_STRING); - PL_apiversion = newSVpvs("v" PERL_API_VERSION_STRING); #ifdef HAS_MMAP if (!PL_mmap_page_size) { @@ -906,7 +905,6 @@ perl_destruct(pTHXx) Safefree(PL_inplace); PL_inplace = NULL; SvREFCNT_dec(PL_patchlevel); - SvREFCNT_dec(PL_apiversion); if (PL_e_script) { SvREFCNT_dec(PL_e_script); diff --git a/perl.h b/perl.h index da1f94f..b31dcb3 100644 --- a/perl.h +++ b/perl.h @@ -5680,19 +5680,19 @@ typedef struct am_table_short AMTS; #define PERLDBf_SAVESRC_NOSUBS 0x800 /* Including evals that generate no subroutines */ #define PERLDBf_SAVESRC_INVALID 0x1000 /* Save source that did not compile */ -#define PERLDB_SUB (PL_perldb && (PL_perldb & PERLDBf_SUB)) -#define PERLDB_LINE (PL_perldb && (PL_perldb & PERLDBf_LINE)) -#define PERLDB_NOOPT (PL_perldb && (PL_perldb & PERLDBf_NOOPT)) -#define PERLDB_INTER (PL_perldb && (PL_perldb & PERLDBf_INTER)) -#define PERLDB_SUBLINE (PL_perldb && (PL_perldb & PERLDBf_SUBLINE)) -#define PERLDB_SINGLE (PL_perldb && (PL_perldb & PERLDBf_SINGLE)) -#define PERLDB_SUB_NN (PL_perldb && (PL_perldb & (PERLDBf_NONAME))) -#define PERLDB_GOTO (PL_perldb && (PL_perldb & PERLDBf_GOTO)) -#define PERLDB_NAMEEVAL (PL_perldb && (PL_perldb & PERLDBf_NAMEEVAL)) -#define PERLDB_NAMEANON (PL_perldb && (PL_perldb & PERLDBf_NAMEANON)) -#define PERLDB_SAVESRC (PL_perldb && (PL_perldb & PERLDBf_SAVESRC)) -#define PERLDB_SAVESRC_NOSUBS (PL_perldb && (PL_perldb & PERLDBf_SAVESRC_NOSUBS)) -#define PERLDB_SAVESRC_INVALID (PL_perldb && (PL_perldb & PERLDBf_SAVESRC_INVALID)) +#define PERLDB_SUB (PL_perldb & PERLDBf_SUB) +#define PERLDB_LINE (PL_perldb & PERLDBf_LINE) +#define PERLDB_NOOPT (PL_perldb & PERLDBf_NOOPT) +#define PERLDB_INTER (PL_perldb & PERLDBf_INTER) +#define PERLDB_SUBLINE (PL_perldb & PERLDBf_SUBLINE) +#define PERLDB_SINGLE (PL_perldb & PERLDBf_SINGLE) +#define PERLDB_SUB_NN (PL_perldb & PERLDBf_NONAME) +#define PERLDB_GOTO (PL_perldb & PERLDBf_GOTO) +#define PERLDB_NAMEEVAL (PL_perldb & PERLDBf_NAMEEVAL) +#define PERLDB_NAMEANON (PL_perldb & PERLDBf_NAMEANON) +#define PERLDB_SAVESRC (PL_perldb & PERLDBf_SAVESRC) +#define PERLDB_SAVESRC_NOSUBS (PL_perldb & PERLDBf_SAVESRC_NOSUBS) +#define PERLDB_SAVESRC_INVALID (PL_perldb & PERLDBf_SAVESRC_INVALID) #ifdef USE_LOCALE /* These locale things are all subject to change */ diff --git a/sv.c b/sv.c index 06e06dc..6b56726 100644 --- a/sv.c +++ b/sv.c @@ -14608,7 +14608,6 @@ perl_clone_using(PerlInterpreter *proto_perl, UV flags, /* switches */ PL_patchlevel = sv_dup_inc(proto_perl->Ipatchlevel, param); - PL_apiversion = sv_dup_inc(proto_perl->Iapiversion, param); PL_inplace = SAVEPV(proto_perl->Iinplace); PL_e_script = sv_dup_inc(proto_perl->Ie_script, param); -- Perl5 Master Repository
