1
0
mirror of https://github.com/golang/go synced 2024-11-27 04:31:21 -07:00

cmd/compile: clarify adjustctxt inlining comment

The reason why adjustctxt wasn't being inlined was reported as:

	function too complex: cost 92 exceeds budget 80

However, after tweaking the code to be under the budget limit, we see
the real blocker:

	non-leaf function

There is little we can do about this one in particular at the moment.
Create a section with funcs that will need mid-stack inlining to be
inlineable, since this will likely come up again in other cases.

Change-Id: I3a8eb1546b289a060ac896506a007b0496946e84
Reviewed-on: https://go-review.googlesource.com/65650
Run-TryBot: Daniel Martí <mvdan@mvdan.cc>
TryBot-Result: Gobot Gobot <gobot@golang.org>
Reviewed-by: Matthew Dempsky <mdempsky@google.com>
This commit is contained in:
Daniel Martí 2017-09-23 12:22:10 +01:00 committed by Matthew Dempsky
parent 7537bb7b30
commit 6936671ed1

View File

@ -29,6 +29,10 @@ func TestIntendedInlining(t *testing.T) {
// be inlined.
want := map[string][]string{
"runtime": {
// TODO(mvdan): enable these once mid-stack
// inlining is available
// "adjustctxt",
"add",
"addb",
"adjustpanics",
@ -58,8 +62,6 @@ func TestIntendedInlining(t *testing.T) {
"(*bmap).keys",
"(*bmap).overflow",
"(*waitq).enqueue",
//"adjustctxt", TODO(mvdan): fix and re-enable
},
"runtime/internal/sys": {},
"unicode/utf8": {