• Martin Möhrmann's avatar
    cmd/compile: avoid padding for indirect map key or value on amd64p32 · 4c9989a3
    Martin Möhrmann authored
    Padding needed for map buckets is dependent on the types used to
    construct the map bucket. In case of indirect keys or values pointers
    are used in the map bucket to the keys or values.
    
    Change the map bucket padding calculation to take the alignment of
    the key and value types used to construct the map bucket into account
    instead of the original key and value type.
    
    Since pointers are always 32bit aligned on amd64p32 this prevents
    adding unneeded padding in case the key or value would have needed
    64bit alignment without indirect referencing.
    
    Change-Id: I7943448e882d269b5cff7e921a2a6f3430c50878
    Reviewed-on: https://go-review.googlesource.com/60030Reviewed-by: default avatarKeith Randall <khr@golang.org>
    4c9989a3
reflect.go 49 KB