smashwilson/segment — pull request #18 by smashwilson (2014-06-28 15:07:38+00:00)
Title: Additional hashtable implementations

I'm going to need a number of different hashtable implementations:

* One that uses `void *`, `size_t` pairs as keys and compares them directly with `memcmp`. This will be used for the symbol table.
* One that uses `void *` keys, but assumes a constant length, like the size of a struct. This one will be used for the ivar table within a class, other places where the key is a `seg_symbol`, and method lookup tables.
* One that delegates key comparison to an arbitrary function pointer. This will be the general non-identity `Dictionary` type.

I'd rather not implement them using function pointers because most of these are going to be performance hotspots in the interpreter. This might involve excessive acts of macro cleverness or copy-and-paste.