summaryrefslogtreecommitdiff
path: root/perlapi.h
diff options
context:
space:
mode:
authorYves Orton <demerphq@gmail.com>2017-06-01 15:00:13 +0200
committerYves Orton <demerphq@gmail.com>2017-06-01 16:16:16 +0200
commit9d5e3f1aaa70db4a786eb6a7a3437e1e1d703204 (patch)
treea00471b033776074f0e88ec658d2b75544333cae /perlapi.h
parent6f019ba79e7ec30ad81de6ad4cce78b8f8f9ba91 (diff)
downloadperl-9d5e3f1aaa70db4a786eb6a7a3437e1e1d703204.tar.gz
Restore "Add new hashing and "hash with state" infrastructure"
This reverts commit e6a172f358c0f48c4b744dbd5e9ef6ff0b4ff289, which was a revert of a3bf60fbb1f05cd2c69d4ff0a2ef99537afdaba7. Add new hashing and "hash with state" infrastructure This adds support for three new hash functions: StadtX, Zaphod32 and SBOX, and reworks some of our hash internals infrastructure to do so. SBOX is special in that it is designed to be used in conjuction with any other hash function for hashing short strings very efficiently and very securely. It features compile time options on how much memory and startup time are traded off to control the length of keys that SBOX hashes. This also adds support for caching the hash values of single byte characters which can be used in conjuction with any other hash, including SBOX, although SBOX itself is as fast as the lookup cache, so typically you wouldnt use both at the same time. This also *removes* support for Jenkins One-At-A-Time. It has served us well, but it's day is done. This patch adds three new files: zaphod32_hash.h, stadtx_hash.h, sbox32_hash.h
Diffstat (limited to 'perlapi.h')
-rw-r--r--perlapi.h4
1 files changed, 4 insertions, 0 deletions
diff --git a/perlapi.h b/perlapi.h
index 91f50eb2b0..af0c2d593b 100644
--- a/perlapi.h
+++ b/perlapi.h
@@ -117,10 +117,14 @@ END_EXTERN_C
#define PL_dollarzero_mutex (*Perl_Gdollarzero_mutex_ptr(NULL))
#undef PL_fold_locale
#define PL_fold_locale (*Perl_Gfold_locale_ptr(NULL))
+#undef PL_hash_chars
+#define PL_hash_chars (*Perl_Ghash_chars_ptr(NULL))
#undef PL_hash_seed
#define PL_hash_seed (*Perl_Ghash_seed_ptr(NULL))
#undef PL_hash_seed_set
#define PL_hash_seed_set (*Perl_Ghash_seed_set_ptr(NULL))
+#undef PL_hash_state
+#define PL_hash_state (*Perl_Ghash_state_ptr(NULL))
#undef PL_hints_mutex
#define PL_hints_mutex (*Perl_Ghints_mutex_ptr(NULL))
#undef PL_keyword_plugin