Switches from the drcontainers hashtable to the new open-address hashtable provided by DR. This is 2x to 3x faster due to the reduced dereferences from the inlined data.
Increases the last-value cache from one entry to an array of 8 entries. This was found to provide improved performance on small benchmarks.
Measured on bzip2 local and SPEC2006 runs as they are short enough to allow interactive experimentation. -use_physical still incurs a ~2.5x slowdown, but it was 9x before these changes. The bottleneck is no longer the hashtable but is now spread across all the address iteration and querying code.
Issue: #4014