1. 02 Sep, 2019 2 commits
  2. 01 Sep, 2019 10 commits
  3. 31 Aug, 2019 9 commits
  4. 30 Aug, 2019 13 commits
  5. 29 Aug, 2019 6 commits
    • Robert Griesemer's avatar
      cmd/compile: avoid follow-on errors for literals with syntax errors · 5411953d
      Robert Griesemer authored
      - only convert literal strings if there were no syntax errors
        (some of the conversion routines exit if there is an error)
      - mark nodes for literals with syntax errors to avoid follow-on
        errors
      - don't attempt to import packages whose path had syntax errors
      
      Fixes #32133.
      
      Change-Id: I1803ad48c65abfecf6f48ddff1e27eded5e282c5
      Reviewed-on: https://go-review.googlesource.com/c/go/+/192437Reviewed-by: default avatarMatthew Dempsky <mdempsky@google.com>
      5411953d
    • Robert Griesemer's avatar
      cmd/compile/internal/syntax: add BasicLit.Bad field for lexical errors · 117400ec
      Robert Griesemer authored
      The new (internal) field scanner.bad indicates whether a syntax error
      occurred while scanning a literal; the corresponding scanner.lit
      string may be syntactically incorrect in that case. Store the value
      of scanner.bad together with the scanner.lit in BasicLit.
      
      Clean up error handling so that all syntactic errors use one of the
      scanner's error reporting methods which also set scanner.bad. Make
      use of the new field in a few places where we used to track a prior
      error separately.
      
      Preliminary step towards fixing #32133 in a comprehensive manner.
      
      Change-Id: I4d79ad6e3b50632dd5fb3fc32ca3df0598ee77b4
      Reviewed-on: https://go-review.googlesource.com/c/go/+/192278Reviewed-by: default avatarMatthew Dempsky <mdempsky@google.com>
      117400ec
    • Keith Randall's avatar
      bytes/hash: add hashing package for bytes and strings · bf36219c
      Keith Randall authored
      Fixes #28322
      
      R=go1.14
      
      RELNOTE=yes
      
      Change-Id: Ic29f8b587c8c77472260836a5c3e13edaded13fa
      Reviewed-on: https://go-review.googlesource.com/c/go/+/186877Reviewed-by: default avatarAlan Donovan <adonovan@google.com>
      bf36219c
    • Keith Randall's avatar
      runtime: switch default order of hashing algorithms · fbfb41e6
      Keith Randall authored
      Currently the standard hasher is memhash, which checks whether aes
      instructions are available, and if so redirects to aeshash.
      
      With this CL, we call aeshash directly, which then redirects to the
      fallback hash if aes instructions are not available.
      
      This reduces the overhead for the hash function in the common case,
      as it requires just one call instead of two. On architectures which
      have no assembly hasher, it's a single jump slower.
      
      Thanks to Martin for this idea.
      
      name         old time/op  new time/op  delta
      BigKeyMap-4  22.6ns ± 1%  21.1ns ± 2%  -6.55%  (p=0.000 n=9+10)
      
      Change-Id: Ib7ca77b63d28222eb0189bc3d7130531949d853c
      Reviewed-on: https://go-review.googlesource.com/c/go/+/190998Reviewed-by: default avatarMartin Möhrmann <moehrmann@google.com>
      fbfb41e6
    • Josh Bleecher Snyder's avatar
      cmd/compile: add more Neg/Com optimizations · 9675f819
      Josh Bleecher Snyder authored
      This is a grab-bag of minor optimizations.
      
      While we're here, document the c != -(1<<31)
      constraints better (#31888).
      
      file    before    after     Δ       %
      go      14669924  14665828  -4096   -0.028%
      asm     4867088   4858896   -8192   -0.168%
      compile 23988320  23984224  -4096   -0.017%
      cover   5210856   5206760   -4096   -0.079%
      link    6084376   6080280   -4096   -0.067%
      total   132181084 132156508 -24576  -0.019%
      
      file                                                      before    after     Δ       %
      archive/tar.a                                             516708    516702    -6      -0.001%
      bufio.a                                                   182200    181974    -226    -0.124%
      bytes.a                                                   217624    216890    -734    -0.337%
      cmd/compile/internal/gc.a                                 8865412   8865228   -184    -0.002%
      cmd/compile/internal/ssa.a                                29921002  29933976  +12974  +0.043%
      cmd/go/internal/modfetch/codehost.a                       530602    530430    -172    -0.032%
      cmd/go/internal/modfetch.a                                679664    679578    -86     -0.013%
      cmd/go/internal/modfile.a                                 411102    410928    -174    -0.042%
      cmd/go/internal/test.a                                    315218    315126    -92     -0.029%
      cmd/go/internal/tlog.a                                    183242    183256    +14     +0.008%
      cmd/go/internal/txtar.a                                   23148     23060     -88     -0.380%
      cmd/internal/bio.a                                        132064    132060    -4      -0.003%
      cmd/internal/buildid.a                                    107174    107172    -2      -0.002%
      cmd/internal/edit.a                                       33208     33354     +146    +0.440%
      cmd/internal/obj/arm.a                                    416488    416432    -56     -0.013%
      cmd/internal/obj/arm64.a                                  2772626   2772622   -4      -0.000%
      cmd/internal/obj/x86.a                                    923186    923114    -72     -0.008%
      cmd/internal/obj.a                                        679834    679836    +2      +0.000%
      cmd/internal/objfile.a                                    358374    358372    -2      -0.001%
      cmd/internal/test2json.a                                  67482     67434     -48     -0.071%
      cmd/link/internal/ld.a                                    2836280   2836110   -170    -0.006%
      cmd/link/internal/loadpe.a                                148234    147736    -498    -0.336%
      cmd/link/internal/objfile.a                               144534    144434    -100    -0.069%
      cmd/link/internal/ppc64.a                                 170876    170382    -494    -0.289%
      cmd/vendor/github.com/google/pprof/internal/elfexec.a     49896     49892     -4      -0.008%
      cmd/vendor/github.com/google/pprof/internal/graph.a       437478    437404    -74     -0.017%
      cmd/vendor/github.com/google/pprof/profile.a              902040    902044    +4      +0.000%
      cmd/vendor/github.com/ianlancetaylor/demangle.a           1217856   1217854   -2      -0.000%
      cmd/vendor/golang.org/x/arch/x86/x86asm.a                 561332    560684    -648    -0.115%
      cmd/vendor/golang.org/x/crypto/ssh/terminal.a             153788    153784    -4      -0.003%
      cmd/vendor/golang.org/x/sys/unix.a                        1043894   1043814   -80     -0.008%
      cmd/vendor/golang.org/x/tools/go/analysis/passes/printf.a 288458    288414    -44     -0.015%
      compress/flate.a                                          369024    368132    -892    -0.242%
      crypto/aes.a                                              109058    108968    -90     -0.083%
      crypto/cipher.a                                           150410    150544    +134    +0.089%
      crypto/elliptic.a                                         323572    323758    +186    +0.057%
      crypto/md5.a                                              50868     50788     -80     -0.157%
      crypto/rsa.a                                              195292    195214    -78     -0.040%
      crypto/sha1.a                                             70936     70858     -78     -0.110%
      crypto/sha256.a                                           75316     75236     -80     -0.106%
      crypto/sha512.a                                           84846     84768     -78     -0.092%
      crypto/subtle.a                                           6520      6514      -6      -0.092%
      crypto/tls.a                                              1654916   1654852   -64     -0.004%
      crypto/x509.a                                             888674    888638    -36     -0.004%
      database/sql.a                                            730280    730198    -82     -0.011%
      debug/gosym.a                                             184936    184862    -74     -0.040%
      debug/macho.a                                             272138    272136    -2      -0.001%
      debug/plan9obj.a                                          78444     78368     -76     -0.097%
      encoding/base64.a                                         82126     81882     -244    -0.297%
      encoding/binary.a                                         187196    187150    -46     -0.025%
      encoding/gob.a                                            897868    897870    +2      +0.000%
      encoding/json.a                                           659934    659832    -102    -0.015%
      encoding/pem.a                                            59138     58870     -268    -0.453%
      encoding/xml.a                                            694054    693300    -754    -0.109%
      fmt.a                                                     484518    484196    -322    -0.066%
      go/format.a                                               33962     33994     +32     +0.094%
      go/printer.a                                              437132    437134    +2      +0.000%
      go/scanner.a                                              141774    141772    -2      -0.001%
      go/token.a                                                125130    125126    -4      -0.003%
      go/types.a                                                2192086   2191994   -92     -0.004%
      html/template.a                                           599038    598770    -268    -0.045%
      html.a                                                    184842    184710    -132    -0.071%
      image/draw.a                                              129592    129238    -354    -0.273%
      image/gif.a                                               171824    171716    -108    -0.063%
      image/internal/imageutil.a                                20282     19272     -1010   -4.980%
      image/jpeg.a                                              275608    275114    -494    -0.179%
      image/png.a                                               343416    343620    +204    +0.059%
      image.a                                                   362244    362210    -34     -0.009%
      index/suffixarray.a                                       113040    112954    -86     -0.076%
      internal/trace.a                                          518972    518838    -134    -0.026%
      math/big.a                                                1012670   1012354   -316    -0.031%
      math.a                                                    219338    219334    -4      -0.002%
      mime/multipart.a                                          178854    178502    -352    -0.197%
      mime/quotedprintable.a                                    49226     48936     -290    -0.589%
      net/http/cgi.a                                            172328    172324    -4      -0.002%
      net/http.a                                                4000180   3999732   -448    -0.011%
      net.a                                                     1858330   1858252   -78     -0.004%
      path/filepath.a                                           107496    107498    +2      +0.002%
      reflect.a                                                 1439776   1439994   +218    +0.015%
      regexp/syntax.a                                           459430    459432    +2      +0.000%
      regexp.a                                                  416394    416400    +6      +0.001%
      runtime/debug.a                                           42106     42100     -6      -0.014%
      runtime/pprof/internal/profile.a                          608718    608720    +2      +0.000%
      runtime/pprof.a                                           355474    355476    +2      +0.001%
      runtime.a                                                 3555748   3555796   +48     +0.001%
      strconv.a                                                 294432    294410    -22     -0.007%
      strings.a                                                 292148    292090    -58     -0.020%
      syscall.a                                                 859682    859470    -212    -0.025%
      text/tabwriter.a                                          65614     65148     -466    -0.710%
      vendor/golang.org/x/crypto/chacha20poly1305.a             126736    126728    -8      -0.006%
      vendor/golang.org/x/crypto/cryptobyte.a                   269112    269114    +2      +0.001%
      vendor/golang.org/x/crypto/internal/chacha20.a            61842     61262     -580    -0.938%
      vendor/golang.org/x/crypto/poly1305.a                     47410     47404     -6      -0.013%
      vendor/golang.org/x/net/dns/dnsmessage.a                  628700    628012    -688    -0.109%
      vendor/golang.org/x/net/idna.a                            237678    237826    +148    +0.062%
      vendor/golang.org/x/net/route.a                           187852    187458    -394    -0.210%
      vendor/golang.org/x/sys/unix.a                            1022426   1022348   -78     -0.008%
      vendor/golang.org/x/text/transform.a                      117954    118104    +150    +0.127%
      vendor/golang.org/x/text/unicode/bidi.a                   291398    291404    +6      +0.002%
      vendor/golang.org/x/text/unicode/norm.a                   534640    534540    -100    -0.019%
      total                                                     128945190 128945128 -62     -0.000%
      
      Change-Id: I346dc31356d5ef7774b824cf202169610bd26432
      Reviewed-on: https://go-review.googlesource.com/c/go/+/175778
      Run-TryBot: Josh Bleecher Snyder <josharian@gmail.com>
      TryBot-Result: Gobot Gobot <gobot@golang.org>
      Reviewed-by: default avatarKeith Randall <khr@golang.org>
      9675f819
    • Josh Bleecher Snyder's avatar
      cmd/compile: simplify postorder · 75198b9a
      Josh Bleecher Snyder authored
      Use a bool instead of markKind;
      it doesn't save space, but the semantics are more obvious.
      Move type markKind closer to its only remaining use.
      
      Change-Id: I9945a7baaeb764295a2709f83120ce3a82fa3beb
      Reviewed-on: https://go-review.googlesource.com/c/go/+/177880
      Run-TryBot: Josh Bleecher Snyder <josharian@gmail.com>
      TryBot-Result: Gobot Gobot <gobot@golang.org>
      Reviewed-by: default avatarDavid Chase <drchase@google.com>
      75198b9a