]> Cypherpunks repositories - gostls13.git/commit
reflect: use zero buffer to back the Value returned by Zero
authorKeith Randall <khr@golang.org>
Fri, 18 Sep 2020 21:19:22 +0000 (14:19 -0700)
committerKeith Randall <khr@golang.org>
Fri, 18 Sep 2020 21:47:28 +0000 (21:47 +0000)
commit8925290cf701fc8f7ec95e4df3d6a8d423b26780
tree199698091a419a71a2133ea2832d47adc0dd70a2
parent7e54aa2c25690f5a7f5baad112d231b6ff8d4e5e
reflect: use zero buffer to back the Value returned by Zero

In the common case (<1KB types), no allocation is required
by reflect.Zero.

Also use memclr instead of memmove in Set when the source
is known to be zero.

Fixes #33136

Change-Id: Ic66871930fbb53328032e587153ebd12995ccf55
Reviewed-on: https://go-review.googlesource.com/c/go/+/192331
Trust: Keith Randall <khr@golang.org>
Run-TryBot: Keith Randall <khr@golang.org>
TryBot-Result: Go Bot <gobot@golang.org>
Reviewed-by: Martin Möhrmann <moehrmann@google.com>
src/reflect/all_test.go
src/reflect/value.go
src/runtime/map.go