Descriptionruntime: cut struct Hmap back to 48-byte allocation
struct Hmap is the header for a map value.
CL 8377046 made flags a uint32 so that it could be updated atomically,
but that bumped the struct to 56 bytes, which allocates as 64 bytes (on amd64).
hash0 is initialized from runtime.fastrand1, which returns a uint32,
so the top 32 bits were always zero anyway. Declare it as a uint32
to reclaim 4 bytes and bring the Hmap size back down to a 48-byte allocation.
Fixes issue 5237.
Patch Set 1 #Patch Set 2 : diff -r 3fd9ca3ab815 https://code.google.com/p/go/ #Patch Set 3 : diff -r 3fd9ca3ab815 https://code.google.com/p/go/ #Patch Set 4 : diff -r 3fd9ca3ab815 https://code.google.com/p/go/ #Patch Set 5 : diff -r a4702a268683 https://code.google.com/p/go/ #Patch Set 6 : diff -r a4702a268683 https://code.google.com/p/go/ #MessagesTotal messages: 5
|