about summary refs log tree commit diff
path: root/compiler/rustc_data_structures/src/sip128.rs
AgeCommit message (Collapse)AuthorLines
2022-02-05Use const generics in SipHasher128's short_writeJakub Beránek-32/+29
2022-01-24Revert "Do not hash leading zero bytes of i64 numbers in Sip128 hasher"Jakub Beránek-16/+2
2022-01-04Do not hash zero bytes of i64 and u32 in Sip128 hasherJakub Beránek-2/+16
2020-10-11SipHasher128: improve constant names and add more commentsTyson Nottingham-36/+66
2020-10-05SipHasher128: use specific struct layoutTyson Nottingham-0/+6
2020-10-05SipHasher128: use more named constants, update commentsTyson Nottingham-50/+54
2020-10-03perf: buffer SipHasher128Tyson Nottingham-196/+303
2020-09-30Stable hashing: add comments and tests concerning platform-independenceTyson Nottingham-6/+19
SipHasher128 implements short_write in an endian-independent way, yet its write_xxx Hasher trait methods undo this endian-independence by byte swapping the integer inputs on big-endian hardware. StableHasher then adds endian-independence back by also byte-swapping on big-endian hardware prior to invoking SipHasher128. This double swap may have the appearance of being a no-op, but is in fact by design. In particular, we really do want SipHasher128 to be platform-dependent, in order to be consistent with the libstd SipHasher. Try to clarify this intent. Also, add and update a couple of unit tests.
2020-08-30mv compiler to compiler/mark-0/+330