From: Michael Pratt Date: Wed, 20 Jul 2022 15:18:15 +0000 (-0400) Subject: runtime: clean up dopanic_m X-Git-Tag: go1.20rc1~1839 X-Git-Url: http://www.git.cypherpunks.su/?a=commitdiff_plain;h=0ad2ec6596afc51341fa3059528d89a0508956ab;p=gostls13.git runtime: clean up dopanic_m gp is a user G running on the same M as getg(), so it is a fine proxy for gp.m. Change-Id: I9aa1dd283ecf28878eeedd7da4ded5c901809832 Reviewed-on: https://go-review.googlesource.com/c/go/+/418576 Run-TryBot: Michael Pratt Reviewed-by: Austin Clements TryBot-Result: Gopher Robot --- diff --git a/src/runtime/panic.go b/src/runtime/panic.go index ab8d1f82b4..e7eee82df6 100644 --- a/src/runtime/panic.go +++ b/src/runtime/panic.go @@ -1240,6 +1240,8 @@ func startpanic_m() bool { var didothers bool var deadlock mutex +// gp is the crashing g running on this M, but may be a user G, while getg() is +// always g0. func dopanic_m(gp *g, pc, sp uintptr) bool { if gp.sig != 0 { signame := signame(gp.sig) @@ -1252,7 +1254,6 @@ func dopanic_m(gp *g, pc, sp uintptr) bool { } level, all, docrash := gotraceback() - _g_ := getg() if level > 0 { if gp != gp.m.curg { all = true @@ -1261,7 +1262,7 @@ func dopanic_m(gp *g, pc, sp uintptr) bool { print("\n") goroutineheader(gp) traceback(pc, sp, 0, gp) - } else if level >= 2 || _g_.m.throwing >= throwTypeRuntime { + } else if level >= 2 || gp.m.throwing >= throwTypeRuntime { print("\nruntime stack:\n") traceback(pc, sp, 0, gp) }