runtime: mark all runtime.cputicks implementations NOSPLIT

Fixes #10450

runtime.cputicks is called from runtime.exitsyscall and must not
split the stack. cputicks is implemented in several ways and the
NOSPLIT annotation was missing from a few of these.

Change-Id: I5cbbb4e5888c5d298fe2fef240782d0e49f59af8
Reviewed-on: https://go-review.googlesource.com/8939
Reviewed-by: Aram Hăvărneanu <aram@mgk.ro>
This commit is contained in:
Dave Cheney 2015-04-15 19:11:47 +10:00
parent 9402e49450
commit e629cd0f88
2 changed files with 2 additions and 0 deletions

View File

@ -64,6 +64,7 @@ func sysargs(argc int32, argv **byte) {
}
}
//go:nosplit
func cputicks() int64 {
// Currently cputicks() is used in blocking profiler and to seed fastrand1().
// nanotime() is a poor approximation of CPU ticks that is enough for the profiler.

View File

@ -11,6 +11,7 @@ const (
var randomNumber uint32
//go:nosplit
func cputicks() int64 {
// Currently cputicks() is used in blocking profiler and to seed fastrand1().
// nanotime() is a poor approximation of CPU ticks that is enough for the profiler.