cmd/compile: change Func.Inldcl from []*Node to *[]*Node
Save a few bytes in Func.
Passes toolstash -cmp.
Update #14473.
Change-Id: I824fa7d5cb2d93f6f59938ccd86114abcbea0043
Reviewed-on: https://go-review.googlesource.com/19968
Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
diff --git a/src/cmd/compile/internal/gc/inl.go b/src/cmd/compile/internal/gc/inl.go
index 17cc61a..f5c3265 100644
--- a/src/cmd/compile/internal/gc/inl.go
+++ b/src/cmd/compile/internal/gc/inl.go
@@ -150,7 +150,10 @@
fn.Func.Nname.Func.Inl = fn.Nbody
fn.Nbody = inlcopylist(fn.Func.Nname.Func.Inl)
- fn.Func.Nname.Func.Inldcl = inlcopyslice(fn.Func.Nname.Name.Defn.Func.Dcl)
+ inldcl := inlcopyslice(fn.Func.Nname.Name.Defn.Func.Dcl)
+ if len(inldcl) > 0 {
+ fn.Func.Nname.Func.Inldcl = &inldcl
+ }
fn.Func.Nname.Func.InlCost = int32(maxBudget - budget)
// hack, TODO, check for better way to link method nodes back to the thing with the ->inl
@@ -569,9 +572,13 @@
//dumplist("ninit pre", ninit);
var dcl []*Node
- if fn.Name.Defn != nil { // local function
- dcl = fn.Func.Inldcl // imported function
+ if fn.Name.Defn != nil {
+ // local function
+ if fn.Func.Inldcl != nil {
+ dcl = *fn.Func.Inldcl
+ }
} else {
+ // imported function
dcl = fn.Func.Dcl
}