1. 06 Feb, 2017 6 commits
  2. 05 Feb, 2017 1 commit
  3. 04 Feb, 2017 9 commits
  4. 03 Feb, 2017 24 commits
    • Peter Nguyen's avatar
      net/rpc/jsonrpc: Update package doc with info about JSON-RPC 2.0 · 7751d56e
      Peter Nguyen authored
      Currently the net/rpc/jsonrpc package only implements JSON-RPC version
      1.0. This change updates the package's documentation with link to find
      packages for JSON-RPC 2.0.
      
      Fixes #10929
      
      Change-Id: I3b6f1d17738a1759d7b62ab7b3ecef5b248d30ca
      Reviewed-on: https://go-review.googlesource.com/36330Reviewed-by: 's avatarBrad Fitzpatrick <bradfitz@golang.org>
      7751d56e
    • Michael Munday's avatar
      cmd/compile: fix type propagation through s390x SSA rules · ddf807fc
      Michael Munday authored
      This CL fixes two issues:
      
      1. Load ops were initially always lowered to unsigned loads, even
         for signed types. This was fine by itself however LoadReg ops
         (used to re-load spilled values) were lowered to signed loads
         for signed types. This meant that spills could invalidate
         optimizations that assumed the original unsigned load.
      
      2. Types were not always being maintained correctly through rules
         designed to eliminate unnecessary zero and sign extensions.
      
      Fixes #18906.
      
      Change-Id: I95785dcadba03f7e3e94524677e7d8d3d3b9b737
      Reviewed-on: https://go-review.googlesource.com/36256
      Run-TryBot: Michael Munday <munday@ca.ibm.com>
      TryBot-Result: Gobot Gobot <gobot@golang.org>
      Reviewed-by: 's avatarCherry Zhang <cherryyz@google.com>
      ddf807fc
    • Russ Cox's avatar
      cmd/go: address review comments · 178307c3
      Russ Cox authored
      Address review comments from earlier CLs.
      These are changes I was too scared to try to push
      down into the original CLs (thanks, Git).
      
      Change-Id: I0e428fad73d71bd2a7d08178cf2e856de3cef19f
      Reviewed-on: https://go-review.googlesource.com/36257Reviewed-by: 's avatarDavid Crawshaw <crawshaw@golang.org>
      178307c3
    • Russ Cox's avatar
      cmd/go: split out cmd/go/internal/clean,doc,fix,generate,list,run,tool,version,vet · 707cadd7
      Russ Cox authored
      This is one CL in a long sequence of changes to break up the
      go command from one package into a plausible group of packages.
      
      This sequence is concerned only with moving code, not changing
      or cleaning up code. There will still be more cleanup after this sequence.
      
      The entire sequence will be submitted together: it is not a goal
      for the tree to build at every step.
      
      For #18653.
      
      Change-Id: Ib22fc435827d4a05a77a5200ac437ce00e2a4da3
      Reviewed-on: https://go-review.googlesource.com/36204Reviewed-by: 's avatarDavid Crawshaw <crawshaw@golang.org>
      707cadd7
    • Russ Cox's avatar
      cmd/go: split out cmd/go/internal/bug · 76db88ab
      Russ Cox authored
      This is one CL in a long sequence of changes to break up the
      go command from one package into a plausible group of packages.
      
      This sequence is concerned only with moving code, not changing
      or cleaning up code. There will still be more cleanup after this sequence.
      
      The entire sequence will be submitted together: it is not a goal
      for the tree to build at every step.
      
      For #18653.
      
      Change-Id: I05629567cc33fef41bc74eba4f7ff66e4851343c
      Reviewed-on: https://go-review.googlesource.com/36203Reviewed-by: 's avatarDavid Crawshaw <crawshaw@golang.org>
      76db88ab
    • Russ Cox's avatar
      cmd/go: split out cmd/go/internal/get · 6dad55aa
      Russ Cox authored
      This is one CL in a long sequence of changes to break up the
      go command from one package into a plausible group of packages.
      
      This sequence is concerned only with moving code, not changing
      or cleaning up code. There will still be more cleanup after this sequence.
      
      The entire sequence will be submitted together: it is not a goal
      for the tree to build at every step.
      
      For #18653.
      
      Change-Id: Iec17bf2243de129942ae5fba126ec5f217be7303
      Reviewed-on: https://go-review.googlesource.com/36202Reviewed-by: 's avatarDavid Crawshaw <crawshaw@golang.org>
      6dad55aa
    • Russ Cox's avatar
      cmd/go: split out cmd/go/internal/web · cc03ba32
      Russ Cox authored
      This is one CL in a long sequence of changes to break up the
      go command from one package into a plausible group of packages.
      
      This sequence is concerned only with moving code, not changing
      or cleaning up code. There will still be more cleanup after this sequence.
      
      The entire sequence will be submitted together: it is not a goal
      for the tree to build at every step.
      
      For #18653.
      
      Change-Id: I2f349150659b6ddf6be4c675abba38dfe57ff652
      Reviewed-on: https://go-review.googlesource.com/36201Reviewed-by: 's avatarDavid Crawshaw <crawshaw@golang.org>
      cc03ba32
    • Russ Cox's avatar
      cmd/go: split out cmd/go/internal/env · 6bc9844b
      Russ Cox authored
      This is one CL in a long sequence of changes to break up the
      go command from one package into a plausible group of packages.
      
      This sequence is concerned only with moving code, not changing
      or cleaning up code. There will still be more cleanup after this sequence.
      
      The entire sequence will be submitted together: it is not a goal
      for the tree to build at every step.
      
      For #18653.
      
      Change-Id: I28b20d53d20dff06eede574eb5c20359db0d3991
      Reviewed-on: https://go-review.googlesource.com/36200Reviewed-by: 's avatarDavid Crawshaw <crawshaw@golang.org>
      6bc9844b
    • Russ Cox's avatar
      cmd/go: split out cmd/go/internal/fmt · 36ce197c
      Russ Cox authored
      This is one CL in a long sequence of changes to break up the
      go command from one package into a plausible group of packages.
      
      This sequence is concerned only with moving code, not changing
      or cleaning up code. There will still be more cleanup after this sequence.
      
      The entire sequence will be submitted together: it is not a goal
      for the tree to build at every step.
      
      For #18653.
      
      Change-Id: I8e325d75f553b5d0b6224b56a705d2e2cb895de4
      Reviewed-on: https://go-review.googlesource.com/36199Reviewed-by: 's avatarDavid Crawshaw <crawshaw@golang.org>
      36ce197c
    • Russ Cox's avatar
      cmd/go: split out cmd/go/internal/test · 4efe9250
      Russ Cox authored
      This is one CL in a long sequence of changes to break up the
      go command from one package into a plausible group of packages.
      
      This sequence is concerned only with moving code, not changing
      or cleaning up code. There will still be more cleanup after this sequence.
      
      The entire sequence will be submitted together: it is not a goal
      for the tree to build at every step.
      
      For #18653.
      
      Change-Id: I2d0ccdb84814537ab8b8842aa1b5f5bc0a88a0fc
      Reviewed-on: https://go-review.googlesource.com/36198Reviewed-by: 's avatarDavid Crawshaw <crawshaw@golang.org>
      4efe9250
    • Russ Cox's avatar
      cmd/go: split out cmd/go/internal/work · 3c667ef4
      Russ Cox authored
      This is one CL in a long sequence of changes to break up the
      go command from one package into a plausible group of packages.
      
      This sequence is concerned only with moving code, not changing
      or cleaning up code. There will still be more cleanup after this sequence.
      
      The entire sequence will be submitted together: it is not a goal
      for the tree to build at every step.
      
      For #18653.
      
      Change-Id: Icdd181098f9f0e81f68bf201e6867cdd8f820300
      Reviewed-on: https://go-review.googlesource.com/36197Reviewed-by: 's avatarDavid Crawshaw <crawshaw@golang.org>
      3c667ef4
    • Russ Cox's avatar
      cmd/go: split out cmd/go/internal/load · eb93b20c
      Russ Cox authored
      This is one CL in a long sequence of changes to break up the
      go command from one package into a plausible group of packages.
      
      This sequence is concerned only with moving code, not changing
      or cleaning up code. There will still be more cleanup after this sequence.
      
      The entire sequence will be submitted together: it is not a goal
      for the tree to build at every step.
      
      For #18653.
      
      Change-Id: Ic802483e50598def638f1e2e706d5fdf7822d32d
      Reviewed-on: https://go-review.googlesource.com/36196Reviewed-by: 's avatarDavid Crawshaw <crawshaw@golang.org>
      eb93b20c
    • Russ Cox's avatar
      cmd/go: split out cmd/go/internal/buildid · 461c3e52
      Russ Cox authored
      This is one CL in a long sequence of changes to break up the
      go command from one package into a plausible group of packages.
      
      This sequence is concerned only with moving code, not changing
      or cleaning up code. There will still be more cleanup after this sequence.
      
      The entire sequence will be submitted together: it is not a goal
      for the tree to build at every step.
      
      For #18653.
      
      Change-Id: I20dbc352c3df3c83a75811dd8e78c580a46b2202
      Reviewed-on: https://go-review.googlesource.com/36195Reviewed-by: 's avatarDavid Crawshaw <crawshaw@golang.org>
      461c3e52
    • Russ Cox's avatar
      cmd/go: split out cmd/go/internal/help · 2cab41d5
      Russ Cox authored
      This is one CL in a long sequence of changes to break up the
      go command from one package into a plausible group of packages.
      
      This sequence is concerned only with moving code, not changing
      or cleaning up code. There will still be more cleanup after this sequence.
      
      The entire sequence will be submitted together: it is not a goal
      for the tree to build at every step.
      
      For #18653.
      
      Change-Id: I4cf05b076d81b780c87a31378523929b5da8964b
      Reviewed-on: https://go-review.googlesource.com/36194Reviewed-by: 's avatarDavid Crawshaw <crawshaw@golang.org>
      2cab41d5
    • Russ Cox's avatar
      cmd/go: split out cmd/go/internal/base · 6dc9e31f
      Russ Cox authored
      This is one CL in a long sequence of changes to break up the
      go command from one package into a plausible group of packages.
      
      This sequence is concerned only with moving code, not changing
      or cleaning up code. There will still be more cleanup after this sequence.
      
      The entire sequence will be submitted together: it is not a goal
      for the tree to build at every step.
      
      For #18653.
      
      Change-Id: I7c5dde6e7fe4f390e6607303b4d42535c674eac3
      Reviewed-on: https://go-review.googlesource.com/36193Reviewed-by: 's avatarDavid Crawshaw <crawshaw@golang.org>
      6dc9e31f
    • Russ Cox's avatar
      cmd/dist: move cmd/go z files to cmd/go/internal/cfg · b60e61ab
      Russ Cox authored
      This is one CL in a long sequence of changes to break up the
      go command from one package into a plausible group of packages.
      
      This sequence is concerned only with moving code, not changing
      or cleaning up code. There will still be more cleanup after this sequence.
      
      The entire sequence will be submitted together: it is not a goal
      for the tree to build at every step.
      
      For #18653.
      
      Change-Id: I6ee5b053683034ea9462a9a0a4ea4f5ad24fa5a1
      Reviewed-on: https://go-review.googlesource.com/36192Reviewed-by: 's avatarDavid Crawshaw <crawshaw@golang.org>
      b60e61ab
    • Russ Cox's avatar
      cmd/go: split out cmd/go/internal/cfg · a918864c
      Russ Cox authored
      This is one CL in a long sequence of changes to break up the
      go command from one package into a plausible group of packages.
      
      This sequence is concerned only with moving code, not changing
      or cleaning up code. There will still be more cleanup after this sequence.
      
      The entire sequence will be submitted together: it is not a goal
      for the tree to build at every step.
      
      For #18653.
      
      Change-Id: Icb3f168ade91e7da5fcab89ac75b768daefff359
      Reviewed-on: https://go-review.googlesource.com/36191Reviewed-by: 's avatarDavid Crawshaw <crawshaw@golang.org>
      a918864c
    • Russ Cox's avatar
      cmd/go: split out cmd/go/internal/str · 762eb408
      Russ Cox authored
      This is one CL in a long sequence of changes to break up the
      go command from one package into a plausible group of packages.
      
      This sequence is concerned only with moving code, not changing
      or cleaning up code. There will still be more cleanup after this sequence.
      
      The entire sequence will be submitted together: it is not a goal
      for the tree to build at every step.
      
      For #18653.
      
      Change-Id: I63f578f5ac99c707b599ac5659293c46b275567d
      Reviewed-on: https://go-review.googlesource.com/36190Reviewed-by: 's avatarDavid Crawshaw <crawshaw@golang.org>
      762eb408
    • Russ Cox's avatar
      cmd/go: break a few dependencies · d9e6835b
      Russ Cox authored
      This CL makes a few naming changes to break dependencies
      between different parts of the go command, to make it easier
      to split into different packages.
      
      This is the first CL in a long sequence of changes to break up the
      go command from one package into a plausible group of packages.
      
      This sequence is concerned only with moving code, not changing
      or cleaning up code. There will still be more cleanup after this sequence.
      
      The entire sequence will be submitted together: it is not a goal
      for the tree to build at every step.
      
      For #18653.
      
      Change-Id: I69a98b9ea48e61b1e1cda95273d29860b525415f
      Reviewed-on: https://go-review.googlesource.com/36129Reviewed-by: 's avatarDavid Crawshaw <crawshaw@golang.org>
      d9e6835b
    • Elias Naur's avatar
      runtime: handle SIGPIPE in c-archive and c-shared programs · 78074f68
      Elias Naur authored
      Before this CL, Go programs in c-archive or c-shared buildmodes
      would not handle SIGPIPE. That leads to surprising behaviour where
      writes on a closed pipe or socket would raise SIGPIPE and terminate
      the program. This CL changes the Go runtime to handle
      SIGPIPE regardless of buildmode. In addition, SIGPIPE from non-Go
      code is forwarded.
      
      This is a refinement of CL 32796 that fixes the case where a non-default
      handler for SIGPIPE is installed by the host C program.
      
      Fixes #17393
      
      Change-Id: Ia41186e52c1ac209d0a594bae9904166ae7df7de
      Reviewed-on: https://go-review.googlesource.com/35960
      Run-TryBot: Elias Naur <elias.naur@gmail.com>
      TryBot-Result: Gobot Gobot <gobot@golang.org>
      Reviewed-by: 's avatarIan Lance Taylor <iant@golang.org>
      78074f68
    • Josh Bleecher Snyder's avatar
      cmd/compile: make liveness more efficient · b612ab3a
      Josh Bleecher Snyder authored
      When the number of variables in a function is very large,
      liveness analysis gets less efficient, since every bit vector
      is O(number of variables).
      
      Improve the situation by returning a sparse representation
      from progeffects. In all scenarios, progeffects either
      returns a slice that is shared function-wide, 
      and which is usually small, or a slice that is guaranteed
      to have at most three values.
      
      Reduces compilation time for the code in #8225 Comment 1 by ~10%.
      Minor effects on regular packages (below).
      
      Passes toolstash -cmp.
      
      Updates #8225
      
      name       old time/op      new time/op      delta
      Template        215ms ± 2%       212ms ± 4%  -1.31%  (p=0.001 n=30+30)
      Unicode        98.3ms ± 3%      98.4ms ± 5%    ~     (p=0.971 n=30+30)
      GoTypes         657ms ± 3%       651ms ± 2%  -0.98%  (p=0.001 n=30+27)
      Compiler        2.78s ± 2%       2.77s ± 2%  -0.60%  (p=0.006 n=30+30)
      Flate           130ms ± 4%       130ms ± 4%    ~     (p=0.712 n=29+30)
      GoParser        159ms ± 5%       158ms ± 3%    ~     (p=0.331 n=29+30)
      Reflect         406ms ± 3%       404ms ± 3%  -0.69%  (p=0.041 n=29+30)
      Tar             117ms ± 4%       117ms ± 3%    ~     (p=0.886 n=30+29)
      XML             219ms ± 2%       217ms ± 2%    ~     (p=0.091 n=29+24)
      
      name       old user-ns/op   new user-ns/op   delta
      Template   272user-ms ± 3%  270user-ms ± 3%  -1.03%  (p=0.004 n=30+30)
      Unicode    138user-ms ± 2%  138user-ms ± 3%    ~     (p=0.902 n=29+29)
      GoTypes    891user-ms ± 2%  883user-ms ± 2%  -0.95%  (p=0.000 n=29+29)
      Compiler   3.85user-s ± 2%  3.84user-s ± 2%    ~     (p=0.236 n=30+30)
      Flate      167user-ms ± 2%  166user-ms ± 4%    ~     (p=0.511 n=28+30)
      GoParser   211user-ms ± 4%  210user-ms ± 3%    ~     (p=0.287 n=29+30)
      Reflect    539user-ms ± 3%  536user-ms ± 2%  -0.59%  (p=0.034 n=29+30)
      Tar        154user-ms ± 3%  155user-ms ± 4%    ~     (p=0.786 n=30+30)
      XML        289user-ms ± 3%  288user-ms ± 4%    ~     (p=0.249 n=30+26)
      
      name       old alloc/op     new alloc/op     delta
      Template       40.7MB ± 0%      40.8MB ± 0%  +0.09%  (p=0.001 n=30+30)
      Unicode        30.8MB ± 0%      30.8MB ± 0%    ~     (p=0.112 n=30+30)
      GoTypes         123MB ± 0%       124MB ± 0%  +0.09%  (p=0.000 n=30+30)
      Compiler        473MB ± 0%       473MB ± 0%  +0.05%  (p=0.000 n=30+30)
      Flate          26.5MB ± 0%      26.5MB ± 0%    ~     (p=0.186 n=29+30)
      GoParser       32.3MB ± 0%      32.4MB ± 0%  +0.07%  (p=0.021 n=28+30)
      Reflect        84.4MB ± 0%      84.6MB ± 0%  +0.21%  (p=0.000 n=30+30)
      Tar            27.3MB ± 0%      27.3MB ± 0%  +0.09%  (p=0.010 n=30+28)
      XML            44.7MB ± 0%      44.7MB ± 0%  +0.07%  (p=0.002 n=30+30)
      
      name       old allocs/op    new allocs/op    delta
      Template         401k ± 1%        400k ± 1%    ~     (p=0.321 n=30+30)
      Unicode          331k ± 1%        331k ± 1%    ~     (p=0.357 n=30+28)
      GoTypes         1.24M ± 0%       1.24M ± 1%  -0.19%  (p=0.001 n=30+30)
      Compiler        4.27M ± 0%       4.27M ± 0%  -0.13%  (p=0.000 n=30+30)
      Flate            252k ± 1%        251k ± 1%  -0.30%  (p=0.005 n=30+30)
      GoParser         325k ± 1%        325k ± 1%    ~     (p=0.224 n=28+30)
      Reflect         1.06M ± 0%       1.05M ± 0%  -0.34%  (p=0.000 n=30+30)
      Tar              266k ± 1%        266k ± 1%    ~     (p=0.333 n=30+30)
      XML              416k ± 1%        415k ± 1%    ~     (p=0.144 n=30+29)
      
      
      Change-Id: I6ba67a9203516373062a2618122306da73333d98
      Reviewed-on: https://go-review.googlesource.com/36211
      Run-TryBot: Josh Bleecher Snyder <josharian@gmail.com>
      TryBot-Result: Gobot Gobot <gobot@golang.org>
      Reviewed-by: 's avatarMatthew Dempsky <mdempsky@google.com>
      b612ab3a
    • Chris Broadfoot's avatar
      readme: add attribution for the Gopher image · ef259390
      Chris Broadfoot authored
      Change-Id: I3b1317f0ab46e03d8c5a0af74c83183710a75055
      Reviewed-on: https://go-review.googlesource.com/36214Reviewed-by: 's avatarRuss Cox <rsc@golang.org>
      Reviewed-by: 's avatarRob Pike <r@golang.org>
      ef259390
    • Russ Cox's avatar
      time: record monotonic clock reading in time.Now, for more accurate comparisons · 0e335590
      Russ Cox authored
      See https://golang.org/design/12914-monotonic for details.
      
      Fixes #12914.
      
      Change-Id: I80edc2e6c012b4ace7161c84cf067d444381a009
      Reviewed-on: https://go-review.googlesource.com/36255
      Run-TryBot: Russ Cox <rsc@golang.org>
      TryBot-Result: Gobot Gobot <gobot@golang.org>
      Reviewed-by: 's avatarCaleb Spare <cespare@gmail.com>
      Reviewed-by: 's avatarIan Lance Taylor <iant@golang.org>
      0e335590
    • Keith Randall's avatar
      cmd/compile: make sure output params are live if there is a defer · 8179b9b4
      Keith Randall authored
      If there is a defer, and that defer recovers, then the caller
      can see all of the output parameters.  That means that we must
      mark all the output parameters live at any point which might panic.
      
      If there is no defer then this is not necessary.  This is implemented.
      
      We could also detect whether there is a recover in any of the defers.
      If not, we would need to mark only output params that the defer
      actually references (and the closure mechanism already does that).
      This is not implemented.
      
      Fixes #18860.
      
      Change-Id: If984fe6686eddce9408bf25e725dd17fc16b8578
      Reviewed-on: https://go-review.googlesource.com/36030Reviewed-by: 's avatarAustin Clements <austin@google.com>
      Reviewed-by: 's avatarRuss Cox <rsc@golang.org>
      8179b9b4