]> Cypherpunks repositories - gostls13.git/commit
runtime/pprof: clarify recursive inline heuristic
authorMichael Pratt <mpratt@google.com>
Tue, 7 Apr 2020 19:17:25 +0000 (15:17 -0400)
committerMichael Pratt <mpratt@google.com>
Mon, 13 Apr 2020 20:37:17 +0000 (20:37 +0000)
commitce528719487080f4797e1ed45671bd509cbc2d10
tree02068d1c6fd7901515a6c8bfd36149b17b0e5283
parent796475ce1f7c4be3b7171cacea225cc313083c6d
runtime/pprof: clarify recursive inline heuristic

Following CL 226818, the compiler will allow inlining a single cycle in
an inline chain. Immediately-recursive functions are still disallowed,
which is what this heuristic refers to.

Add a regression test for this case.

Note that in addition to this check, if the compiler were to inline
multiple cycles via a loop (i.e., rather than appending duplicate code),
much more work would be required here to handle a single address
appearing in multiple different inline frames.

Updates #29737

Change-Id: I88de15cfbeabb9c04381e1c12cc36778623132a5
Reviewed-on: https://go-review.googlesource.com/c/go/+/227346
Run-TryBot: Michael Pratt <mpratt@google.com>
TryBot-Result: Gobot Gobot <gobot@golang.org>
Reviewed-by: Dan Scales <danscales@google.com>
Reviewed-by: Hyang-Ah Hana Kim <hyangah@gmail.com>
src/runtime/pprof/pprof_test.go
src/runtime/pprof/proto.go