]> Cypherpunks repositories - gostls13.git/commitdiff
runtime: skip pointless writes in freedefer
authorJosh Bleecher Snyder <josharian@gmail.com>
Fri, 2 Mar 2018 23:16:02 +0000 (15:16 -0800)
committerJosh Bleecher Snyder <josharian@gmail.com>
Tue, 6 Mar 2018 18:58:57 +0000 (18:58 +0000)
Change-Id: I501a0e5c87ec88616c7dcdf1b723758b6df6c088
Reviewed-on: https://go-review.googlesource.com/98758
Run-TryBot: Josh Bleecher Snyder <josharian@gmail.com>
TryBot-Result: Gobot Gobot <gobot@golang.org>
Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
src/runtime/panic.go

index dac63203fbe8abf624227f83aee6ff5507ef1928..715e802d107fbf310bcbf19ca1dfb540fe8c0ac3 100644 (file)
@@ -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)