aboutsummaryrefslogtreecommitdiff
path: root/src/runtime/proc.go
diff options
context:
space:
mode:
authorRhys Hiltner <rhys@justin.tv>2021-09-23 16:46:58 -0700
committerMichael Pratt <mpratt@google.com>2021-09-27 18:58:36 +0000
commit5b909580849c611c633c111a15adb40c9c42ec8e (patch)
tree5573e638e932b7bcb6f8fa6e3117d36ce0fc0d74 /src/runtime/proc.go
parent8cfd8c3db8e32fed0cf61371335d87a47a4738c3 (diff)
downloadgo-5b909580849c611c633c111a15adb40c9c42ec8e.tar.gz
go-5b909580849c611c633c111a15adb40c9c42ec8e.zip
runtime: move sigprofNonGo
The sigprofNonGo and sigprofNonGoPC functions are only used on unix-like platforms. In preparation for unix-specific changes to sigprofNonGo, move it (plus its close relative) to a unix-specific file. Updates #35057 Change-Id: I9c814127c58612ea9a9fbd28a992b04ace5c604d Reviewed-on: https://go-review.googlesource.com/c/go/+/351790 Run-TryBot: Rhys Hiltner <rhys@justin.tv> TryBot-Result: Go Bot <gobot@golang.org> Reviewed-by: Ian Lance Taylor <iant@golang.org> Reviewed-by: Michael Pratt <mpratt@google.com> Trust: David Chase <drchase@google.com>
Diffstat (limited to 'src/runtime/proc.go')
-rw-r--r--src/runtime/proc.go39
1 files changed, 0 insertions, 39 deletions
diff --git a/src/runtime/proc.go b/src/runtime/proc.go
index b744d0e71e..2f619f93d3 100644
--- a/src/runtime/proc.go
+++ b/src/runtime/proc.go
@@ -4705,45 +4705,6 @@ func sigprof(pc, sp, lr uintptr, gp *g, mp *m) {
getg().m.mallocing--
}
-// If the signal handler receives a SIGPROF signal on a non-Go thread,
-// it tries to collect a traceback into sigprofCallers.
-// sigprofCallersUse is set to non-zero while sigprofCallers holds a traceback.
-var sigprofCallers cgoCallers
-var sigprofCallersUse uint32
-
-// sigprofNonGo is called if we receive a SIGPROF signal on a non-Go thread,
-// and the signal handler collected a stack trace in sigprofCallers.
-// When this is called, sigprofCallersUse will be non-zero.
-// g is nil, and what we can do is very limited.
-//go:nosplit
-//go:nowritebarrierrec
-func sigprofNonGo() {
- if prof.hz != 0 {
- n := 0
- for n < len(sigprofCallers) && sigprofCallers[n] != 0 {
- n++
- }
- cpuprof.addNonGo(sigprofCallers[:n])
- }
-
- atomic.Store(&sigprofCallersUse, 0)
-}
-
-// sigprofNonGoPC is called when a profiling signal arrived on a
-// non-Go thread and we have a single PC value, not a stack trace.
-// g is nil, and what we can do is very limited.
-//go:nosplit
-//go:nowritebarrierrec
-func sigprofNonGoPC(pc uintptr) {
- if prof.hz != 0 {
- stk := []uintptr{
- pc,
- abi.FuncPCABIInternal(_ExternalCode) + sys.PCQuantum,
- }
- cpuprof.addNonGo(stk)
- }
-}
-
// setcpuprofilerate sets the CPU profiling rate to hz times per second.
// If hz <= 0, setcpuprofilerate turns off CPU profiling.
func setcpuprofilerate(hz int32) {