aboutsummaryrefslogtreecommitdiff
path: root/src/runtime/panic.go
diff options
context:
space:
mode:
authorRuss Cox <rsc@golang.org>2014-09-08 17:37:49 -0400
committerRuss Cox <rsc@golang.org>2014-09-08 17:37:49 -0400
commit857d55a3f9cfc8ccc8aef24571417ae4ecabbcc9 (patch)
treeaff451b5826302a4b7fae4708df65d8c4f8161ac /src/runtime/panic.go
parentdc089574c49f3e426da4387a9448ca1a631c0b42 (diff)
downloadgo-857d55a3f9cfc8ccc8aef24571417ae4ecabbcc9.tar.xz
runtime: mark freedefer and deferclass go:nosplit
This should make deferreturn nosplit all the way down, which should fix the current windows/amd64 failure. If not, I will change StackCopyAlways back to 0. TBR=khr CC=golang-codereviews https://golang.org/cl/135600043
Diffstat (limited to 'src/runtime/panic.go')
-rw-r--r--src/runtime/panic.go2
1 files changed, 2 insertions, 0 deletions
diff --git a/src/runtime/panic.go b/src/runtime/panic.go
index 740fa026e2..a5a8fbd6dd 100644
--- a/src/runtime/panic.go
+++ b/src/runtime/panic.go
@@ -95,6 +95,7 @@ func deferproc(siz int32, fn *funcval) { // arguments of fn follow fn
// This maps exactly to malloc size classes.
// defer size class for arg size sz
+//go:nosplit
func deferclass(siz uintptr) uintptr {
return (siz + 7) >> 4
}
@@ -159,6 +160,7 @@ func newdefer(siz int32) *_defer {
// Free the given defer.
// The defer cannot be used after this call.
+//go:nosplit
func freedefer(d *_defer) {
if d.special {
return