<div class="gmail_quote">Will post an updated (and cleaned up, thanks Nadav!) patch shortly, but wanted to answer this question:</div><div class="gmail_quote"><br></div><div class="gmail_quote">On Tue, Feb 28, 2012 at 7:20 AM, Howard Hinnant <span dir="ltr"><<a href="mailto:hhinnant@apple.com">hhinnant@apple.com</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div class="im">On Feb 28, 2012, at 6:34 AM, Chandler Carruth wrote:<br>
<br>
> Howard, high-level feedback from you would be particularly appreciated as I would love to contribute this to libc++ when the time is right.<br>
<br>
</div>Does the enclosed implementation implement this part of N3333:<br>
<br>
<a href="http://www.open-std.org/Jtc1/sc22/wg21/docs/papers/2012/n3333.html#per.process.seed" target="_blank">http://www.open-std.org/Jtc1/sc22/wg21/docs/papers/2012/n3333.html#per.process.seed</a><br>
<br>
?<br>
<br>
That to me seems like potentially the most controversial part.  I scanned Hashing.h but did not immediately see that support (I could've easily missed it).</blockquote><div><br></div><div>This is definitely the most controversial part, and as such I've separated it out for implementation purposes. The mechanism to implement this is in place, but currently it uses a fixed large prime and has a comment about the plan to potentially switch to a per-execution seed.</div>
<div><br></div><div>(see ::llvm::hashing::detail::get_execution_seed() if you're curious where)</div><div><br></div><div>My plan was first to get the interface and implementation worked out, and then to try flipping on the per-execution seed, seeing what breaks, tracking down the places we depend on the hash-table ordering, etc. Hopefully there aren't many places, but that's something we'll learn with this.</div>
</div>