summaryrefslogtreecommitdiff
path: root/erts/emulator/beam/erl_term_hashing.c
Commit message (Collapse)AuthorAgeFilesLines
* Merge branch 'maint' into masterSverker Eriksson2023-04-261-14/+53
| | | | | | | | This merge commit contains additional jit implementation for the hashmap collision nodes in beam/jit/x86/instr_map.cpp beam/jit/arm/instr_map.cpp
* Update copyright yearErlang/OTP2023-03-211-1/+1
|
* [erts] Option 'local' of term_to_binary/2 and term_to_iovec/2Rickard Green2023-03-151-4/+186
| | | | | | | Introduce a local external term format with an unspecified encoding. This external term format is used for supporting the 'local' option of term_to_binary/2 and term_to_iovec/2. Terms encoded on this format is only to be decoded by the same runtime system instance that encoded it.
* Merge pull request #6072 from ↵Rickard Green2022-06-141-16/+55
|\ | | | | | | | | rickard-green/rickard/mandatory-dflags-otp-26/OTP-18140 Mandatory distribution features in OTP 26
| * Make version 4 external node container types mandatoryRickard Green2022-06-131-16/+55
| |
* | erts: Various fixes in internal hashingJohn Högberg2022-06-091-2/+4
|/ | | | | Salting didn't help resolve collisions because chained CRC32 is perfectly linear.
* erts: Fix build issue on MacOSJohn Högberg2022-06-081-8/+8
|
* erts: Improve internal hashingJohn Högberg2022-06-031-0/+28
| | | | | | | | | | CRC32-C has better distribution and collision qualities than Bob Jenkins' classic hash function, and is much faster when we can use dedicated processor instructions. Granted, it's not _great_ and there's a lot of work remaining before I'm happy with both the hash quality and the code itself, but it's much better than it was before.
* erts: Break out hash routines to a separate moduleJohn Högberg2022-06-031-0/+1724
These are a mess of `#define` and `#undef` and are very difficult to read as part of utils.c. Break them out into a separate file to ease refactoring.