]> Cypherpunks repositories - gostls13.git/commitdiff
cmd/5g, etc, cmd/internal/gc, cmd/internal/obj, etc: coalesce bool2int implementations
authorMichael Hudson-Doyle <michael.hudson@canonical.com>
Wed, 22 Apr 2015 00:41:14 +0000 (12:41 +1200)
committerIan Lance Taylor <iant@golang.org>
Wed, 22 Apr 2015 18:50:07 +0000 (18:50 +0000)
There were 10 implementations of the trivial bool2int function, 9 of which
were the only thing in their file.  Remove all of them in favor of one in
cmd/internal/obj.

Change-Id: I9c51d30716239df51186860b9842a5e9b27264d3
Reviewed-on: https://go-review.googlesource.com/9230
Reviewed-by: Ian Lance Taylor <iant@golang.org>
24 files changed:
src/cmd/5g/util.go [deleted file]
src/cmd/6g/util.go [deleted file]
src/cmd/7g/gsubr.go
src/cmd/7g/util.go [deleted file]
src/cmd/8g/util.go [deleted file]
src/cmd/9g/gsubr.go
src/cmd/9g/util.go [deleted file]
src/cmd/internal/gc/const.go
src/cmd/internal/gc/gsubr.go
src/cmd/internal/gc/pgen.go
src/cmd/internal/gc/reflect.go
src/cmd/internal/gc/typecheck.go
src/cmd/internal/gc/util.go
src/cmd/internal/obj/arm/obj5.go
src/cmd/internal/obj/arm/util.go [deleted file]
src/cmd/internal/obj/arm64/asm7.go
src/cmd/internal/obj/arm64/obj7.go
src/cmd/internal/obj/arm64/util.go [deleted file]
src/cmd/internal/obj/ppc64/obj9.go
src/cmd/internal/obj/ppc64/util.go [deleted file]
src/cmd/internal/obj/util.go
src/cmd/internal/obj/x86/asm6.go
src/cmd/internal/obj/x86/obj6.go
src/cmd/internal/obj/x86/util.go [deleted file]

diff --git a/src/cmd/5g/util.go b/src/cmd/5g/util.go
deleted file mode 100644 (file)
index bb5eedb..0000000
+++ /dev/null
@@ -1,12 +0,0 @@
-// Copyright 2015 The Go Authors.  All rights reserved.
-// Use of this source code is governed by a BSD-style
-// license that can be found in the LICENSE file.
-
-package main
-
-func bool2int(b bool) int {
-       if b {
-               return 1
-       }
-       return 0
-}
diff --git a/src/cmd/6g/util.go b/src/cmd/6g/util.go
deleted file mode 100644 (file)
index bb5eedb..0000000
+++ /dev/null
@@ -1,12 +0,0 @@
-// Copyright 2015 The Go Authors.  All rights reserved.
-// Use of this source code is governed by a BSD-style
-// license that can be found in the LICENSE file.
-
-package main
-
-func bool2int(b bool) int {
-       if b {
-               return 1
-       }
-       return 0
-}
index 138e2ddb1880bd9001fdf63c254388431ae9dd45..a34a4306aec540edc345c44fd555e16195c44f77 100644 (file)
@@ -447,7 +447,7 @@ func intLiteral(n *gc.Node) (x int64, ok bool) {
        case gc.CTINT, gc.CTRUNE:
                return gc.Mpgetfix(n.Val.U.Xval), true
        case gc.CTBOOL:
-               return int64(bool2int(n.Val.U.Bval)), true
+               return int64(obj.Bool2int(n.Val.U.Bval)), true
        }
        return
 }
diff --git a/src/cmd/7g/util.go b/src/cmd/7g/util.go
deleted file mode 100644 (file)
index bb5eedb..0000000
+++ /dev/null
@@ -1,12 +0,0 @@
-// Copyright 2015 The Go Authors.  All rights reserved.
-// Use of this source code is governed by a BSD-style
-// license that can be found in the LICENSE file.
-
-package main
-
-func bool2int(b bool) int {
-       if b {
-               return 1
-       }
-       return 0
-}
diff --git a/src/cmd/8g/util.go b/src/cmd/8g/util.go
deleted file mode 100644 (file)
index bb5eedb..0000000
+++ /dev/null
@@ -1,12 +0,0 @@
-// Copyright 2015 The Go Authors.  All rights reserved.
-// Use of this source code is governed by a BSD-style
-// license that can be found in the LICENSE file.
-
-package main
-
-func bool2int(b bool) int {
-       if b {
-               return 1
-       }
-       return 0
-}
index 2c4db9cda4c232e66e2834afd1c984c3cb96d908..86ea01a3d5a4196c535bcc6fc5228f8af87fda0c 100644 (file)
@@ -526,7 +526,7 @@ func intLiteral(n *gc.Node) (x int64, ok bool) {
        case gc.CTINT, gc.CTRUNE:
                return gc.Mpgetfix(n.Val.U.Xval), true
        case gc.CTBOOL:
-               return int64(bool2int(n.Val.U.Bval)), true
+               return int64(obj.Bool2int(n.Val.U.Bval)), true
        }
        return
 }
diff --git a/src/cmd/9g/util.go b/src/cmd/9g/util.go
deleted file mode 100644 (file)
index bb5eedb..0000000
+++ /dev/null
@@ -1,12 +0,0 @@
-// Copyright 2015 The Go Authors.  All rights reserved.
-// Use of this source code is governed by a BSD-style
-// license that can be found in the LICENSE file.
-
-package main
-
-func bool2int(b bool) int {
-       if b {
-               return 1
-       }
-       return 0
-}
index d09273b70004e0f5b11ea2d50831f52b289583ef..ad2915812eb52c2bae8b035131090166975d79f1 100644 (file)
@@ -1417,7 +1417,7 @@ func Convconst(con *Node, t *Type, val *Val) {
                        i = Mpgetfix(val.U.Xval)
 
                case CTBOOL:
-                       i = int64(bool2int(val.U.Bval))
+                       i = int64(obj.Bool2int(val.U.Bval))
 
                case CTNIL:
                        i = 0
index 34b9612f67561cedbdaded87804d63b6641529ae..1f6b7d2ec6a70afbcddc641f6eb514cc62025937 100644 (file)
@@ -87,7 +87,7 @@ func Gbranch(as int, t *Type, likely int) *obj.Prog {
        p.To.Val = nil
        if as != obj.AJMP && likely != 0 && Thearch.Thechar != '9' && Thearch.Thechar != '7' {
                p.From.Type = obj.TYPE_CONST
-               p.From.Offset = int64(bool2int(likely > 0))
+               p.From.Offset = int64(obj.Bool2int(likely > 0))
        }
 
        return p
@@ -417,7 +417,7 @@ func Naddr(a *obj.Addr, n *Node) {
                case CTBOOL:
                        a.Sym = nil
                        a.Type = obj.TYPE_CONST
-                       a.Offset = int64(bool2int(n.Val.U.Bval))
+                       a.Offset = int64(obj.Bool2int(n.Val.U.Bval))
 
                case CTNIL:
                        a.Sym = nil
index 3c4a11e4eba6d3b8c6b4b26d47d6e49849f1f408..5848f98af033f8b0839c729690e40b2506a52c5b 100644 (file)
@@ -191,17 +191,17 @@ func cmpstackvar(a *Node, b *Node) int {
        }
 
        if a.Used != b.Used {
-               return bool2int(b.Used) - bool2int(a.Used)
+               return obj.Bool2int(b.Used) - obj.Bool2int(a.Used)
        }
 
-       ap := bool2int(haspointers(a.Type))
-       bp := bool2int(haspointers(b.Type))
+       ap := obj.Bool2int(haspointers(a.Type))
+       bp := obj.Bool2int(haspointers(b.Type))
        if ap != bp {
                return bp - ap
        }
 
-       ap = bool2int(a.Needzero)
-       bp = bool2int(b.Needzero)
+       ap = obj.Bool2int(a.Needzero)
+       bp = obj.Bool2int(b.Needzero)
        if ap != bp {
                return bp - ap
        }
index 47e24a5205b56b6c85ca57757796f96af08ae27b..47697befba0c85a9bfc6bd451b13e464767d4890 100644 (file)
@@ -678,7 +678,7 @@ func haspointers(t *Type) bool {
                ret = true
        }
 
-       t.Haspointers = 1 + uint8(bool2int(ret))
+       t.Haspointers = 1 + uint8(obj.Bool2int(ret))
        return ret
 }
 
@@ -1066,7 +1066,7 @@ ok:
 
                ot = dcommontype(s, ot, t)
                xt = ot - 3*Widthptr
-               ot = duint8(s, ot, uint8(bool2int(isddd)))
+               ot = duint8(s, ot, uint8(obj.Bool2int(isddd)))
 
                // two slice headers: in and out.
                ot = int(Rnd(int64(ot), int64(Widthptr)))
@@ -1146,7 +1146,7 @@ ok:
                }
 
                ot = duint16(s, ot, uint16(mapbucket(t).Width))
-               ot = duint8(s, ot, uint8(bool2int(isreflexive(t.Down))))
+               ot = duint8(s, ot, uint8(obj.Bool2int(isreflexive(t.Down))))
 
        case TPTR32, TPTR64:
                if t.Type.Etype == TANY {
index 4823b44e1c7203af2ef10e346c23f5f4a6047ca6..eabbdc2e4d3bac56511c2c8a6ba0068353c33930 100644 (file)
@@ -1831,8 +1831,8 @@ OpSwitch:
                                n.Type = nil
                                return
                        }
-                       et := bool2int(checkmake(t, "len", l) < 0)
-                       et |= bool2int(r != nil && checkmake(t, "cap", r) < 0)
+                       et := obj.Bool2int(checkmake(t, "len", l) < 0)
+                       et |= obj.Bool2int(r != nil && checkmake(t, "cap", r) < 0)
                        if et != 0 {
                                n.Type = nil
                                return
@@ -2820,12 +2820,12 @@ func keydup(n *Node, hash []*Node) {
                        if Eqtype(a.Left.Type, n.Type) {
                                cmp.Right = a.Left
                                evconst(&cmp)
-                               b = uint32(bool2int(cmp.Val.U.Bval))
+                               b = uint32(obj.Bool2int(cmp.Val.U.Bval))
                        }
                } else if Eqtype(a.Type, n.Type) {
                        cmp.Right = a
                        evconst(&cmp)
-                       b = uint32(bool2int(cmp.Val.U.Bval))
+                       b = uint32(obj.Bool2int(cmp.Val.U.Bval))
                }
 
                if b != 0 {
index c3f7db2e98a060841ae1c9be18fc8d3154cfdda0..7b593dc42c49ab9b1fde1dd9423ba5a29e0acc44 100644 (file)
@@ -8,13 +8,6 @@ import (
        "strings"
 )
 
-func bool2int(b bool) int {
-       if b {
-               return 1
-       }
-       return 0
-}
-
 func (n *Node) Line() string {
        return obj.Linklinefmt(Ctxt, int(n.Lineno), false, false)
 }
index 65d68476de750bf94eb7790ad6ddcfef1d42555f..0960647af2edead15e24f9606654b367ebcbda67 100644 (file)
@@ -829,7 +829,7 @@ func stacksplit(ctxt *obj.Link, p *obj.Prog, framesize int32, noctxt bool) *obj.
        if ctxt.Cursym.Cfunc != 0 {
                p.To.Sym = obj.Linklookup(ctxt, "runtime.morestackc", 0)
        } else {
-               p.To.Sym = ctxt.Symmorestack[bool2int(noctxt)]
+               p.To.Sym = ctxt.Symmorestack[obj.Bool2int(noctxt)]
        }
 
        // BLS  start
diff --git a/src/cmd/internal/obj/arm/util.go b/src/cmd/internal/obj/arm/util.go
deleted file mode 100644 (file)
index f036c5f..0000000
+++ /dev/null
@@ -1,12 +0,0 @@
-// Copyright 2015 The Go Authors.  All rights reserved.
-// Use of this source code is governed by a BSD-style
-// license that can be found in the LICENSE file.
-
-package arm
-
-func bool2int(b bool) int {
-       if b {
-               return 1
-       }
-       return 0
-}
index 94dc4b1a6179f15e2560b5d32cbb7677671f9c73..6e00cb55ab5a298aa48715d61755e359f4956db0 100644 (file)
@@ -831,7 +831,7 @@ func regoff(ctxt *obj.Link, a *obj.Addr) uint32 {
 
 func ispcdisp(v int32) int {
        /* pc-relative addressing will reach? */
-       return bool2int(v >= -0xfffff && v <= 0xfffff && (v&3) == 0)
+       return obj.Bool2int(v >= -0xfffff && v <= 0xfffff && (v&3) == 0)
 }
 
 func isaddcon(v int64) int {
@@ -842,14 +842,14 @@ func isaddcon(v int64) int {
        if (v & 0xFFF) == 0 {
                v >>= 12
        }
-       return bool2int(v <= 0xFFF)
+       return obj.Bool2int(v <= 0xFFF)
 }
 
 func isbitcon(v uint64) int {
        /*  fancy bimm32 or bimm64? */
        // TODO(aram):
        return 0
-       // return bool2int(findmask(v) != nil || (v>>32) == 0 && findmask(v|(v<<32)) != nil)
+       // return obj.Bool2int(findmask(v) != nil || (v>>32) == 0 && findmask(v|(v<<32)) != nil)
 }
 
 func autoclass(l int64) int {
@@ -2188,7 +2188,7 @@ func asmout(ctxt *obj.Link, p *obj.Prog, o *Optab, out []uint32) {
        case 24: /* mov/mvn Rs,Rd -> add $0,Rs,Rd or orr Rs,ZR,Rd */
                rf := int(p.From.Reg)
                rt := int(p.To.Reg)
-               s := bool2int(rf == REGSP || rt == REGSP)
+               s := obj.Bool2int(rf == REGSP || rt == REGSP)
                if p.As == AMVN || p.As == AMVNW {
                        if s != 0 {
                                ctxt.Diag("illegal SP reference\n%v", p)
index 59a26599285abc520d49ff0f0327bf5d4afcf8aa..09fb6d60834c9a1c4712aa7adff00c00784c1a6e 100644 (file)
@@ -583,7 +583,7 @@ func preprocess(ctxt *obj.Link, cursym *obj.LSym) {
                        }
 
                        if !(p.From3.Offset&obj.NOSPLIT != 0) {
-                               p = stacksplit(ctxt, p, ctxt.Autosize, bool2int(cursym.Text.From3.Offset&obj.NEEDCTXT == 0)) // emit split check
+                               p = stacksplit(ctxt, p, ctxt.Autosize, obj.Bool2int(cursym.Text.From3.Offset&obj.NEEDCTXT == 0)) // emit split check
                        }
 
                        aoffset = ctxt.Autosize
diff --git a/src/cmd/internal/obj/arm64/util.go b/src/cmd/internal/obj/arm64/util.go
deleted file mode 100644 (file)
index 7cb5040..0000000
+++ /dev/null
@@ -1,12 +0,0 @@
-// Copyright 2015 The Go Authors.  All rights reserved.
-// Use of this source code is governed by a BSD-style
-// license that can be found in the LICENSE file.
-
-package arm64
-
-func bool2int(b bool) int {
-       if b {
-               return 1
-       }
-       return 0
-}
index e05061fa83c9ab76f0df79e89d6845b27202f46a..87a46ca9fb03274f1d1d322bcfe76b1f747787de 100644 (file)
@@ -758,7 +758,7 @@ func stacksplit(ctxt *obj.Link, p *obj.Prog, framesize int32, noctxt bool) *obj.
        if ctxt.Cursym.Cfunc != 0 {
                p.To.Sym = obj.Linklookup(ctxt, "runtime.morestackc", 0)
        } else {
-               p.To.Sym = ctxt.Symmorestack[bool2int(noctxt)]
+               p.To.Sym = ctxt.Symmorestack[obj.Bool2int(noctxt)]
        }
 
        // BR   start
diff --git a/src/cmd/internal/obj/ppc64/util.go b/src/cmd/internal/obj/ppc64/util.go
deleted file mode 100644 (file)
index 0df4af7..0000000
+++ /dev/null
@@ -1,12 +0,0 @@
-// Copyright 2015 The Go Authors.  All rights reserved.
-// Use of this source code is governed by a BSD-style
-// license that can be found in the LICENSE file.
-
-package ppc64
-
-func bool2int(b bool) int {
-       if b {
-               return 1
-       }
-       return 0
-}
index 189f9611ce975ddb5b0ae9d61d983536cbfcbf92..03e6ad911645826cc44e40fddc2c7ad835543c12 100644 (file)
@@ -641,3 +641,10 @@ var Anames = []string{
        "VARDEF",
        "VARKILL",
 }
+
+func Bool2int(b bool) int {
+       if b {
+               return 1
+       }
+       return 0
+}
index 6a367c21dcd19b46eefd2cc95fa8c33d649b6e42..480e2ddce62a9c4002a40248b4aa410696652559 100644 (file)
@@ -2985,7 +2985,7 @@ func doasm(ctxt *obj.Link, p *obj.Prog) {
        f3t := int(p.F3t) * Ymax
        tt := int(p.Tt) * Ymax
 
-       xo := bool2int(o.op[0] == 0x0f)
+       xo := obj.Bool2int(o.op[0] == 0x0f)
        z := 0
        var a *obj.Addr
        var l int
index 31475733e36941c82c1c14291c1351ed1958cf0b..d4c10e61cb8b8e1bc4d0d47104232d8570eafc7b 100644 (file)
@@ -990,7 +990,7 @@ func stacksplit(ctxt *obj.Link, p *obj.Prog, framesize int32, textarg int32, noc
        if ctxt.Cursym.Cfunc != 0 {
                p.To.Sym = obj.Linklookup(ctxt, "runtime.morestackc", 0)
        } else {
-               p.To.Sym = ctxt.Symmorestack[bool2int(noctxt)]
+               p.To.Sym = ctxt.Symmorestack[obj.Bool2int(noctxt)]
        }
 
        p = obj.Appendp(ctxt, p)
diff --git a/src/cmd/internal/obj/x86/util.go b/src/cmd/internal/obj/x86/util.go
deleted file mode 100644 (file)
index dceedf8..0000000
+++ /dev/null
@@ -1,12 +0,0 @@
-// Copyright 2015 The Go Authors.  All rights reserved.
-// Use of this source code is governed by a BSD-style
-// license that can be found in the LICENSE file.
-
-package x86
-
-func bool2int(b bool) int {
-       if b {
-               return 1
-       }
-       return 0
-}