]> Cypherpunks repositories - gostls13.git/commit
cmd/compile: fix storeType to handle pointers to go:notinheap types
authorKeith Randall <khr@golang.org>
Thu, 22 Oct 2020 20:11:16 +0000 (13:11 -0700)
committerKeith Randall <khr@golang.org>
Tue, 27 Oct 2020 21:28:53 +0000 (21:28 +0000)
commit933721b8c7f981229974e2603850c2e9a7ffc5a1
tree5dd7a35102cd007fb0abf6a91ae7c11e6160fcc3
parent9fcb5e0c527337c830e95d48d4574930cac53093
cmd/compile: fix storeType to handle pointers to go:notinheap types

storeType splits compound stores up into a scalar parts and a pointer parts.
The scalar part happens unconditionally, and the pointer part happens
under the guard of a write barrier check.

Types which are declared as pointers, but are represented as scalars because
they might have "bad" values, were not handled correctly here. They ended
up not getting stored in either set.

Fixes #42032

Change-Id: I46f6600075c0c370e640b807066247237f93c7ac
Reviewed-on: https://go-review.googlesource.com/c/go/+/264300
Trust: Keith Randall <khr@golang.org>
Reviewed-by: Ian Lance Taylor <iant@golang.org>
src/cmd/compile/internal/gc/ssa.go
test/fixedbugs/issue42032.go [new file with mode: 0644]