]> Cypherpunks.ru repositories - gostls13.git/commit
runtime: avoid relying on the unwinder in deferreturn
authorMatthew Dempsky <mdempsky@google.com>
Fri, 4 Aug 2023 03:29:47 +0000 (20:29 -0700)
committerMatthew Dempsky <mdempsky@google.com>
Mon, 7 Aug 2023 18:44:12 +0000 (18:44 +0000)
commit9869699c44bb9d1d5f94c1ee32092451a418b95c
treefbfc508484c4974b64892721dadd893cc0947249
parent2bf8b3985ff25a62d14e0b105c1b4d0637add51a
runtime: avoid relying on the unwinder in deferreturn

This CL changes deferreturn so that it never needs to invoke the
unwinder. Instead, in the unusual case that we recover into a frame
with pending open-coded defers, we now save the extra state needed to
find them in g.param.

Change-Id: Ied35f6c1063fee5b6044cc37b2bccd3f90682fe6
Reviewed-on: https://go-review.googlesource.com/c/go/+/515856
Reviewed-by: Keith Randall <khr@golang.org>
Reviewed-by: Keith Randall <khr@google.com>
TryBot-Result: Gopher Robot <gobot@golang.org>
Run-TryBot: Matthew Dempsky <mdempsky@google.com>
src/runtime/panic.go
src/runtime/runtime2.go