Though Casey has used hash tables on stream plenty of times, I do not recall an instance where he used an open-addressing style hash table. I've been using chaining-style hashes to great effect, which in-house memory makes easy because you can just chain arbitrary locations when you get a collision.
However, I'm curious as to how one would go about implementing an open-addressing hash. As far as I can tell, the Handmade scheme for memory management does not allow for "realloc"-style operations. So when the table has to grow, how can it do so and remain contiguous in memory? My best guess is that you simply allocate a new table from the arena... but then all the memory from the smaller table is wasted, since it's in the "used" region and cannot be reclaimed!
I've rewatched Episode 55 when Hash Tables are introduced and although it explains open-addressing ("internal" chaining), it doesn't go into how one could implement this without realloc or without crazy wastage of space.
Interested in hearing your thoughts.