aboutsummaryrefslogtreecommitdiff
path: root/src/os/exec/exec_linux_test.go
diff options
context:
space:
mode:
authorMichael Munday <mike.munday@ibm.com>2020-04-14 15:46:26 +0100
committerMichael Munday <mike.munday@ibm.com>2020-04-14 19:04:32 +0000
commit382fe3e2498f2066400e7e7007aa9903440e339d (patch)
tree98e4af4b9d0cafcc5f130e6e6b21707a9d1ed4d1 /src/os/exec/exec_linux_test.go
parent334d410ae35a28d770fe43009ca346b4387c1399 (diff)
downloadgo-382fe3e2498f2066400e7e7007aa9903440e339d.tar.xz
cmd/compile: fix deallocation of live value copies in regalloc
When deallocating the input register to a phi so that the phi itself could be allocated to that register the code was also deallocating all copies of that phi input value. Those copies of the value could still be live and if they were the register allocator could reuse them incorrectly to hold speculative copies of other phi inputs. This causes strange bugs. No test because this is a very obscure scenario that is hard to replicate but CL 228060 adds an assertion to the compiler that does trigger when running the std tests on linux/s390x without this CL applied. Hopefully that assertion will prevent future regressions. Fixes #38195. Change-Id: Id975dadedd731c7bb21933b9ea6b17daaa5c9e1d Reviewed-on: https://go-review.googlesource.com/c/go/+/228061 Run-TryBot: Michael Munday <mike.munday@ibm.com> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Keith Randall <khr@golang.org>
Diffstat (limited to 'src/os/exec/exec_linux_test.go')
0 files changed, 0 insertions, 0 deletions