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.
7 import _ "unsafe" // for go:linkname
9 //go:generate go run wincallback.go
16 var tls0 [8]uintptr // available storage for m0's TLS; not necessarily used; opaque to GC
18 // Note: Called by runtime/pprof in addition to runtime code.
19 func tickspersecond() int64 {
20 r := int64(atomicload64(&ticks.val))
35 r = (c1 - c0) * 1000 * 1000 * 1000 / (t1 - t0)
39 atomicstore64(&ticks.val, uint64(r))
45 func makeStringSlice(n int) []string {
46 return make([]string, n)
49 // TODO: Move to parfor.go when parfor.c becomes parfor.go.
50 func parforalloc(nthrmax uint32) *parfor {
52 thr: &make([]parforthread, nthrmax)[0],
60 //go:linkname syscall_runtime_envs syscall.runtime_envs
61 func syscall_runtime_envs() []string { return envs }
63 //go:linkname os_runtime_args os.runtime_args
64 func os_runtime_args() []string { return argslice }