Commit 67bcee8d authored by Josh Bleecher Snyder's avatar Josh Bleecher Snyder

cmd/compile: convert Dodata to a bool, rename to IsStatic

Passes toolstash -cmp.

Change-Id: I2c204ec14b0a72b592fb336acdd4dff55650f7f6
Reviewed-on: https://go-review.googlesource.com/26751Reviewed-by: 's avatarBrad Fitzpatrick <bradfitz@golang.org>
Run-TryBot: Josh Bleecher Snyder <josharian@gmail.com>
TryBot-Result: Gobot Gobot <gobot@golang.org>
parent a301b329
...@@ -299,8 +299,8 @@ func jconv(n *Node, flag FmtFlag) string { ...@@ -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) { ...@@ -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) { ...@@ -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) { ...@@ -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) { ...@@ -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) { ...@@ -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 { ...@@ -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 { ...@@ -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 { ...@@ -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: ...@@ -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)
} }
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment