summaryrefslogtreecommitdiff
path: root/proto.h
diff options
context:
space:
mode:
authorNicholas Clark <nick@ccl4.org>2010-09-08 10:24:04 +0100
committerNicholas Clark <nick@ccl4.org>2010-09-08 10:24:04 +0100
commit9a87bd09eea1d037e82e99f6ece528e39e7fe0e6 (patch)
tree687527f4f2be761e544a22f09e7bbd4ee0a51141 /proto.h
parentea25a9b2cf73948b1e8c5675de027e0ad13277bd (diff)
downloadperl-9a87bd09eea1d037e82e99f6ece528e39e7fe0e6.tar.gz
Remove offer_nice_chunk(), PL_nice_chunk and PL_nice_chunk_size.
These provided a non-public API for the hash and array code to donate free memory direct to the SV head allocation routines, instead of returning it to the malloc system with free(). I assume that on some older mallocs this could offer significant benefits. However, my benchmarking on a modern malloc couldn't detect any significant effect (positive or negative) on removing the code. Its (continued) presence, however, has downsides a: slightly more code complexity b: slightly larger interpreter structure c: in the steady state, if net creation of SVs is zero, 1 chunk of allocated but unused memory will exist (per thread) So I think it best to remove it.
Diffstat (limited to 'proto.h')
-rw-r--r--proto.h6
1 files changed, 0 insertions, 6 deletions
diff --git a/proto.h b/proto.h
index b915db25f8..a29bdc00cb 100644
--- a/proto.h
+++ b/proto.h
@@ -6691,12 +6691,6 @@ PERL_CALLCONV STRLEN * Perl_new_warnings_bitfield(pTHX_ STRLEN *buffer, const ch
assert(bits)
-PERL_CALLCONV void Perl_offer_nice_chunk(pTHX_ void *const chunk, const U32 chunk_size)
- __attribute__nonnull__(pTHX_1);
-#define PERL_ARGS_ASSERT_OFFER_NICE_CHUNK \
- assert(chunk)
-
-
#ifndef SPRINTF_RETURNS_STRLEN
PERL_CALLCONV int Perl_my_sprintf(char *buffer, const char *pat, ...)
__attribute__nonnull__(1)