Source File
runtime.go
Belonging Package
runtime
// Copyright 2009 The Go Authors. All rights reserved.// Use of this source code is governed by a BSD-style// license that can be found in the LICENSE file.package runtimeimport (_ // for go:linkname)//go:generate go run wincallback.go//go:generate go run mkduff.go//go:generate go run mkfastlog2table.govar ticks struct {lock mutexpad uint32 // ensure 8-byte alignment of val on 386val uint64}// Note: Called by runtime/pprof in addition to runtime code.func () int64 {:= int64(atomic.Load64(&ticks.val))if != 0 {return}lock(&ticks.lock)= int64(ticks.val)if == 0 {:= nanotime():= cputicks()usleep(100 * 1000):= nanotime():= cputicks()if == {++}= ( - ) * 1000 * 1000 * 1000 / ( - )if == 0 {++}atomic.Store64(&ticks.val, uint64())}unlock(&ticks.lock)return}var envs []stringvar argslice []string//go:linkname syscall_runtime_envs syscall.runtime_envsfunc () []string { return append([]string{}, envs...) }//go:linkname syscall_Getpagesize syscall.Getpagesizefunc () int { return int(physPageSize) }//go:linkname os_runtime_args os.runtime_argsfunc () []string { return append([]string{}, argslice...) }//go:linkname syscall_Exit syscall.Exit//go:nosplitfunc ( int) {exit(int32())}