summaryrefslogtreecommitdiff
path: root/embed.fnc
diff options
context:
space:
mode:
authorNicholas Clark <nick@ccl4.org>2010-01-24 15:07:50 +0000
committerNicholas Clark <nick@ccl4.org>2010-05-21 18:56:25 +0100
commit4d0fbddde6c5dcb972786d09de0cab6e93056b88 (patch)
tree5a8c733a77dcda54b0b5e7c184bc1dbfd28ecd3e /embed.fnc
parentf4431c56525a8650559872ff19c75f109a5d1190 (diff)
downloadperl-4d0fbddde6c5dcb972786d09de0cab6e93056b88.tar.gz
Make HvFILL() count the allocated buckets, instead of reading a stored value.
Add a function Perl_hv_fill to perform the count. This will save 1 IV per hash, and on some systems cause struct xpvhv to become cache aligned.
Diffstat (limited to 'embed.fnc')
-rw-r--r--embed.fnc1
1 files changed, 1 insertions, 0 deletions
diff --git a/embed.fnc b/embed.fnc
index 00629fdbc5..1f2ecb93ad 100644
--- a/embed.fnc
+++ b/embed.fnc
@@ -461,6 +461,7 @@ Ap |void* |hv_common |NULLOK HV *hv|NULLOK SV *keysv \
Ap |void* |hv_common_key_len|NULLOK HV *hv|NN const char *key \
|I32 klen_i32|const int action|NULLOK SV *val \
|const U32 hash
+Apod |STRLEN |hv_fill |NN HV const *const hv
Ap |void |hv_free_ent |NN HV *hv|NULLOK HE *entryK
Apd |I32 |hv_iterinit |NN HV *hv
ApdR |char* |hv_iterkey |NN HE* entry|NN I32* retlen