diff options
author | Nicholas Clark <nick@ccl4.org> | 2005-06-18 16:33:41 +0000 |
---|---|---|
committer | Nicholas Clark <nick@ccl4.org> | 2005-06-18 16:33:41 +0000 |
commit | 6f51351dc430b1cdbea64b49a24a0fc68a028a36 (patch) | |
tree | a2e7414a67d2bd312e05b16f3fe1c792adfe925e /sv.c | |
parent | 8b4f5e176a26235e99161210aebb1bc0073474cd (diff) | |
download | perl-6f51351dc430b1cdbea64b49a24a0fc68a028a36.tar.gz |
Squeeze a little more savings by moving pte and he arenas into the
common arena free code.
p4raw-id: //depot/perl@24895
Diffstat (limited to 'sv.c')
-rw-r--r-- | sv.c | 32 |
1 files changed, 8 insertions, 24 deletions
@@ -537,6 +537,10 @@ Perl_sv_free_arenas(pTHX) (void**) &PL_xpvgv_arenaroot, (void**) &PL_xpvlv_arenaroot, (void**) &PL_xpvbm_arenaroot, + (void**) &PL_he_arenaroot, +#if defined(USE_ITHREADS) + (void**) &PL_pte_arenaroot, +#endif (void**) 0 }; void **roots[] = { @@ -551,6 +555,10 @@ Perl_sv_free_arenas(pTHX) (void**) &PL_xpvgv_root, (void**) &PL_xpvlv_root, (void**) &PL_xpvbm_root, + (void**) &PL_he_root, +#if defined(USE_ITHREADS) + (void**) &PL_pte_root, +#endif (void**) 0 }; @@ -579,30 +587,6 @@ Perl_sv_free_arenas(pTHX) *roots[i] = 0; } - { - HE *he; - HE *he_next; - for (he = PL_he_arenaroot; he; he = he_next) { - he_next = HeNEXT(he); - Safefree(he); - } - } - PL_he_arenaroot = 0; - PL_he_root = 0; - -#if defined(USE_ITHREADS) - { - struct ptr_tbl_ent *pte; - struct ptr_tbl_ent *pte_next; - for (pte = PL_pte_arenaroot; pte; pte = pte_next) { - pte_next = pte->next; - Safefree(pte); - } - } - PL_pte_arenaroot = 0; - PL_pte_root = 0; -#endif - if (PL_nice_chunk) Safefree(PL_nice_chunk); PL_nice_chunk = Nullch; |