]> git.ipfire.org Git - thirdparty/gcc.git/commit
libgo: reduce overhead for memory/block/mutex profiling
authorian <ian@138bc75d-0d04-0410-961f-82ee72b054a4>
Tue, 14 May 2019 14:59:42 +0000 (14:59 +0000)
committerian <ian@138bc75d-0d04-0410-961f-82ee72b054a4>
Tue, 14 May 2019 14:59:42 +0000 (14:59 +0000)
commita8798e0b31c6c98ed24fae7e28c5fd4c6c30baea
tree0bed1e11d205c99ef1f13dd4b7aece761779c360
parent2cfc6a76fdb4cfac3e52ad6339541b26aee9b23a
libgo: reduce overhead for memory/block/mutex profiling

    Revise the gccgo version of memory/block/mutex profiling to reduce
    runtime overhead. The main change is to collect raw stack traces while
    the profile is on line, then post-process the stacks just prior to the
    point where we are ready to use the final product. Memory profiling
    (at a very low sampling rate) is enabled by default, and the overhead
    of the symbolization / DWARF-reading from backtrace_full was slowing
    things down relative to the main Go runtime.

    Reviewed-on: https://go-review.googlesource.com/c/gofrontend/+/171497

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@271172 138bc75d-0d04-0410-961f-82ee72b054a4
gcc/go/gofrontend/MERGE
libgo/go/runtime/heapdump.go
libgo/go/runtime/mgcmark.go
libgo/go/runtime/mprof.go
libgo/go/runtime/panic.go
libgo/go/runtime/string.go
libgo/go/runtime/symtab.go
libgo/go/runtime/traceback_gccgo.go
libgo/runtime/go-caller.c
libgo/runtime/go-callers.c
libgo/runtime/runtime.h