Created attachment 571890 [details] [diff] [review]
HashTable::tableCapacity is redundant with respect to HashTable::hashShift. The attached patch removes it and replaces occurrences of it with calls to HashTable::capacity(), which computes the capacity from HashTable::hashShift.
This reduces the minimum size of a HashTable object from 24 to 20 bytes on 32-bit platforms, and from 32 to 24 bytes on 64-bit platforms. Loading Gmail and TechCrunch I see up to 5000 HashTables live at any one time, so it can save up to ~40KB on 64-bit platforms for that workload. Pretty small, but pretty easy too. I run Sunspider to check there was no adverse performance effects, changes were neglible.
Could you also test Kraken and V8?
Kraken and V8 both also have negligible changes.
Comment on attachment 571890 [details] [diff] [review]