mirror of
https://github.com/golang/go.git
synced 2025-12-08 06:10:04 +00:00
cmd/compile: remove use of Node.Nname in initplan
$ sizeof -p cmd/compile/internal/gc Node Node 168 $ Change-Id: Ie7e2cee8cec101560bd5dd013b23969278f89b12 Reviewed-on: https://go-review.googlesource.com/10536 Reviewed-by: Ian Lance Taylor <iant@golang.org> Reviewed-by: Josh Bleecher Snyder <josharian@gmail.com>
This commit is contained in:
parent
da094f19f1
commit
f1f0eda446
1 changed files with 5 additions and 4 deletions
|
|
@ -20,6 +20,7 @@ const (
|
|||
|
||||
var initlist *NodeList
|
||||
var initplans = make(map[*Node]*InitPlan)
|
||||
var inittemps = make(map[*Node]*Node)
|
||||
|
||||
// init1 walks the AST starting at n, and accumulates in out
|
||||
// the list of definitions needing init code in dependency order.
|
||||
|
|
@ -327,7 +328,7 @@ func staticcopy(l *Node, r *Node, out **NodeList) bool {
|
|||
|
||||
// copy pointer
|
||||
case OARRAYLIT, OSTRUCTLIT, OMAPLIT:
|
||||
gdata(l, Nod(OADDR, r.Nname, nil), int(l.Type.Width))
|
||||
gdata(l, Nod(OADDR, inittemps[r], nil), int(l.Type.Width))
|
||||
|
||||
return true
|
||||
}
|
||||
|
|
@ -335,7 +336,7 @@ func staticcopy(l *Node, r *Node, out **NodeList) bool {
|
|||
case OARRAYLIT:
|
||||
if Isslice(r.Type) {
|
||||
// copy slice
|
||||
a := r.Nname
|
||||
a := inittemps[r]
|
||||
|
||||
n1 := *l
|
||||
n1.Xoffset = l.Xoffset + int64(Array_array)
|
||||
|
|
@ -424,7 +425,7 @@ func staticassign(l *Node, r *Node, out **NodeList) bool {
|
|||
case OARRAYLIT, OMAPLIT, OSTRUCTLIT:
|
||||
a := staticname(r.Left.Type, 1)
|
||||
|
||||
r.Nname = a
|
||||
inittemps[r] = a
|
||||
gdata(l, Nod(OADDR, a, nil), int(l.Type.Width))
|
||||
|
||||
// Init underlying literal.
|
||||
|
|
@ -450,7 +451,7 @@ func staticassign(l *Node, r *Node, out **NodeList) bool {
|
|||
ta.Type = r.Type.Type
|
||||
ta.Bound = Mpgetfix(r.Right.Val.U.(*Mpint))
|
||||
a := staticname(ta, 1)
|
||||
r.Nname = a
|
||||
inittemps[r] = a
|
||||
n1 = *l
|
||||
n1.Xoffset = l.Xoffset + int64(Array_array)
|
||||
gdata(&n1, Nod(OADDR, a, nil), Widthptr)
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue