runtime: don't panic in castogscanstatus

The panic calls gopanic which may have write barriers, but
castogscanstatus is called from //go:nowritebarrier contexts.

The panic is dead code anyway, and appears immediately before a call to
'throw'.

Change-Id: I4a8e296b71bf002295a3aa1db4f723c305ed939a
Reviewed-on: https://go-review.googlesource.com/c/go/+/717406
LUCI-TryBot-Result: Go LUCI <golang-scoped@luci-project-accounts.iam.gserviceaccount.com>
Reviewed-by: Cherry Mui <cherryyz@google.com>
This commit is contained in:
Michael Anthony Knyszek 2025-11-03 22:29:36 +00:00 committed by Michael Knyszek
parent 43491f8d52
commit b5353fd90a

View file

@ -1254,8 +1254,8 @@ func castogscanstatus(gp *g, oldval, newval uint32) bool {
} }
} }
print("runtime: castogscanstatus oldval=", hex(oldval), " newval=", hex(newval), "\n") print("runtime: castogscanstatus oldval=", hex(oldval), " newval=", hex(newval), "\n")
throw("castogscanstatus") throw("bad oldval passed to castogscanstatus")
panic("not reached") return false
} }
// casgstatusAlwaysTrack is a debug flag that causes casgstatus to always track // casgstatusAlwaysTrack is a debug flag that causes casgstatus to always track