]> Cypherpunks repositories - gostls13.git/commit
syscall: mark arguments to Syscall as noescape
authorDmitriy Vyukov <dvyukov@google.com>
Fri, 17 Jan 2014 16:18:37 +0000 (20:18 +0400)
committerDmitriy Vyukov <dvyukov@google.com>
Fri, 17 Jan 2014 16:18:37 +0000 (20:18 +0400)
commitfc37eba149e134eba6ccd0debf283f9d7af635e1
tree4eeb0097879d433b10248655336427653a941a64
parent701982f173d65cca3f8a88df825c008b203775c8
syscall: mark arguments to Syscall as noescape
Heap arguments to "async" syscalls will break when/if we have moving GC anyway.
With this change is must not break until moving GC, because a user must
reference the object in Go to preserve liveness. Otherwise the code is broken already.
Reduces number of leaked params from 125 to 36 on linux.

R=golang-codereviews, mikioh.mikioh, bradfitz
CC=cshapiro, golang-codereviews, khr, rsc
https://golang.org/cl/45930043
src/cmd/gc/esc.c
src/pkg/syscall/dll_windows.go
src/pkg/syscall/syscall_linux_386.go
src/pkg/syscall/syscall_plan9.go
src/pkg/syscall/syscall_unix.go