]> Cypherpunks repositories - gostls13.git/commitdiff
cmd/compile: deduplicate racewalk switch cases
authorDaniel Martí <mvdan@mvdan.cc>
Fri, 16 Feb 2018 18:41:41 +0000 (18:41 +0000)
committerDaniel Martí <mvdan@mvdan.cc>
Tue, 13 Mar 2018 21:42:58 +0000 (21:42 +0000)
Only the contiguous ones, to keep the patch simple. Remove some
unnecessary newlines, while at it.

Change-Id: Ia588f80538b49a169fbf49835979ebff5a0a7b6d
Reviewed-on: https://go-review.googlesource.com/94756
Run-TryBot: Daniel Martí <mvdan@mvdan.cc>
TryBot-Result: Gobot Gobot <gobot@golang.org>
Reviewed-by: Matthew Dempsky <mdempsky@google.com>
src/cmd/compile/internal/gc/racewalk.go

index 861b5a683580b97adb2ad7c60a3f20840254c492..11523f3de3e62a1f5a588bf8a648d3c0d15992ca 100644 (file)
@@ -165,10 +165,7 @@ func instrumentnode(np **Node, init *Nodes, wr int, skip int) {
                        afterCall = (op == OCALLFUNC || op == OCALLMETH || op == OCALLINTER)
                }
 
-       case ODEFER:
-               instrumentnode(&n.Left, init, 0, 0)
-
-       case OPROC:
+       case ODEFER, OPROC:
                instrumentnode(&n.Left, init, 0, 0)
 
        case OCALLINTER:
@@ -199,14 +196,9 @@ func instrumentnode(np **Node, init *Nodes, wr int, skip int) {
                instrumentnode(&n.Left, init, 0, 1)
                callinstr(&n, init, wr, skip)
 
-       case ODOTPTR: // dst = (*x).f with implicit *; otherwise it's ODOT+OIND
+       case ODOTPTR, // dst = (*x).f with implicit *; otherwise it's ODOT+OIND
+               OIND: // *p
                instrumentnode(&n.Left, init, 0, 0)
-
-               callinstr(&n, init, wr, skip)
-
-       case OIND: // *p
-               instrumentnode(&n.Left, init, 0, 0)
-
                callinstr(&n, init, wr, skip)
 
        case OSPTR, OLEN, OCAP:
@@ -219,22 +211,8 @@ func instrumentnode(np **Node, init *Nodes, wr int, skip int) {
                        callinstr(&n1, init, 0, skip)
                }
 
-       case OLSH,
-               ORSH,
-               OAND,
-               OANDNOT,
-               OOR,
-               OXOR,
-               OSUB,
-               OMUL,
-               OEQ,
-               ONE,
-               OLT,
-               OLE,
-               OGE,
-               OGT,
-               OADD,
-               OCOMPLEX:
+       case OLSH, ORSH, OAND, OANDNOT, OOR, OXOR, OSUB,
+               OMUL, OEQ, ONE, OLT, OLE, OGE, OGT, OADD, OCOMPLEX:
                instrumentnode(&n.Left, init, wr, 0)
                instrumentnode(&n.Right, init, wr, 0)
 
@@ -250,10 +228,7 @@ func instrumentnode(np **Node, init *Nodes, wr int, skip int) {
        case ONAME:
                callinstr(&n, init, wr, skip)
 
-       case OCONV:
-               instrumentnode(&n.Left, init, wr, 0)
-
-       case OCONVNOP:
+       case OCONV, OCONVNOP:
                instrumentnode(&n.Left, init, wr, 0)
 
        case ODIV, OMOD:
@@ -291,10 +266,7 @@ func instrumentnode(np **Node, init *Nodes, wr int, skip int) {
        case OEFACE:
                instrumentnode(&n.Right, init, 0, 0)
 
-       case OITAB, OIDATA:
-               instrumentnode(&n.Left, init, 0, 0)
-
-       case OSTRARRAYBYTETMP:
+       case OITAB, OIDATA, OSTRARRAYBYTETMP:
                instrumentnode(&n.Left, init, 0, 0)
 
        case OAS2DOTTYPE: