• Michael Hudson-Doyle's avatar
    cmd/compile, runtime: stop returning t.zero on hashmap miss · 38519e69
    Michael Hudson-Doyle authored
    Previously t.zero always pointed to runtime.zerovalue. Change the hashmap code
    to always return a runtime pointer directly, and change that pointer to point
    to a larger buffer if one is needed.
    
    (It might be better to only copy from the pointer returned by the mapaccess
    functions when the value type is small enough and have the compiler insert
    explicit zeroing for larger value types, but I tried and failed to do this).
    
    This removes all uses of the zero field of the type data; the field itself can
    be removed in a separate change.
    
    Fixes #11491
    
    Change-Id: I5b81752ff4067d74a5a281c41e88f151bae0171e
    Reviewed-on: https://go-review.googlesource.com/13784Reviewed-by: 's avatarKeith Randall <khr@golang.org>
    Run-TryBot: Ian Lance Taylor <iant@golang.org>
    TryBot-Result: Gobot Gobot <gobot@golang.org>
    38519e69
hashmap.go 31 KB