From f7739c07c8f6ef9bfa28e8c4a4527b01cf3991bc Mon Sep 17 00:00:00 2001 From: Josh Bleecher Snyder Date: Fri, 2 Mar 2018 15:16:02 -0800 Subject: [PATCH] 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 --- src/runtime/panic.go | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) 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) -- 2.50.0