mirror of
https://github.com/golang/go.git
synced 2025-12-08 06:10:04 +00:00
cmd/compile: convert Dodata to a bool, rename to IsStatic
Passes toolstash -cmp. Change-Id: I2c204ec14b0a72b592fb336acdd4dff55650f7f6 Reviewed-on: https://go-review.googlesource.com/26751 Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org> Run-TryBot: Josh Bleecher Snyder <josharian@gmail.com> TryBot-Result: Gobot Gobot <gobot@golang.org>
This commit is contained in:
parent
a301b329e5
commit
67bcee8d98
4 changed files with 14 additions and 14 deletions
|
|
@ -299,8 +299,8 @@ func jconv(n *Node, flag FmtFlag) string {
|
||||||
fmt.Fprintf(&buf, " tc(%d)", n.Typecheck)
|
fmt.Fprintf(&buf, " tc(%d)", n.Typecheck)
|
||||||
}
|
}
|
||||||
|
|
||||||
if c == 0 && n.Dodata != 0 {
|
if c == 0 && n.IsStatic {
|
||||||
fmt.Fprintf(&buf, " dd(%d)", n.Dodata)
|
buf.WriteString(" static")
|
||||||
}
|
}
|
||||||
|
|
||||||
if n.Isddd {
|
if n.Isddd {
|
||||||
|
|
|
||||||
|
|
@ -641,7 +641,7 @@ func structlit(ctxt int, pass int, n *Node, var_ *Node, init *Nodes) {
|
||||||
if a.Op != OAS {
|
if a.Op != OAS {
|
||||||
Fatalf("structlit: not as")
|
Fatalf("structlit: not as")
|
||||||
}
|
}
|
||||||
a.Dodata = 2
|
a.IsStatic = true
|
||||||
} else {
|
} else {
|
||||||
a = orderstmtinplace(a)
|
a = orderstmtinplace(a)
|
||||||
a = walkstmt(a)
|
a = walkstmt(a)
|
||||||
|
|
@ -703,7 +703,7 @@ func arraylit(ctxt int, pass int, n *Node, var_ *Node, init *Nodes) {
|
||||||
if a.Op != OAS {
|
if a.Op != OAS {
|
||||||
Fatalf("arraylit: not as")
|
Fatalf("arraylit: not as")
|
||||||
}
|
}
|
||||||
a.Dodata = 2
|
a.IsStatic = true
|
||||||
} else {
|
} else {
|
||||||
a = orderstmtinplace(a)
|
a = orderstmtinplace(a)
|
||||||
a = walkstmt(a)
|
a = walkstmt(a)
|
||||||
|
|
@ -730,7 +730,7 @@ func slicelit(ctxt int, n *Node, var_ *Node, init *Nodes) {
|
||||||
|
|
||||||
a = Nod(OAS, var_, a)
|
a = Nod(OAS, var_, a)
|
||||||
a = typecheck(a, Etop)
|
a = typecheck(a, Etop)
|
||||||
a.Dodata = 2
|
a.IsStatic = true
|
||||||
init.Append(a)
|
init.Append(a)
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
@ -910,7 +910,7 @@ func maplit(ctxt int, n *Node, m *Node, init *Nodes) {
|
||||||
as := Nod(OAS, lhs, index)
|
as := Nod(OAS, lhs, index)
|
||||||
as = typecheck(as, Etop)
|
as = typecheck(as, Etop)
|
||||||
as = walkexpr(as, init)
|
as = walkexpr(as, init)
|
||||||
as.Dodata = 2
|
as.IsStatic = true
|
||||||
init.Append(as)
|
init.Append(as)
|
||||||
|
|
||||||
// build vstatv[b] = value
|
// build vstatv[b] = value
|
||||||
|
|
@ -919,7 +919,7 @@ func maplit(ctxt int, n *Node, m *Node, init *Nodes) {
|
||||||
as = Nod(OAS, lhs, value)
|
as = Nod(OAS, lhs, value)
|
||||||
as = typecheck(as, Etop)
|
as = typecheck(as, Etop)
|
||||||
as = walkexpr(as, init)
|
as = walkexpr(as, init)
|
||||||
as.Dodata = 2
|
as.IsStatic = true
|
||||||
init.Append(as)
|
init.Append(as)
|
||||||
|
|
||||||
b++
|
b++
|
||||||
|
|
@ -1326,15 +1326,15 @@ func isvaluelit(n *Node) bool {
|
||||||
// If reportOnly is true, it does not emit static data and does not modify the AST.
|
// If reportOnly is true, it does not emit static data and does not modify the AST.
|
||||||
func gen_as_init(n *Node, reportOnly bool) bool {
|
func gen_as_init(n *Node, reportOnly bool) bool {
|
||||||
success := genAsInitNoCheck(n, reportOnly)
|
success := genAsInitNoCheck(n, reportOnly)
|
||||||
if !success && n.Dodata == 2 {
|
if !success && n.IsStatic {
|
||||||
Dump("\ngen_as_init", n)
|
Dump("\ngen_as_init", n)
|
||||||
Fatalf("gen_as_init couldn't make data statement")
|
Fatalf("gen_as_init couldn't generate static data")
|
||||||
}
|
}
|
||||||
return success
|
return success
|
||||||
}
|
}
|
||||||
|
|
||||||
func genAsInitNoCheck(n *Node, reportOnly bool) bool {
|
func genAsInitNoCheck(n *Node, reportOnly bool) bool {
|
||||||
if n.Dodata == 0 {
|
if !n.IsStatic {
|
||||||
return false
|
return false
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -63,7 +63,7 @@ type Node struct {
|
||||||
Walkdef uint8
|
Walkdef uint8
|
||||||
Typecheck uint8
|
Typecheck uint8
|
||||||
Local bool
|
Local bool
|
||||||
Dodata uint8
|
IsStatic bool // whether this Node will be converted to purely static data
|
||||||
Initorder uint8
|
Initorder uint8
|
||||||
Used bool
|
Used bool
|
||||||
Isddd bool // is the argument variadic
|
Isddd bool // is the argument variadic
|
||||||
|
|
|
||||||
|
|
@ -145,7 +145,7 @@ func walkstmt(n *Node) *Node {
|
||||||
if n == nil {
|
if n == nil {
|
||||||
return n
|
return n
|
||||||
}
|
}
|
||||||
if n.Dodata == 2 { // don't walk, generated by anylit.
|
if n.IsStatic { // don't walk, generated by anylit.
|
||||||
return n
|
return n
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -794,9 +794,9 @@ opswitch:
|
||||||
}
|
}
|
||||||
|
|
||||||
if n.Left != nil && n.Right != nil {
|
if n.Left != nil && n.Right != nil {
|
||||||
dd := n.Dodata
|
static := n.IsStatic
|
||||||
n = convas(n, init)
|
n = convas(n, init)
|
||||||
n.Dodata = dd
|
n.IsStatic = static
|
||||||
n = applywritebarrier(n)
|
n = applywritebarrier(n)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue