aboutsummaryrefslogtreecommitdiff
path: root/src/runtime/map_fast64.go
diff options
context:
space:
mode:
Diffstat (limited to 'src/runtime/map_fast64.go')
-rw-r--r--src/runtime/map_fast64.go5
1 files changed, 3 insertions, 2 deletions
diff --git a/src/runtime/map_fast64.go b/src/runtime/map_fast64.go
index aa3eff8ac8..4bde9e2be0 100644
--- a/src/runtime/map_fast64.go
+++ b/src/runtime/map_fast64.go
@@ -293,10 +293,11 @@ search:
if t.key.kind&kindNoPointers == 0 {
memclrHasPointers(k, t.key.size)
}
- // Only clear value if there are pointers in it.
+ v := add(unsafe.Pointer(b), dataOffset+bucketCnt*8+i*uintptr(t.valuesize))
if t.elem.kind&kindNoPointers == 0 {
- v := add(unsafe.Pointer(b), dataOffset+bucketCnt*8+i*uintptr(t.valuesize))
memclrHasPointers(v, t.elem.size)
+ } else {
+ memclrNoHeapPointers(v, t.elem.size)
}
b.tophash[i] = empty
h.count--