1 // Copyright 2009 The Go Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style
3 // license that can be found in the LICENSE file.
8 "runtime/internal/atomic"
9 _
"unsafe" // for go:linkname
12 //go:generate go run wincallback.go
13 //go:generate go run mkduff.go
14 //go:generate go run mkfastlog2table.go
16 // For gccgo, while we still have C runtime code, use go:linkname to
17 // rename some functions to themselves, so that the compiler will
20 //go:linkname tickspersecond runtime.tickspersecond
25 // Note: Called by runtime/pprof in addition to runtime code.
26 func tickspersecond() int64 {
27 r
:= int64(atomic
.Load64(&ticksVal
))
42 r
= (c1
- c0
) * 1000 * 1000 * 1000 / (t1
- t0
)
46 atomic
.Store64(&ticksVal
, uint64(r
))
55 //go:linkname syscall_runtime_envs syscall.runtime_envs
56 func syscall_runtime_envs() []string { return append([]string{}, envs
...) }
58 //go:linkname syscall_Getpagesize syscall.Getpagesize
59 func syscall_Getpagesize() int { return int(physPageSize
) }
61 //go:linkname os_runtime_args os.runtime_args
62 func os_runtime_args() []string { return append([]string{}, argslice
...) }
64 //go:linkname syscall_Exit syscall.Exit
66 func syscall_Exit(code
int) {
70 // Temporary, for the gccgo runtime code written in C.
71 //go:linkname get_envs runtime_get_envs
72 func get_envs() []string { return envs
}
74 //go:linkname get_args runtime_get_args
75 func get_args() []string { return argslice
}