]> Cypherpunks repositories - gostls13.git/commit
cmd/compile: ensure write barrier branches get marked uninterruptible
authorKeith Randall <khr@golang.org>
Wed, 9 Aug 2023 22:49:48 +0000 (15:49 -0700)
committerKeith Randall <khr@golang.org>
Thu, 10 Aug 2023 21:54:31 +0000 (21:54 +0000)
commitbf2a6d1957915530c73bbc8c863bb29da6c2714e
treea1aeda6991de4bb90ad1b25fed9b08ed094e547b
parent162469b3cfbaac12b74100e80ccd3c6dd0126233
cmd/compile: ensure write barrier branches get marked uninterruptible

The branch itself can't be marked, so we ensure we mark the last
ssa.Value in the block as uninterruptible, because that's where the
branch ends up getting its uninterruptibility from.

This is somewhat conservative, as we're marking an instruction as
uninterruptible that doesn't need to be. But it is an easy fix.

TODO: figure out a test

Change-Id: Icd314f0bbdce8f80019bafb9e861baca4e7ecbb1
Reviewed-on: https://go-review.googlesource.com/c/go/+/518055
Run-TryBot: Keith Randall <khr@golang.org>
TryBot-Result: Gopher Robot <gobot@golang.org>
Reviewed-by: David Chase <drchase@google.com>
Reviewed-by: Michael Knyszek <mknyszek@google.com>
src/cmd/compile/internal/liveness/plive.go