From: Nicholas Clark Date: Sat, 7 May 2005 16:08:16 +0000 (+0000) Subject: The ptr_table arena variables and code is only needed for ithreads. X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=commitdiff_plain;h=892b45be8fb48b672b1d646c00fb1b9bac292d07;p=p5sagit%2Fp5-mst-13.2.git The ptr_table arena variables and code is only needed for ithreads. p4raw-id: //depot/perl@24413 --- diff --git a/intrpvar.h b/intrpvar.h index 9688541..bca17b0 100644 --- a/intrpvar.h +++ b/intrpvar.h @@ -261,7 +261,9 @@ PERLVAR(Ixpvmg_root, XPVMG *) /* free xpvmg list */ PERLVAR(Ixpvlv_root, XPVLV *) /* free xpvlv list */ PERLVAR(Ixpvbm_root, XPVBM *) /* free xpvbm list */ PERLVAR(Ihe_root, HE *) /* free he list */ +#if defined(USE_ITHREADS) PERLVAR(Ipte_root, struct ptr_tbl_ent *) /* free ptr_tbl_ent list */ +#endif PERLVAR(Inice_chunk, char *) /* a nice chunk of memory to reuse */ PERLVAR(Inice_chunk_size, U32) /* how nice the chunk of memory is */ @@ -438,8 +440,9 @@ PERLVAR(Ixpvmg_arenaroot,XPVMG*) /* list of allocated xpvmg areas */ PERLVAR(Ixpvlv_arenaroot,XPVLV*) /* list of allocated xpvlv areas */ PERLVAR(Ixpvbm_arenaroot,XPVBM*) /* list of allocated xpvbm areas */ PERLVAR(Ihe_arenaroot, HE *) /* list of allocated he areas */ +#if defined(USE_ITHREADS) PERLVAR(Ipte_arenaroot, struct ptr_tbl_ent *) /* list of allocated he areas */ - +#endif /* 5.6.0 stopped here */ PERLVAR(Ipsig_pend, int *) /* per-signal "count" of pending */ diff --git a/sv.c b/sv.c index c79d527..be65857 100644 --- a/sv.c +++ b/sv.c @@ -625,6 +625,7 @@ Perl_sv_free_arenas(pTHX) PL_he_arenaroot = 0; PL_he_root = 0; +#if defined(USE_ITHREADS) { struct ptr_tbl_ent *pte; struct ptr_tbl_ent *pte_next; @@ -635,6 +636,7 @@ Perl_sv_free_arenas(pTHX) } PL_pte_arenaroot = 0; PL_pte_root = 0; +#endif if (PL_nice_chunk) Safefree(PL_nice_chunk); @@ -11680,8 +11682,10 @@ perl_clone_using(PerlInterpreter *proto_perl, UV flags, PL_xpvbm_root = NULL; PL_he_arenaroot = NULL; PL_he_root = NULL; +#if defined(USE_ITHREADS) PL_pte_arenaroot = NULL; PL_pte_root = NULL; +#endif PL_nice_chunk = NULL; PL_nice_chunk_size = 0; PL_sv_count = 0;