diff options
| author | Matthew Dempsky <mdempsky@google.com> | 2015-02-25 14:41:21 +0900 |
|---|---|---|
| committer | Dmitry Vyukov <dvyukov@google.com> | 2015-02-26 08:59:24 +0000 |
| commit | 3c8a89daf3a05a1dd98075a733db7a20bef2dc5c (patch) | |
| tree | db477dc0bc924ff94ea7b334c5a9233df9c65a17 /src/runtime/trace.go | |
| parent | a32dd832530a176b5b45f06c3a97f52383227480 (diff) | |
| download | go-3c8a89daf3a05a1dd98075a733db7a20bef2dc5c.tar.xz | |
runtime: simplify CPU profiling code
This makes Go's CPU profiling code somewhat more idiomatic; e.g.,
using := instead of forward declaring variables, using "int" for
element counts instead of "uintptr", and slices instead of C-style
pointer+length. This makes the code easier to read and eliminates a
lot of type conversion clutter.
Additionally, in sigprof we can collect just maxCPUProfStack stack
frames, as cpuprof won't use more than that anyway.
Change-Id: I0235b5ae552191bcbb453b14add6d8c01381bd06
Reviewed-on: https://go-review.googlesource.com/6072
Run-TryBot: Matthew Dempsky <mdempsky@google.com>
TryBot-Result: Gobot Gobot <gobot@golang.org>
Reviewed-by: Dmitry Vyukov <dvyukov@google.com>
Diffstat (limited to 'src/runtime/trace.go')
| -rw-r--r-- | src/runtime/trace.go | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/src/runtime/trace.go b/src/runtime/trace.go index 9804092da3..3a4421baca 100644 --- a/src/runtime/trace.go +++ b/src/runtime/trace.go @@ -468,9 +468,9 @@ func traceEvent(ev byte, stack bool, args ...uint64) { } var nstk int if gp == _g_ { - nstk = callers(1, &buf.stk[0], len(buf.stk)) + nstk = callers(1, buf.stk[:]) } else if gp != nil { - nstk = gcallers(mp.curg, 1, &buf.stk[0], len(buf.stk)) + nstk = gcallers(mp.curg, 1, buf.stk[:]) } id := trace.stackTab.put(buf.stk[:nstk]) data = traceAppend(data, uint64(id)) |
