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
This commit is contained in:
Russ Cox 2014-09-08 17:37:49 -04:00
parent dc089574c4
commit 857d55a3f9

View 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