1. 30 Oct, 2015 15 commits
    • Matthew Dempsky's avatar
      math: fix bad shift in Expm1 · 7832c82b
      Matthew Dempsky authored
      Noticed by cmd/vet.
      
      Expected values array produced by Python instead of Keisan because:
      
      1) Keisan's website calculator is painfully difficult to copy/paste
      values into and out of, and
      
      2) after tediously computing e^(vf[i] * 10) - 1 via Keisan I
      discovered that Keisan computing vf[i]*10 in a higher precision was
      giving substantially different output values.
      
      Also, testing uses "close" instead of "veryclose" because 386's
      assembly implementation produces values for some of the test cases
      that fail "veryclose".  Curiously, Expm1(vf[i]*10) is identical to
      Exp(vf[i]*10)-1 on 386, whereas with the portable implementation
      they're only "veryclose".
      
      Investigating these questions is left to someone else.  I just wanted
      to fix the cmd/vet warning.
      
      Fixes #13101.
      
      Change-Id: Ica8f6c267d01aa4cc31f53593e95812746942fbc
      Reviewed-on: https://go-review.googlesource.com/16505
      Run-TryBot: Matthew Dempsky <mdempsky@google.com>
      TryBot-Result: Gobot Gobot <gobot@golang.org>
      Reviewed-by: 's avatarKlaus Post <klauspost@gmail.com>
      Reviewed-by: 's avatarRobert Griesemer <gri@golang.org>
      7832c82b
    • Austin Clements's avatar
      runtime: perform mark 2 root re-scanning in GC workers · fbf27325
      Austin Clements authored
      This moves another root scanning task out of the GC coordinator and
      parallelizes it on the GC workers.
      
      This has negligible effect on the go1 benchmarks and the garbage
      benchmark.
      
      name              old time/op  new time/op  delta
      XBenchGarbage-12  5.24ms ± 1%  5.26ms ± 1%  +0.30%  (p=0.007 n=18+17)
      
      name                      old time/op    new time/op    delta
      BinaryTree17-12              3.20s ± 5%     3.21s ± 5%    ~     (p=0.264 n=20+18)
      Fannkuch11-12                2.46s ± 1%     2.54s ± 2%  +3.09%  (p=0.000 n=18+20)
      FmtFprintfEmpty-12          49.9ns ± 4%    50.0ns ± 5%    ~     (p=0.356 n=20+20)
      FmtFprintfString-12          170ns ± 1%     170ns ± 2%    ~     (p=0.815 n=19+20)
      FmtFprintfInt-12             160ns ± 1%     159ns ± 1%  -0.63%  (p=0.003 n=18+19)
      FmtFprintfIntInt-12          270ns ± 1%     267ns ± 1%  -1.00%  (p=0.000 n=19+18)
      FmtFprintfPrefixedInt-12     238ns ± 1%     232ns ± 1%  -2.28%  (p=0.000 n=19+19)
      FmtFprintfFloat-12           310ns ± 2%     313ns ± 2%  +0.93%  (p=0.000 n=19+19)
      FmtManyArgs-12              1.06µs ± 1%    1.04µs ± 1%  -1.93%  (p=0.000 n=20+19)
      GobDecode-12                8.63ms ± 1%    8.70ms ± 1%  +0.81%  (p=0.001 n=20+19)
      GobEncode-12                6.52ms ± 1%    6.56ms ± 1%  +0.66%  (p=0.000 n=20+19)
      Gzip-12                      318ms ± 1%     319ms ± 1%    ~     (p=0.405 n=17+18)
      Gunzip-12                   42.1ms ± 2%    42.0ms ± 1%    ~     (p=0.771 n=20+19)
      HTTPClientServer-12         62.6µs ± 1%    62.9µs ± 1%  +0.41%  (p=0.038 n=20+20)
      JSONEncode-12               16.9ms ± 1%    16.9ms ± 1%    ~     (p=0.077 n=18+20)
      JSONDecode-12               60.7ms ± 1%    62.3ms ± 1%  +2.73%  (p=0.000 n=20+20)
      Mandelbrot200-12            3.86ms ± 1%    3.85ms ± 1%    ~     (p=0.084 n=19+20)
      GoParse-12                  3.75ms ± 2%    3.73ms ± 1%    ~     (p=0.107 n=20+19)
      RegexpMatchEasy0_32-12       100ns ± 2%     101ns ± 2%  +0.97%  (p=0.001 n=20+19)
      RegexpMatchEasy0_1K-12       342ns ± 2%     332ns ± 2%  -2.86%  (p=0.000 n=19+19)
      RegexpMatchEasy1_32-12      83.2ns ± 2%    82.8ns ± 2%    ~     (p=0.108 n=19+20)
      RegexpMatchEasy1_1K-12       495ns ± 2%     490ns ± 2%  -1.04%  (p=0.000 n=18+19)
      RegexpMatchMedium_32-12      130ns ± 2%     131ns ± 2%    ~     (p=0.291 n=20+20)
      RegexpMatchMedium_1K-12     39.3µs ± 1%    39.9µs ± 1%  +1.54%  (p=0.000 n=18+20)
      RegexpMatchHard_32-12       2.02µs ± 1%    2.05µs ± 2%  +1.19%  (p=0.000 n=19+19)
      RegexpMatchHard_1K-12       60.9µs ± 1%    61.5µs ± 1%  +0.99%  (p=0.000 n=18+18)
      Revcomp-12                   535ms ± 1%     531ms ± 1%  -0.82%  (p=0.000 n=17+17)
      Template-12                 73.0ms ± 1%    74.1ms ± 1%  +1.47%  (p=0.000 n=20+20)
      TimeParse-12                 356ns ± 2%     348ns ± 1%  -2.30%  (p=0.000 n=20+20)
      TimeFormat-12                347ns ± 1%     353ns ± 1%  +1.68%  (p=0.000 n=19+20)
      [Geo mean]                  62.3µs         62.4µs       +0.12%
      
      name                      old speed      new speed      delta
      GobDecode-12              88.9MB/s ± 1%  88.2MB/s ± 1%  -0.81%  (p=0.001 n=20+19)
      GobEncode-12               118MB/s ± 1%   117MB/s ± 1%  -0.66%  (p=0.000 n=20+19)
      Gzip-12                   60.9MB/s ± 1%  60.8MB/s ± 1%    ~     (p=0.409 n=17+18)
      Gunzip-12                  461MB/s ± 2%   462MB/s ± 1%    ~     (p=0.765 n=20+19)
      JSONEncode-12              115MB/s ± 1%   115MB/s ± 1%    ~     (p=0.078 n=18+20)
      JSONDecode-12             32.0MB/s ± 1%  31.1MB/s ± 1%  -2.65%  (p=0.000 n=20+20)
      GoParse-12                15.5MB/s ± 2%  15.5MB/s ± 1%    ~     (p=0.111 n=20+19)
      RegexpMatchEasy0_32-12     318MB/s ± 2%   314MB/s ± 2%  -1.27%  (p=0.000 n=20+19)
      RegexpMatchEasy0_1K-12    2.99GB/s ± 1%  3.08GB/s ± 2%  +2.94%  (p=0.000 n=19+19)
      RegexpMatchEasy1_32-12     385MB/s ± 2%   386MB/s ± 2%    ~     (p=0.105 n=19+20)
      RegexpMatchEasy1_1K-12    2.07GB/s ± 1%  2.09GB/s ± 2%  +1.06%  (p=0.000 n=18+19)
      RegexpMatchMedium_32-12   7.64MB/s ± 2%  7.61MB/s ± 1%    ~     (p=0.179 n=20+20)
      RegexpMatchMedium_1K-12   26.1MB/s ± 1%  25.7MB/s ± 1%  -1.52%  (p=0.000 n=18+20)
      RegexpMatchHard_32-12     15.8MB/s ± 1%  15.6MB/s ± 2%  -1.18%  (p=0.000 n=19+19)
      RegexpMatchHard_1K-12     16.8MB/s ± 2%  16.6MB/s ± 1%  -0.90%  (p=0.000 n=19+18)
      Revcomp-12                 475MB/s ± 1%   479MB/s ± 1%  +0.83%  (p=0.000 n=17+17)
      Template-12               26.6MB/s ± 1%  26.2MB/s ± 1%  -1.45%  (p=0.000 n=20+20)
      [Geo mean]                99.0MB/s       98.7MB/s       -0.32%
      
      Change-Id: I6ea44d7a59aaa6851c64695277ab65645ff9d32e
      Reviewed-on: https://go-review.googlesource.com/16070Reviewed-by: 's avatarRick Hudson <rlh@golang.org>
      Run-TryBot: Austin Clements <austin@google.com>
      fbf27325
    • Austin Clements's avatar
      runtime: perform concurrent scan in GC workers · 82d14d77
      Austin Clements authored
      Currently the concurrent root scan is performed in its entirety by the
      GC coordinator before entering concurrent mark (which enables GC
      workers). This scan is done sequentially, which can prolong the scan
      phase, delay the mark phase, and means that the scan phase does not
      obey the 25% CPU goal. Furthermore, there's no need to complete the
      root scan before starting marking (in fact, we already allow GC
      assists to happen during the scan phase), so this acts as an
      unnecessary barrier between root scanning and marking.
      
      This change shifts the root scan work out of the GC coordinator and in
      to the GC workers. The coordinator simply sets up the scan state and
      enqueues the right number of root scan jobs. The GC workers then drain
      the root scan jobs prior to draining heap scan jobs.
      
      This parallelizes the root scan process, makes it obey the 25% CPU
      goal, and effectively eliminates root scanning as an isolated phase,
      allowing the system to smoothly transition from root scanning to heap
      marking. This also eliminates a major non-STW responsibility of the GC
      coordinator, which will make it easier to switch to a decentralized
      state machine. Finally, it puts us in a good position to perform root
      scanning in assists as well, which will help satisfy assists at the
      beginning of the GC cycle.
      
      This is mostly straightforward. One tricky aspect is that we have to
      deal with preemption deadlock: where two non-preemptible gorountines
      are trying to preempt each other to perform a stack scan. Given the
      context where this happens, the only instance of this is two
      background workers trying to scan each other. We avoid this by simply
      not scanning the stacks of background workers during the concurrent
      phase; this is safe because we'll scan them during mark termination
      (and their stacks are *very* small and should not contain any new
      pointers).
      
      This change also switches the root marking during mark termination to
      use the same gcDrain-based code path as concurrent mark. This
      shouldn't affect performance because STW root marking was already
      parallel and tasks switched to heap marking immediately when no more
      root marking tasks were available. However, it simplifies the code and
      unifies these code paths.
      
      This has negligible effect on the go1 benchmarks. It slightly slows
      down the garbage benchmark, possibly by making GC run slightly more
      frequently.
      
      name              old time/op  new time/op  delta
      XBenchGarbage-12  5.10ms ± 1%  5.24ms ± 1%  +2.87%  (p=0.000 n=18+18)
      
      name                      old time/op    new time/op    delta
      BinaryTree17-12              3.25s ± 3%     3.20s ± 5%  -1.57%  (p=0.013 n=20+20)
      Fannkuch11-12                2.45s ± 1%     2.46s ± 1%  +0.38%  (p=0.019 n=20+18)
      FmtFprintfEmpty-12          49.7ns ± 3%    49.9ns ± 4%    ~     (p=0.851 n=19+20)
      FmtFprintfString-12          170ns ± 2%     170ns ± 1%    ~     (p=0.775 n=20+19)
      FmtFprintfInt-12             161ns ± 1%     160ns ± 1%  -0.78%  (p=0.000 n=19+18)
      FmtFprintfIntInt-12          267ns ± 1%     270ns ± 1%  +1.04%  (p=0.000 n=19+19)
      FmtFprintfPrefixedInt-12     238ns ± 2%     238ns ± 1%    ~     (p=0.133 n=18+19)
      FmtFprintfFloat-12           311ns ± 1%     310ns ± 2%  -0.35%  (p=0.023 n=20+19)
      FmtManyArgs-12              1.08µs ± 1%    1.06µs ± 1%  -2.31%  (p=0.000 n=20+20)
      GobDecode-12                8.65ms ± 1%    8.63ms ± 1%    ~     (p=0.377 n=18+20)
      GobEncode-12                6.49ms ± 1%    6.52ms ± 1%  +0.37%  (p=0.015 n=20+20)
      Gzip-12                      319ms ± 3%     318ms ± 1%    ~     (p=0.975 n=19+17)
      Gunzip-12                   41.9ms ± 1%    42.1ms ± 2%  +0.65%  (p=0.004 n=19+20)
      HTTPClientServer-12         61.7µs ± 1%    62.6µs ± 1%  +1.40%  (p=0.000 n=18+20)
      JSONEncode-12               16.8ms ± 1%    16.9ms ± 1%    ~     (p=0.239 n=20+18)
      JSONDecode-12               58.4ms ± 1%    60.7ms ± 1%  +3.85%  (p=0.000 n=19+20)
      Mandelbrot200-12            3.86ms ± 0%    3.86ms ± 1%    ~     (p=0.092 n=18+19)
      GoParse-12                  3.75ms ± 2%    3.75ms ± 2%    ~     (p=0.708 n=19+20)
      RegexpMatchEasy0_32-12       100ns ± 1%     100ns ± 2%  +0.60%  (p=0.010 n=17+20)
      RegexpMatchEasy0_1K-12       341ns ± 1%     342ns ± 2%    ~     (p=0.203 n=20+19)
      RegexpMatchEasy1_32-12      82.5ns ± 2%    83.2ns ± 2%  +0.83%  (p=0.007 n=19+19)
      RegexpMatchEasy1_1K-12       495ns ± 1%     495ns ± 2%    ~     (p=0.970 n=19+18)
      RegexpMatchMedium_32-12      130ns ± 2%     130ns ± 2%  +0.59%  (p=0.039 n=19+20)
      RegexpMatchMedium_1K-12     39.2µs ± 1%    39.3µs ± 1%    ~     (p=0.214 n=18+18)
      RegexpMatchHard_32-12       2.03µs ± 2%    2.02µs ± 1%    ~     (p=0.166 n=18+19)
      RegexpMatchHard_1K-12       61.0µs ± 1%    60.9µs ± 1%    ~     (p=0.169 n=20+18)
      Revcomp-12                   533ms ± 1%     535ms ± 1%    ~     (p=0.071 n=19+17)
      Template-12                 68.1ms ± 2%    73.0ms ± 1%  +7.26%  (p=0.000 n=19+20)
      TimeParse-12                 355ns ± 2%     356ns ± 2%    ~     (p=0.530 n=19+20)
      TimeFormat-12                357ns ± 2%     347ns ± 1%  -2.59%  (p=0.000 n=20+19)
      [Geo mean]                  62.1µs         62.3µs       +0.31%
      
      name                      old speed      new speed      delta
      GobDecode-12              88.7MB/s ± 1%  88.9MB/s ± 1%    ~     (p=0.377 n=18+20)
      GobEncode-12               118MB/s ± 1%   118MB/s ± 1%  -0.37%  (p=0.015 n=20+20)
      Gzip-12                   60.9MB/s ± 3%  60.9MB/s ± 1%    ~     (p=0.944 n=19+17)
      Gunzip-12                  464MB/s ± 1%   461MB/s ± 2%  -0.64%  (p=0.004 n=19+20)
      JSONEncode-12              115MB/s ± 1%   115MB/s ± 1%    ~     (p=0.236 n=20+18)
      JSONDecode-12             33.2MB/s ± 1%  32.0MB/s ± 1%  -3.71%  (p=0.000 n=19+20)
      GoParse-12                15.5MB/s ± 2%  15.5MB/s ± 2%    ~     (p=0.702 n=19+20)
      RegexpMatchEasy0_32-12     320MB/s ± 1%   318MB/s ± 2%    ~     (p=0.094 n=18+20)
      RegexpMatchEasy0_1K-12    3.00GB/s ± 1%  2.99GB/s ± 1%    ~     (p=0.194 n=20+19)
      RegexpMatchEasy1_32-12     388MB/s ± 2%   385MB/s ± 2%  -0.83%  (p=0.008 n=19+19)
      RegexpMatchEasy1_1K-12    2.07GB/s ± 1%  2.07GB/s ± 1%    ~     (p=0.964 n=19+18)
      RegexpMatchMedium_32-12   7.68MB/s ± 1%  7.64MB/s ± 2%  -0.57%  (p=0.020 n=19+20)
      RegexpMatchMedium_1K-12   26.1MB/s ± 1%  26.1MB/s ± 1%    ~     (p=0.211 n=18+18)
      RegexpMatchHard_32-12     15.8MB/s ± 1%  15.8MB/s ± 1%    ~     (p=0.180 n=18+19)
      RegexpMatchHard_1K-12     16.8MB/s ± 1%  16.8MB/s ± 2%    ~     (p=0.236 n=20+19)
      Revcomp-12                 477MB/s ± 1%   475MB/s ± 1%    ~     (p=0.071 n=19+17)
      Template-12               28.5MB/s ± 2%  26.6MB/s ± 1%  -6.77%  (p=0.000 n=19+20)
      [Geo mean]                 100MB/s       99.0MB/s       -0.82%
      
      Change-Id: I875bf6ceb306d1ee2f470cabf88aa6ede27c47a0
      Reviewed-on: https://go-review.googlesource.com/16059Reviewed-by: 's avatarRick Hudson <rlh@golang.org>
      Run-TryBot: Austin Clements <austin@google.com>
      TryBot-Result: Gobot Gobot <gobot@golang.org>
      82d14d77
    • Austin Clements's avatar
      runtime: consolidate "out of GC work" checks · 4cca1cc0
      Austin Clements authored
      We already have gcMarkWorkAvailable, but the check for GC mark work is
      open-coded in several places. Generalize gcMarkWorkAvailable slightly
      and replace these open-coded checks with calls to gcMarkWorkAvailable.
      
      In addition to cleaning up the code, this puts us in a better position
      to make this check slightly more complicated.
      
      Change-Id: I1b29883300ecd82a1bf6be193e9b4ee96582a860
      Reviewed-on: https://go-review.googlesource.com/16058Reviewed-by: 's avatarRick Hudson <rlh@golang.org>
      Run-TryBot: Austin Clements <austin@google.com>
      TryBot-Result: Gobot Gobot <gobot@golang.org>
      4cca1cc0
    • Brad Fitzpatrick's avatar
      test: disable flaky heapsampling test for now · 7c167f27
      Brad Fitzpatrick authored
      Flaky tests do more harm than good.
      
      Updates #13098
      
      Change-Id: I179ed810b49bbb96c8df462bfa20b70231b26772
      Reviewed-on: https://go-review.googlesource.com/16521
      Run-TryBot: Brad Fitzpatrick <bradfitz@golang.org>
      Reviewed-by: 's avatarAustin Clements <austin@google.com>
      TryBot-Result: Gobot Gobot <gobot@golang.org>
      7c167f27
    • Marvin Stenger's avatar
      cmd/compile/internal: named types for Etype and Op in struct Node · 8e7a3ea1
      Marvin Stenger authored
      Type Op is enfored now.
      Type EType will need further CLs.
      Added TODOs where Node.EType is used as a union type.
      The TODOs have the format `TODO(marvin): Fix Node.EType union type.`.
      
      Furthermore:
      -The flag of Econv function in fmt.go is removed, since unused.
      -Some cleaning along the way, e.g. declare vars first when getting initialized.
      
      Passes go build -toolexec 'toolstash -cmp' -a std.
      
      Fixes #11846
      
      Change-Id: I908b955d5a78a195604970983fb9194bd9e9260b
      Reviewed-on: https://go-review.googlesource.com/14956Reviewed-by: 's avatarKeith Randall <khr@golang.org>
      Reviewed-by: 's avatarMarvin Stenger <marvin.stenger94@gmail.com>
      8e7a3ea1
    • Taru Karttunen's avatar
      os: reduce allocations in Readdir on unix · f5f480e1
      Taru Karttunen authored
      Include syscall.Stat_t on unix to the
      unexported fileStat structure rather than
      accessing it though an interface.
      
      Additionally add a benchmark for Readdir
      (and Readdirnames).
      
      Tested on linux, freebsd, netbsd, openbsd
      darwin, solaris, does not touch windows
      stuff. Does not change the API, as
      discussed on golang-dev.
      
      E.g. on linux/amd64 with a directory of 65 files:
      
      benchmark              old ns/op     new ns/op     delta
      BenchmarkReaddir-4     67774         66225         -2.29%
      
      benchmark              old allocs     new allocs     delta
      BenchmarkReaddir-4     334            269            -19.46%
      
      benchmark              old bytes     new bytes     delta
      BenchmarkReaddir-4     25208         24168         -4.13%
      
      Change-Id: I44ef72a04ad7055523a980f29aa11122040ae8fe
      Reviewed-on: https://go-review.googlesource.com/16423Reviewed-by: 's avatarBrad Fitzpatrick <bradfitz@golang.org>
      Run-TryBot: Brad Fitzpatrick <bradfitz@golang.org>
      TryBot-Result: Gobot Gobot <gobot@golang.org>
      f5f480e1
    • Russ Cox's avatar
      doc/go1.6.txt: mention possible GOTRACEBACK change · a21b4bca
      Russ Cox authored
      For CL 16512, #12366, #13107.
      
      Change-Id: I0ed1bb9597ac3db3fa35a037c304060d5a7e6d51
      Reviewed-on: https://go-review.googlesource.com/16513Reviewed-by: 's avatarAustin Clements <austin@google.com>
      a21b4bca
    • Russ Cox's avatar
      runtime: introduce GOTRACEBACK=single, now the default · bf1de1b1
      Russ Cox authored
      Abandon (but still support) the old numbering system.
      
      GOTRACEBACK=none is old 0
      GOTRACEBACK=single is the new behavior
      GOTRACEBACK=all is old 1
      GOTRACEBACK=system is old 2
      GOTRACEBACK=crash is unchanged
      
      See doc comment change in runtime1.go for details.
      
      Filed #13107 to decide whether to change default back to GOTRACEBACK=all for Go 1.6 release.
      If you run into programs where printing only the current goroutine omits
      needed information, please add details in a comment on that issue.
      
      Fixes #12366.
      
      Change-Id: I82ca8b99b5d86dceb3f7102d38d2659d45dbe0db
      Reviewed-on: https://go-review.googlesource.com/16512Reviewed-by: 's avatarAustin Clements <austin@google.com>
      bf1de1b1
    • Russ Cox's avatar
      net/http: do not listen on public network during HTTP/2 test · 845878a2
      Russ Cox authored
      Avoids Mac firewall box.
      
      Change-Id: I000e421fa9639612d636b6fa4baf905459c5aeb2
      Reviewed-on: https://go-review.googlesource.com/16514Reviewed-by: 's avatarBrad Fitzpatrick <bradfitz@golang.org>
      Run-TryBot: Brad Fitzpatrick <bradfitz@golang.org>
      TryBot-Result: Gobot Gobot <gobot@golang.org>
      845878a2
    • Robert Griesemer's avatar
      cmd/compile/internal/gc: fix complex literal overflow · ddbc802b
      Robert Griesemer authored
      Change-Id: Ibb15282a2baeb58439b085d70b82797d8c71de36
      Reviewed-on: https://go-review.googlesource.com/16502Reviewed-by: 's avatarBrad Fitzpatrick <bradfitz@golang.org>
      ddbc802b
    • Marvin Stenger's avatar
      syscall: correct parameter name of Setgid on linux · b41a9207
      Marvin Stenger authored
      Change parameter name from uid to gid, to fix an obvious copy-paste
      error.
      
      Change-Id: Iba13a45c87fde9625b82976a7d7901af4b705230
      Reviewed-on: https://go-review.googlesource.com/16474Reviewed-by: 's avatarBrad Fitzpatrick <bradfitz@golang.org>
      b41a9207
    • Quentin Perez's avatar
      cmd/link/internal/ld: fix extra arguments Errorf · 70119acc
      Quentin Perez authored
      lib.go:1309
      lib.go:1313
      lib.go:1317
      lib.go:1325
      
      Change-Id: Ic3d3282d836c28f8bdeb5ce52fb7c018450871b9
      Reviewed-on: https://go-review.googlesource.com/16473Reviewed-by: 's avatarBrad Fitzpatrick <bradfitz@golang.org>
      Run-TryBot: Brad Fitzpatrick <bradfitz@golang.org>
      TryBot-Result: Gobot Gobot <gobot@golang.org>
      70119acc
    • Brad Fitzpatrick's avatar
      net/http: update x/net/http2 · c229d2fd
      Brad Fitzpatrick authored
      Updated bundle of golang.org/x/net/http2 to rev c95266
      
      Change-Id: Id6df66a8f4eadd6a100f359fd6cac981653dafa6
      Reviewed-on: https://go-review.googlesource.com/16448Reviewed-by: 's avatarAndrew Gerrand <adg@golang.org>
      Run-TryBot: Brad Fitzpatrick <bradfitz@golang.org>
      TryBot-Result: Gobot Gobot <gobot@golang.org>
      c229d2fd
    • Brad Fitzpatrick's avatar
      doc: some go1.6.txt additions · fc1514c1
      Brad Fitzpatrick authored
      Many remain.
      
      Change-Id: Icfe190c145a34f8aaa4d78e853dbc708962ba5ce
      Reviewed-on: https://go-review.googlesource.com/16447Reviewed-by: 's avatarBrad Fitzpatrick <bradfitz@golang.org>
      fc1514c1
  2. 29 Oct, 2015 13 commits
  3. 28 Oct, 2015 12 commits