From: Josh Bleecher Snyder Date: Fri, 2 Mar 2018 23:16:02 +0000 (-0800) Subject: runtime: skip pointless writes in freedefer X-Git-Tag: go1.11beta1~1325 X-Git-Url: http://www.git.cypherpunks.su/?a=commitdiff_plain;h=f7739c07c8f6ef9bfa28e8c4a4527b01cf3991bc;p=gostls13.git runtime: skip pointless writes in freedefer Change-Id: I501a0e5c87ec88616c7dcdf1b723758b6df6c088 Reviewed-on: https://go-review.googlesource.com/98758 Run-TryBot: Josh Bleecher Snyder TryBot-Result: Gobot Gobot Reviewed-by: Brad Fitzpatrick --- diff --git a/src/runtime/panic.go b/src/runtime/panic.go index dac63203fb..715e802d10 100644 --- a/src/runtime/panic.go +++ b/src/runtime/panic.go @@ -280,8 +280,9 @@ func freedefer(d *_defer) { d.started = false d.sp = 0 d.pc = 0 - d.fn = nil - d._panic = nil + // d._panic and d.fn must be nil already. + // If not, we would have called freedeferpanic or freedeferfn above, + // both of which throw. d.link = nil pp.deferpool[sc] = append(pp.deferpool[sc], d)