rust/compiler/rustc_data_structures/src
Tyson Nottingham d061fee177 Stable hashing: add comments and tests concerning platform-independence
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-09-30 00:57:35 -07:00
..
base_n
binary_search_util
graph Add BREAK too, and improve the comments 2020-09-04 16:28:23 -07:00
obligation_forest
owning_ref
sip128 Stable hashing: add comments and tests concerning platform-independence 2020-09-30 00:57:35 -07:00
small_c_str
snapshot_map
sorted_map
stable_hasher Stable hashing: add comments and tests concerning platform-independence 2020-09-30 00:57:35 -07:00
tagged_ptr Use T::BITS instead of size_of::<T> * 8. 2020-09-19 06:54:42 +02:00
tiny_list
transitive_relation
atomic_ref.rs
base_n.rs
box_region.rs
captures.rs
const_cstr.rs
fingerprint.rs Avoid rehashing Fingerprint as a map key 2020-09-01 18:27:02 -07:00
flock.rs
frozen.rs
fx.rs
jobserver.rs datastructures: replace lazy_static by SyncLazy from std 2020-09-01 22:06:47 +01:00
lib.rs Remove unused #[allow(...)] statements from compiler/ 2020-09-26 01:25:55 +02:00
macros.rs Remove unused static_assert macro 2020-09-20 11:40:51 +02:00
map_in_place.rs
mini_map.rs cache types during normalization 2020-09-19 17:27:13 +02:00
mini_set.rs Move MiniSet to data_structures 2020-09-23 08:09:16 +02:00
profiling.rs Use as_secs_f64 in profiling.rs 2020-09-20 10:27:14 +02:00
ptr_key.rs
sharded.rs
sip128.rs Stable hashing: add comments and tests concerning platform-independence 2020-09-30 00:57:35 -07:00
small_c_str.rs
sorted_map.rs use array_windows instead of windows in the compiler 2020-09-20 08:11:05 +02:00
stable_hasher.rs Stable hashing: add comments and tests concerning platform-independence 2020-09-30 00:57:35 -07:00
stable_map.rs
stable_set.rs
stack.rs
svh.rs
sync.rs
tagged_ptr.rs
temp_dir.rs Capitalize safety comments 2020-09-08 22:37:18 -04:00
thin_vec.rs
tiny_list.rs
transitive_relation.rs
unhash.rs Avoid rehashing Fingerprint as a map key 2020-09-01 18:27:02 -07:00
vec_linked_list.rs
work_queue.rs