Commit b6296426 authored by Martin Möhrmann's avatar Martin Möhrmann

runtime: avoid zeroing hmap fields in makemap twice

Stack allocated hmap structs are explicitly zeroed before being
passed by pointer to makemap.

Heap allocated hmap structs are created with newobject
which also zeroes on allocation.

Therefore, setting the hmap fields to 0 or nil is redundant
since they will have been zeroed when hmap was allocated.

Change-Id: I5fc55b75e9dc5ba69f5e3588d6c746f53b45ba66
Reviewed-on: https://go-review.googlesource.com/56291Reviewed-by: 's avatarKeith Randall <khr@golang.org>
parent 541f8fef
...@@ -335,15 +335,10 @@ func makemap(t *maptype, hint int64, h *hmap, bucket unsafe.Pointer) *hmap { ...@@ -335,15 +335,10 @@ func makemap(t *maptype, hint int64, h *hmap, bucket unsafe.Pointer) *hmap {
if h == nil { if h == nil {
h = (*hmap)(newobject(t.hmap)) h = (*hmap)(newobject(t.hmap))
} }
h.count = 0
h.B = B h.B = B
h.extra = extra h.extra = extra
h.flags = 0
h.hash0 = fastrand() h.hash0 = fastrand()
h.buckets = buckets h.buckets = buckets
h.oldbuckets = nil
h.nevacuate = 0
h.noverflow = 0
return h return h
} }
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment