During RDO, selector_bitsequence (16 bytes) had 4 bytes of uninitialized data that was hashed in the process. This resulted in run-to-run non-determinism with or without RDO multithreading.
For now fix this by explicitly zero initializing the padding; while more efficient hash functions are possible, this aims to be a minimal change that fixes the problem. ^ s.m_sel is redundant though so it is removed for clarity.
During RDO, selector_bitsequence (16 bytes) had 4 bytes of uninitialized data that was hashed in the process. This resulted in run-to-run non-determinism with or without RDO multithreading.
For now fix this by explicitly zero initializing the padding; while more efficient hash functions are possible, this aims to be a minimal change that fixes the problem. ^ s.m_sel is redundant though so it is removed for clarity.