]> Cypherpunks repositories - gostls13.git/commitdiff
runtime: mark freedefer and deferclass go:nosplit
authorRuss Cox <rsc@golang.org>
Mon, 8 Sep 2014 21:37:49 +0000 (17:37 -0400)
committerRuss Cox <rsc@golang.org>
Mon, 8 Sep 2014 21:37:49 +0000 (17:37 -0400)
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

src/runtime/panic.go

index 740fa026e23d0b87b39ce2ab93f4db64ed6f5496..a5a8fbd6dd185a5dad5be87b1843bbb522a45ae9 100644 (file)
@@ -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