]> Cypherpunks repositories - gostls13.git/commit
[release-branch.go1.22] cmd/compile: fix write barrier coalescing
authorKeith Randall <khr@golang.org>
Sat, 11 Jan 2025 01:33:26 +0000 (17:33 -0800)
committerMichael Knyszek <mknyszek@google.com>
Fri, 17 Jan 2025 15:41:15 +0000 (07:41 -0800)
commite0a01acd041f24485667283170c10c3ee9a49d02
tree19969487b92208805bd6ba9beabda792efbf1904
parentf07288435495dccb05217b6012ecb2b7a5b521ab
[release-branch.go1.22] cmd/compile: fix write barrier coalescing

We can't coalesce a non-WB store with a subsequent Move, as the
result of the store might be the source of the move.

There's a simple codegen test. Not sure how we might do a real test,
as all the repro's I've come up with are very expensive and unreliable.

Fixes #71229

Change-Id: If18bf181a266b9b90964e2591cd2e61a7168371c
Reviewed-on: https://go-review.googlesource.com/c/go/+/642197
Reviewed-by: Keith Randall <khr@google.com>
LUCI-TryBot-Result: Go LUCI <golang-scoped@luci-project-accounts.iam.gserviceaccount.com>
Reviewed-by: David Chase <drchase@google.com>
Reviewed-on: https://go-review.googlesource.com/c/go/+/642499
src/cmd/compile/internal/ssa/writebarrier.go
test/codegen/writebarrier.go