1. 20 Nov, 2018 3 commits
  2. 19 Nov, 2018 8 commits
    • Santhosh Kumar Tekuri's avatar
      encoding/pem: test getLine does not include trailing whitespace · 552d7b91
      Santhosh Kumar Tekuri authored
      Change-Id: I7a1046f5e0aedbbdd1106a616de410fe4e0cb7d8
      Reviewed-on: https://go-review.googlesource.com/c/92295
      Run-TryBot: Ian Lance Taylor <iant@golang.org>
      Reviewed-by: default avatarIan Lance Taylor <iant@golang.org>
      552d7b91
    • Vladimir Kovpak's avatar
      regexp: add matching and finding examples · 10841494
      Vladimir Kovpak authored
      This commit adds examples for Match, Find,
      FindAllSubmatch, FindSubmatch and Match functions.
      
      Change-Id: I2bdf8c3cee6e89d618109397378c1fc91aaf1dfb
      GitHub-Last-Rev: 33f34b7adca2911a4fff9638c93e846fb0021465
      GitHub-Pull-Request: golang/go#28837
      Reviewed-on: https://go-review.googlesource.com/c/150020
      Run-TryBot: Ian Lance Taylor <iant@golang.org>
      TryBot-Result: Gobot Gobot <gobot@golang.org>
      Reviewed-by: default avatarIan Lance Taylor <iant@golang.org>
      10841494
    • Xia Bin's avatar
      cmd/link: directly get max pc value in findfunctab · 3d72ca99
      Xia Bin authored
      Change-Id: I70afd2f7b6783926174c4e66565b711cffeb97c5
      Reviewed-on: https://go-review.googlesource.com/c/150141
      Run-TryBot: Ian Lance Taylor <iant@golang.org>
      TryBot-Result: Gobot Gobot <gobot@golang.org>
      Reviewed-by: default avatarIan Lance Taylor <iant@golang.org>
      3d72ca99
    • Michael Ellis's avatar
      cmd/go: parse dot-separated identifiers in build metadata · dcb1363a
      Michael Ellis authored
      Per https://semver.org/#spec-item-10, build metadata may include
      a series of dot separated identifiers.
      
      Fixes #28647
      
      Change-Id: I98655c62584a822953df71fba32b4a2cafe7a04b
      Reviewed-on: https://go-review.googlesource.com/c/148835Reviewed-by: default avatarBryan C. Mills <bcmills@google.com>
      dcb1363a
    • Alan Donovan's avatar
      cmd/vendor: eliminate vet-lite · 8bb3ae18
      Alan Donovan authored
      cmd/vet, now simplified to a single function call is now authoritative,
      not a copy of vet-lite.
      
      The update-xtools.sh script now uses the imports of cmd/vet as the
      roots for vendoring.
      
      Change-Id: I4faef3fcf3db10b3a3930726e8d0720a3c8395da
      Reviewed-on: https://go-review.googlesource.com/c/150297
      Run-TryBot: Alan Donovan <adonovan@google.com>
      Reviewed-by: default avatarDaniel Martí <mvdan@mvdan.cc>
      8bb3ae18
    • Alan Donovan's avatar
      cmd/go: improve go vet documentation · 42b46585
      Alan Donovan authored
      - restore and rework cmd/vet/doc.go, which was clobbered during the vet-lite switch.
      - document go vet -vettool=prog flag and how to run an alternative checker.
      - make 'go vet -help' show how to list vet tool's flags.  Example:
      
      	$ go vet -help
      	usage: go vet [-n] [-x] [-vettool prog] [build flags] [vet flags] [packages]
      	Run 'go help vet' for details.
      	Run 'go tool vet help' for the vet tool's flags.
      
      	$ go vet -vettool=~/bin/myvet -help
      	usage: go vet [-n] [-x] [-vettool prog] [build flags] [vet flags] [packages]
      	Run 'go help vet' for details.
      	Run '~/bin/myvet help' for the vet tool's flags.
      
      Updates #28840
      
      Change-Id: Ieb79dfe29e1df074f865bc9a9d47b44199675d7d
      Reviewed-on: https://go-review.googlesource.com/c/147018Reviewed-by: default avatarDaniel Martí <mvdan@mvdan.cc>
      Run-TryBot: Daniel Martí <mvdan@mvdan.cc>
      TryBot-Result: Gobot Gobot <gobot@golang.org>
      42b46585
    • Daniel Martí's avatar
      cmd/vendor: update to golang.org/x/tools@139d099f · 3c92bdc7
      Daniel Martí authored
      Mainly to pull the fix for the regression in #28792.
      
      Change-Id: If71ae783fd9a9e3935186b49fdf501ba098235a2
      Reviewed-on: https://go-review.googlesource.com/c/150161
      Run-TryBot: Daniel Martí <mvdan@mvdan.cc>
      TryBot-Result: Gobot Gobot <gobot@golang.org>
      Reviewed-by: default avatarAlan Donovan <adonovan@google.com>
      3c92bdc7
    • Josh Bleecher Snyder's avatar
      cmd/compile: bulk rename · bc438895
      Josh Bleecher Snyder authored
      This change does a bulk rename of several identifiers in the compiler.
      See #27167 and https://docs.google.com/document/d/19_ExiylD9MRfeAjKIfEsMU1_RGhuxB9sA0b5Zv7byVI/
      for context and for discussion of these particular renames.
      
      Commands run to generate this change:
      
      gorename -from '"cmd/compile/internal/gc".OPROC' -to OGO
      gorename -from '"cmd/compile/internal/gc".OCOM' -to OBITNOT
      gorename -from '"cmd/compile/internal/gc".OMINUS' -to ONEG
      gorename -from '"cmd/compile/internal/gc".OIND' -to ODEREF
      gorename -from '"cmd/compile/internal/gc".OARRAYBYTESTR' -to OBYTES2STR
      gorename -from '"cmd/compile/internal/gc".OARRAYBYTESTRTMP' -to OBYTES2STRTMP
      gorename -from '"cmd/compile/internal/gc".OARRAYRUNESTR' -to ORUNES2STR
      gorename -from '"cmd/compile/internal/gc".OSTRARRAYBYTE' -to OSTR2BYTES
      gorename -from '"cmd/compile/internal/gc".OSTRARRAYBYTETMP' -to OSTR2BYTESTMP
      gorename -from '"cmd/compile/internal/gc".OSTRARRAYRUNE' -to OSTR2RUNES
      
      gorename -from '"cmd/compile/internal/gc".Etop' -to ctxStmt
      gorename -from '"cmd/compile/internal/gc".Erv' -to ctxExpr
      gorename -from '"cmd/compile/internal/gc".Ecall' -to ctxCallee
      gorename -from '"cmd/compile/internal/gc".Efnstruct' -to ctxMultiOK
      gorename -from '"cmd/compile/internal/gc".Easgn' -to ctxAssign
      gorename -from '"cmd/compile/internal/gc".Ecomplit' -to ctxCompLit
      
      Not altered: parameters and local variables (mostly in typecheck.go) named top,
      which should probably now be called ctx (and which should probably have a named type).
      Also not altered: Field called Top in gc.Func.
      
      gorename -from '"cmd/compile/internal/gc".Node.Isddd' -to IsDDD
      gorename -from '"cmd/compile/internal/gc".Node.SetIsddd' -to SetIsDDD
      gorename -from '"cmd/compile/internal/gc".nodeIsddd' -to nodeIsDDD
      gorename -from '"cmd/compile/internal/types".Field.Isddd' -to IsDDD
      gorename -from '"cmd/compile/internal/types".Field.SetIsddd' -to SetIsDDD
      gorename -from '"cmd/compile/internal/types".fieldIsddd' -to fieldIsDDD
      
      Not altered: function gc.hasddd, params and local variables called isddd
      Also not altered: fmt.go prints nodes using "isddd(%v)".
      
      cd cmd/compile/internal/gc; go generate
      
      I then manually found impacted comments using exact string match
      and fixed them up by hand. The comment changes were trivial.
      
      Passes toolstash-check.
      
      Fixes #27167. If this experiment is deemed a success,
      we will open a new tracking issue for renames to do
      at the end of the 1.13 cycles.
      
      Change-Id: I2dc541533d2ab0d06cb3d31d65df205ecfb151e8
      Reviewed-on: https://go-review.googlesource.com/c/150140
      Run-TryBot: Josh Bleecher Snyder <josharian@gmail.com>
      Reviewed-by: default avatarMatthew Dempsky <mdempsky@google.com>
      bc438895
  3. 18 Nov, 2018 2 commits
  4. 17 Nov, 2018 3 commits
  5. 16 Nov, 2018 20 commits
  6. 15 Nov, 2018 4 commits
    • yuuji.yaginuma's avatar
      cmd/go: correctly suggest tidy instead of nonexistent fix for -fix · 03eb137a
      yuuji.yaginuma authored
      CL 129682 removed go mod fix but unfortunately
      we hadn't updated the source code hence running
         go mod -fix
      would suggest
         go mod fix
      which is a nonexistent command.
      
      This change fixes that to instead suggest
         go mod tidy
      
      Change-Id: Ie0d7c90805034e9fe6df24afaa15340c44d4f426
      GitHub-Last-Rev: 5ae1340954c5f6b8535f837755a7bd79ebc7109d
      GitHub-Pull-Request: golang/go#28402
      Reviewed-on: https://go-review.googlesource.com/c/144838Reviewed-by: default avatarEmmanuel Odeke <emm.odeke@gmail.com>
      Run-TryBot: Emmanuel Odeke <emm.odeke@gmail.com>
      TryBot-Result: Gobot Gobot <gobot@golang.org>
      03eb137a
    • Alan Donovan's avatar
      cmd/vet: switch to x/tools/go/analysis implementation · cb413099
      Alan Donovan authored
      This change deletes the legacy implementation of vet, replacing it
      with a short main.go that merely selects the desired analyzers and
      calls into the "unitchecker" implementation vendored from
      golang.org/x/tools/go/analysis.
      
      Unlike the full vet checker (x/tools/go/analysis/cmd/vet), the 'lite'
      unitchecker cannot also be run standalone (as 'go tool vet' or
      cmd/vet); it must be invoked by 'go vet'.
      This design was chosen to avoid vendoring many
      additional dependencies into GOROOT, in particular go/packages. If
      go/packages should someday become part of the standard library, there
      will be considerable opportunity for simplification.
      
      This change also patches the vendored analysisflag package
      (by adding patch.go) so that it fully supports the build
      system's -V flag protocol.
      
      Also:
      - remove stale internal/unitchecker/ tree
        (belonged in https://go-review.googlesource.com/c/149778).
      - move vet legacy flags (-all, -v, -source, -tags) into analysisflags
        as all drivers will need them, not just unitchecker.
        I will upstream this change.
      
      A sampling of tests from the cmd/vet testsuite have been preserved as
      a smoke test, to ensure that each analyzer is being run, and for
      convenience when evaluating changes. Comprehensive tests for each
      analyzer live upstream in x/tools. The tests have been heavily reduced
      and reorganized so that they conform to the structure required by 'go
      vet'.
      
      Change-Id: I84b38caeef733e65deb95234b3b87b5f61046def
      Reviewed-on: https://go-review.googlesource.com/c/149609Reviewed-by: default avatarRuss Cox <rsc@golang.org>
      cb413099
    • Austin Clements's avatar
      runtime: eliminate mheap.busy* lists · b00a6d8b
      Austin Clements authored
      The old whole-page reclaimer was the only thing that used the busy
      span lists. Remove them so nothing uses them any more.
      
      Change-Id: I4007dd2be08b9ef41bfdb0c387215c73c392cc4c
      Reviewed-on: https://go-review.googlesource.com/c/138960
      Run-TryBot: Austin Clements <austin@google.com>
      TryBot-Result: Gobot Gobot <gobot@golang.org>
      Reviewed-by: default avatarRick Hudson <rlh@golang.org>
      Reviewed-by: default avatarMichael Knyszek <mknyszek@google.com>
      b00a6d8b
    • Austin Clements's avatar
      runtime: implement efficient page reclaimer · 5333550b
      Austin Clements authored
      When we attempt to allocate an N page span (either for a large
      allocation or when an mcentral runs dry), we first try to sweep spans
      to release N pages. Currently, this can be extremely expensive:
      sweeping a span to emptiness is the hardest thing to ask for and the
      sweeper generally doesn't know where to even look for potentially
      fruitful results. Since this is on the critical path of many
      allocations, this is unfortunate.
      
      This CL changes how we reclaim empty spans. Instead of trying lots of
      spans and hoping for the best, it uses the newly introduced span marks
      to efficiently find empty spans. The span marks (and in-use bits) are
      in a dense bitmap, so these spans can be found with an efficient
      sequential memory scan. This approach can scan for unmarked spans at
      about 300 GB/ms and can free unmarked spans at about 32 MB/ms. We
      could probably significantly improve the rate at which is can free
      unmarked spans, but that's a separate issue.
      
      Like the current reclaimer, this is still linear in the number of
      spans that are swept, but the constant factor is now so vanishingly
      small that it doesn't matter.
      
      The benchmark in #18155 demonstrates both significant page reclaiming
      delays, and object reclaiming delays. With "-retain-count=20000000
      -preallocate=true -loop-count=3", the benchmark demonstrates several
      page reclaiming delays on the order of 40ms. After this change, the
      page reclaims are insignificant. The longest sweeps are still ~150ms,
      but are object reclaiming delays. We'll address those in the next
      several CLs.
      
      Updates #18155.
      
      Fixes #21378 by completely replacing the logic that had that bug.
      
      Change-Id: Iad80eec11d7fc262d02c8f0761ac6998425c4064
      Reviewed-on: https://go-review.googlesource.com/c/138959
      Run-TryBot: Austin Clements <austin@google.com>
      TryBot-Result: Gobot Gobot <gobot@golang.org>
      Reviewed-by: default avatarRick Hudson <rlh@golang.org>
      5333550b