1. 26 Apr, 2017 16 commits
  2. 25 Apr, 2017 24 commits
    • Daniel Martí's avatar
      html/template: use bytes.ContainsAny · 6049b174
      Daniel Martí authored
      It was added in Go 1.7. Also gofmt while at it.
      
      Change-Id: Idb65fb44e2f2a4365dceea3f833aeb51a8d12333
      Reviewed-on: https://go-review.googlesource.com/41692
      Run-TryBot: Daniel Martí <mvdan@mvdan.cc>
      TryBot-Result: Gobot Gobot <gobot@golang.org>
      Reviewed-by: 's avatarBrad Fitzpatrick <bradfitz@golang.org>
      6049b174
    • Brad Fitzpatrick's avatar
      cmd/dist: disable internal linking tests on Alpine · 6f45e37b
      Brad Fitzpatrick authored
      Updates #18243
      
      Change-Id: I1fe0af65dbd52c3e8e0a245e4cbbdfca100971b4
      Reviewed-on: https://go-review.googlesource.com/41759
      Run-TryBot: Brad Fitzpatrick <bradfitz@golang.org>
      TryBot-Result: Gobot Gobot <gobot@golang.org>
      Reviewed-by: 's avatarJosh Bleecher Snyder <josharian@gmail.com>
      6f45e37b
    • Brad Fitzpatrick's avatar
      net/http: update bundled x/net/http2 · 0d3143ea
      Brad Fitzpatrick authored
      This updates the bundled http2 package from git rev
      5602c733f70afc6dcec6766be0d5034d4c4f14de of the x/net repo for:
      
        http2: Use NO_ERROR instead of CANCEL when responding before the request is finished
        https://golang.org/cl/40630
      
        http2: enforce write deadline per stream
        https://golang.org/cl/34727
      
      Updates golang/go#19948
      Fixes golang/go#18437
      
      Change-Id: I14500476e91551fa8f27a1aeb8ae3cac9600b74c
      Reviewed-on: https://go-review.googlesource.com/41753Reviewed-by: 's avatarKale Blankenship <kale@lemnisys.com>
      Reviewed-by: 's avatarTom Bergan <tombergan@google.com>
      Run-TryBot: Kale Blankenship <kale@lemnisys.com>
      TryBot-Result: Gobot Gobot <gobot@golang.org>
      0d3143ea
    • Mikio Hara's avatar
      vendor: update vendored route · e10af2e8
      Mikio Hara authored
      Updates golang_org/x/net/route to rev da118f7 for:
      - route: don't fail test when at least one version of INET protocols is available
      
      Updates #19298.
      Updates #19967.
      
      Change-Id: I46948f1bd4ac6e6afd424623233f90e2b6b954c6
      Reviewed-on: https://go-review.googlesource.com/41652
      Run-TryBot: Mikio Hara <mikioh.mikioh@gmail.com>
      TryBot-Result: Gobot Gobot <gobot@golang.org>
      Reviewed-by: 's avatarIan Lance Taylor <iant@golang.org>
      e10af2e8
    • Mikio Hara's avatar
      vendor: update vendored lif · 9cb004be
      Mikio Hara authored
      Updates golang_org/x/net/lif to rev a25ba90 for:
      - lif: don't fail test when at least one version of INET protocols is available
      
      Updates #19967.
      
      Change-Id: I4b946a4c6eee7938193688ecbfc4a9d69d88c94e
      Reviewed-on: https://go-review.googlesource.com/41651
      Run-TryBot: Mikio Hara <mikioh.mikioh@gmail.com>
      TryBot-Result: Gobot Gobot <gobot@golang.org>
      Reviewed-by: 's avatarIan Lance Taylor <iant@golang.org>
      9cb004be
    • Mikio Hara's avatar
      runtime: adjust netpoll panic messages · 91c9b0d5
      Mikio Hara authored
      Change-Id: I34547b057605bb9e1e2227c41867589348560244
      Reviewed-on: https://go-review.googlesource.com/41513
      Run-TryBot: Mikio Hara <mikioh.mikioh@gmail.com>
      TryBot-Result: Gobot Gobot <gobot@golang.org>
      Reviewed-by: 's avatarIan Lance Taylor <iant@golang.org>
      91c9b0d5
    • Brad Fitzpatrick's avatar
      net/http/cgi: fix plan9 build · 5d306dcd
      Brad Fitzpatrick authored
      Cleanup CL https://golang.org/cl/41691 broke the plan9 build by removing
      a use of a package but not removing the package import.
      
      Trybots don't check that. I filed #20119 for that.
      
      Change-Id: Ia030e6924665dfb871ca964455b899d51b0200c2
      Reviewed-on: https://go-review.googlesource.com/41752Reviewed-by: 's avatarDavid du Colombier <0intro@gmail.com>
      5d306dcd
    • Brad Fitzpatrick's avatar
      cmd/go, cmd/dist: temporarily disable race and PIE internal link tests on Alpine · 7fc82104
      Brad Fitzpatrick authored
      In an effort to at least understand the complete set of things not
      working on Alpine Linux, I've been trying to get the build passing
      again, even with tests disabled.
      
      The race detector is broken on Alpine. That is #14481 (and #9918).
      So disable those tests for now.
      
      Also, internal linking with PIE doesn't work on Alpine yet.
      That is #18243. So disable that test for now.
      
      With this CL, all.bash almost passes. There's some cgo test failing
      still, but there's no bug yet, so that can be a separate CL.
      
      Change-Id: I3ffbb0e787ed54cb82f298b6bd5bf3ccfbc82622
      Reviewed-on: https://go-review.googlesource.com/41678
      Run-TryBot: Brad Fitzpatrick <bradfitz@golang.org>
      TryBot-Result: Gobot Gobot <gobot@golang.org>
      Reviewed-by: 's avatarIan Lance Taylor <iant@golang.org>
      7fc82104
    • Josh Bleecher Snyder's avatar
      go/internal/gcimporter: add test object files for go1.8 versions 4 and 5 · b692e749
      Josh Bleecher Snyder authored
      Version 4 generated with toolchain at commit 51012314.
      Version 5 generated with toolchain at commit a6b16e00.
      
      Change-Id: If11ec8b3357f0f71776c15665e4d5228b3842ff7
      Reviewed-on: https://go-review.googlesource.com/41710
      Run-TryBot: Josh Bleecher Snyder <josharian@gmail.com>
      TryBot-Result: Gobot Gobot <gobot@golang.org>
      Reviewed-by: 's avatarBrad Fitzpatrick <bradfitz@golang.org>
      b692e749
    • Josh Bleecher Snyder's avatar
      cmd/compile: improve efficiency of binary export position encoding · a6b16e00
      Josh Bleecher Snyder authored
      Use -64 instead of 0 as the magic "new file"
      line delta, since it is much less common.
      
      Use a new path encoding that breaks up paths
      into /-separated components, allowing
      reuse of the component strings, and making
      many re-used paths a single byte to encode.
      
      Bump the export version to 5.
      
      Fixes #20080
      
      name        old export-bytes  new export-bytes  delta
      Template          19.1k ± 0%        17.4k ± 0%  -8.74%  (p=0.008 n=5+5)
      Unicode           4.47k ± 0%        4.42k ± 0%  -0.96%  (p=0.008 n=5+5)
      GoTypes           29.9k ± 0%        27.6k ± 0%  -7.41%  (p=0.008 n=5+5)
      Compiler          71.4k ± 0%        65.4k ± 0%  -8.45%  (p=0.008 n=5+5)
      SSA               67.8k ± 0%        65.6k ± 0%  -3.38%  (p=0.008 n=5+5)
      Flate             4.99k ± 0%        4.79k ± 0%  -3.91%  (p=0.008 n=5+5)
      GoParser          8.77k ± 0%        7.97k ± 0%  -9.14%  (p=0.008 n=5+5)
      Reflect           6.27k ± 0%        6.13k ± 0%  -2.22%  (p=0.008 n=5+5)
      Tar               9.46k ± 0%        8.82k ± 0%  -6.69%  (p=0.008 n=5+5)
      XML               16.0k ± 0%        14.9k ± 0%  -6.69%  (p=0.008 n=5+5)
      [Geo mean]        14.8k             14.0k       -5.80%
      
      Change-Id: Iea0c8c62e61dbab3cfd14ee121e34845c85f00d2
      Reviewed-on: https://go-review.googlesource.com/41619
      Run-TryBot: Josh Bleecher Snyder <josharian@gmail.com>
      TryBot-Result: Gobot Gobot <gobot@golang.org>
      Reviewed-by: 's avatarRobert Griesemer <gri@golang.org>
      a6b16e00
    • griesemer's avatar
      cmd/compile: factor out access to thisT · 51012314
      griesemer authored
      isifacemethod accessed thisT without checking if it was initialized,
      opening the possibility for a bug during type checking. Give better
      name, move it to package types, and provide accessor instead.
      
      Change-Id: I29ffc408252a4ba4ef1de218fa154397786c9be6
      Reviewed-on: https://go-review.googlesource.com/41673Reviewed-by: 's avatarMatthew Dempsky <mdempsky@google.com>
      Reviewed-by: 's avatarBrad Fitzpatrick <bradfitz@golang.org>
      51012314
    • Damien Lespiau's avatar
      cmd/internal/obj/x86: port the doasm comment to go · 4e5593dd
      Damien Lespiau authored
      This comment is very useful but still refers to the C implementation.
      Adapting it for Go is fairly straightforward though.
      
      Change-Id: Ib6dde25f3a18acbce76bb3cffdc29f5ccf43c1f7
      Reviewed-on: https://go-review.googlesource.com/41696Reviewed-by: 's avatarBrad Fitzpatrick <bradfitz@golang.org>
      4e5593dd
    • Michael Munday's avatar
      cmd: fix the order that s390x operands are printed in · db6f3bbc
      Michael Munday authored
      The assembler reordered the operands of some instructions to put the
      first operand into From3. Unfortunately this meant that when the
      instructions were printed the operands were in a different order than
      the assembler would expect as input. For example, 'MVC $8, (R1), (R2)'
      would be printed as 'MVC (R1), $8, (R2)'.
      
      Originally this was done to ensure that From contained the source
      memory operand. The current compiler no longer requires this and so
      this CL simply makes all instructions use the standard order for
      operands: From, Reg, From3 and finally To.
      
      Fixes #18295
      
      Change-Id: Ib2b5ec29c647ca7a995eb03dc78f82d99618b092
      Reviewed-on: https://go-review.googlesource.com/40299
      Run-TryBot: Michael Munday <munday@ca.ibm.com>
      TryBot-Result: Gobot Gobot <gobot@golang.org>
      Reviewed-by: 's avatarCherry Zhang <cherryyz@google.com>
      db6f3bbc
    • Daniel Martí's avatar
      regexp: remove redundant break · 7d547b64
      Daniel Martí authored
      Breaks are implicit, and since there is no outer loop this one could not
      mean a loop break that was missing a label.
      
      Change-Id: Ie91018db1825aa8285c1aa55c9d28fc7ec7148af
      Reviewed-on: https://go-review.googlesource.com/39691
      Run-TryBot: Daniel Martí <mvdan@mvdan.cc>
      TryBot-Result: Gobot Gobot <gobot@golang.org>
      Reviewed-by: 's avatarBrad Fitzpatrick <bradfitz@golang.org>
      7d547b64
    • Daniel Martí's avatar
      all: remove some unused parameters in test code · 516e6f6d
      Daniel Martí authored
      Mostly unnecessary *testing.T arguments.
      
      Found with github.com/mvdan/unparam.
      
      Change-Id: Ifb955cb88f2ce8784ee4172f4f94d860fa36ae9a
      Reviewed-on: https://go-review.googlesource.com/41691
      Run-TryBot: Daniel Martí <mvdan@mvdan.cc>
      TryBot-Result: Gobot Gobot <gobot@golang.org>
      Reviewed-by: 's avatarIan Lance Taylor <iant@golang.org>
      516e6f6d
    • Ian Lance Taylor's avatar
      os: fix race between file I/O and Close · 11c7b449
      Ian Lance Taylor authored
      Now that the os package uses internal/poll on Unix and Windows systems,
      it can rely on internal/poll reference counting to ensure that the
      file descriptor is not closed until all I/O is complete.
      
      That was already working. This CL completes the job by not trying to
      modify the Sysfd field when it might still be used by the I/O routines.
      
      Fixes #7970
      
      Change-Id: I7a3daa1a6b07b7345bdce6f0cd7164bd4eaee952
      Reviewed-on: https://go-review.googlesource.com/41674Reviewed-by: 's avatarBrad Fitzpatrick <bradfitz@golang.org>
      11c7b449
    • Carlos Eduardo Seo's avatar
      math/big: improve performance for addVV/subVV for ppc64x · 9459c03b
      Carlos Eduardo Seo authored
      This change adds a better asm implementation of addVV for ppc64x, with speedups
      up to nearly 3x in the best cases.
      
      benchmark                   old ns/op     new ns/op     delta
      BenchmarkAddVV/1-8          7.33          5.81          -20.74%
      BenchmarkAddVV/2-8          8.72          6.49          -25.57%
      BenchmarkAddVV/3-8          10.5          7.08          -32.57%
      BenchmarkAddVV/4-8          12.7          7.57          -40.39%
      BenchmarkAddVV/5-8          14.3          8.06          -43.64%
      BenchmarkAddVV/10-8         27.6          11.1          -59.78%
      BenchmarkAddVV/100-8        218           82.4          -62.20%
      BenchmarkAddVV/1000-8       2064          718           -65.21%
      BenchmarkAddVV/10000-8      20536         7153          -65.17%
      BenchmarkAddVV/100000-8     211004        72403         -65.69%
      
      benchmark                   old MB/s     new MB/s     speedup
      BenchmarkAddVV/1-8          8729.74      11006.26     1.26x
      BenchmarkAddVV/2-8          14683.65     19707.55     1.34x
      BenchmarkAddVV/3-8          18226.96     27103.63     1.49x
      BenchmarkAddVV/4-8          20204.50     33805.81     1.67x
      BenchmarkAddVV/5-8          22348.64     39694.06     1.78x
      BenchmarkAddVV/10-8         23212.74     57631.08     2.48x
      BenchmarkAddVV/100-8        29300.07     77629.53     2.65x
      BenchmarkAddVV/1000-8       31000.56     89094.54     2.87x
      BenchmarkAddVV/10000-8      31163.61     89469.16     2.87x
      BenchmarkAddVV/100000-8     30331.16     88393.73     2.91x
      
      It also adds the use of CTR for the loop counter in subVV, instead of
      manually updating the loop counter. This is slightly faster.
      
      Change-Id: Ic4b05cad384fd057972d46a5618ed5c3039d7460
      Reviewed-on: https://go-review.googlesource.com/41010
      Run-TryBot: Lynn Boger <laboger@linux.vnet.ibm.com>
      TryBot-Result: Gobot Gobot <gobot@golang.org>
      Reviewed-by: 's avatarLynn Boger <laboger@linux.vnet.ibm.com>
      9459c03b
    • Ben Shi's avatar
      cmd/internal/obj/arm: use new form of MOVW introduced in ARMv7 · a0418063
      Ben Shi authored
      As discussion in issue #18293, "MOVW $Imm-16, Reg" was introduced in
      ARMv7. It directly encoded the 16-bit immediate into the instruction
      instead of put it in the constant pool.
      
      This patch makes the arm assembler choose this form of MOVW if available.
      
      Besides 4 bytes are saved in the constant pool, the go1 benchmark test
      also shows a slight improvement.
      
      name                     old time/op    new time/op    delta
      BinaryTree17-4              42.7s ± 1%     42.7s ± 1%    ~     (p=0.304 n=50+50)
      Fannkuch11-4                24.8s ± 1%     24.8s ± 0%    ~     (p=0.757 n=50+49)
      FmtFprintfEmpty-4           875ns ± 1%     873ns ± 2%    ~     (p=0.066 n=44+46)
      FmtFprintfString-4         1.43µs ± 1%    1.45µs ± 1%  +1.68%  (p=0.000 n=44+44)
      FmtFprintfInt-4            1.52µs ± 1%    1.52µs ± 1%  +0.26%  (p=0.009 n=41+45)
      FmtFprintfIntInt-4         2.19µs ± 1%    2.20µs ± 1%  +0.76%  (p=0.000 n=43+46)
      FmtFprintfPrefixedInt-4    2.56µs ± 2%    2.53µs ± 1%  -1.03%  (p=0.000 n=45+44)
      FmtFprintfFloat-4          4.41µs ± 1%    4.39µs ± 1%  -0.52%  (p=0.000 n=44+44)
      FmtManyArgs-4              9.02µs ± 2%    9.04µs ± 1%  +0.27%  (p=0.000 n=46+44)
      GobDecode-4                 106ms ± 1%     106ms ± 1%    ~     (p=0.310 n=45+43)
      GobEncode-4                88.1ms ± 2%    88.0ms ± 2%    ~     (p=0.648 n=49+50)
      Gzip-4                      4.31s ± 1%     4.27s ± 1%  -1.01%  (p=0.000 n=50+50)
      Gunzip-4                    618ms ± 1%     608ms ± 1%  -1.65%  (p=0.000 n=45+47)
      HTTPClientServer-4          689µs ± 6%     692µs ± 4%  +0.52%  (p=0.038 n=50+47)
      JSONEncode-4                282ms ± 2%     280ms ± 1%  -0.75%  (p=0.000 n=46+43)
      JSONDecode-4                945ms ± 2%     940ms ± 1%  -0.47%  (p=0.000 n=47+47)
      Mandelbrot200-4            49.4ms ± 1%    49.3ms ± 1%    ~     (p=0.163 n=45+45)
      GoParse-4                  46.0ms ± 3%    45.5ms ± 2%  -0.95%  (p=0.000 n=49+40)
      RegexpMatchEasy0_32-4      1.29µs ± 1%    1.28µs ± 1%  -0.14%  (p=0.005 n=38+45)
      RegexpMatchEasy0_1K-4      7.92µs ± 8%    7.75µs ± 6%  -2.12%  (p=0.000 n=47+50)
      RegexpMatchEasy1_32-4      1.31µs ± 1%    1.31µs ± 0%    ~     (p=0.282 n=45+48)
      RegexpMatchEasy1_1K-4      10.4µs ± 5%    10.4µs ± 3%    ~     (p=0.771 n=50+49)
      RegexpMatchMedium_32-4     2.06µs ± 1%    2.07µs ± 1%  +0.35%  (p=0.001 n=44+49)
      RegexpMatchMedium_1K-4      533µs ± 1%     532µs ± 1%    ~     (p=0.710 n=43+47)
      RegexpMatchHard_32-4       29.7µs ± 1%    29.6µs ± 1%  -0.34%  (p=0.002 n=43+46)
      RegexpMatchHard_1K-4        893µs ± 2%     885µs ± 1%  -0.85%  (p=0.000 n=50+45)
      Revcomp-4                  85.6ms ± 4%    85.5ms ± 2%    ~     (p=0.683 n=50+50)
      Template-4                  1.05s ± 3%     1.04s ± 1%  -1.06%  (p=0.000 n=50+44)
      TimeParse-4                7.19µs ± 2%    7.11µs ± 2%  -1.10%  (p=0.000 n=48+46)
      TimeFormat-4               13.4µs ± 1%    13.5µs ± 1%    ~     (p=0.056 n=46+49)
      [Geo mean]                  747µs          745µs       -0.28%
      
      name                     old speed      new speed      delta
      GobDecode-4              7.23MB/s ± 1%  7.22MB/s ± 1%    ~     (p=0.062 n=45+39)
      GobEncode-4              8.71MB/s ± 2%  8.72MB/s ± 2%    ~     (p=0.656 n=49+50)
      Gzip-4                   4.50MB/s ± 1%  4.55MB/s ± 1%  +1.03%  (p=0.000 n=50+50)
      Gunzip-4                 31.4MB/s ± 1%  31.9MB/s ± 1%  +1.67%  (p=0.000 n=45+47)
      JSONEncode-4             6.89MB/s ± 2%  6.94MB/s ± 1%  +0.76%  (p=0.000 n=46+43)
      JSONDecode-4             2.05MB/s ± 2%  2.06MB/s ± 2%  +0.32%  (p=0.017 n=47+50)
      GoParse-4                1.26MB/s ± 3%  1.27MB/s ± 1%  +0.68%  (p=0.000 n=50+48)
      RegexpMatchEasy0_32-4    24.9MB/s ± 1%  24.9MB/s ± 1%  +0.13%  (p=0.004 n=38+45)
      RegexpMatchEasy0_1K-4     129MB/s ± 7%   132MB/s ± 6%  +2.34%  (p=0.000 n=46+50)
      RegexpMatchEasy1_32-4    24.5MB/s ± 1%  24.4MB/s ± 1%    ~     (p=0.252 n=45+48)
      RegexpMatchEasy1_1K-4    98.8MB/s ± 4%  98.7MB/s ± 3%    ~     (p=0.771 n=50+49)
      RegexpMatchMedium_32-4    485kB/s ± 3%   480kB/s ± 0%  -0.95%  (p=0.000 n=50+38)
      RegexpMatchMedium_1K-4   1.92MB/s ± 1%  1.92MB/s ± 1%    ~     (p=0.129 n=43+47)
      RegexpMatchHard_32-4     1.08MB/s ± 2%  1.08MB/s ± 1%  +0.38%  (p=0.017 n=46+46)
      RegexpMatchHard_1K-4     1.15MB/s ± 2%  1.16MB/s ± 1%  +0.67%  (p=0.001 n=50+49)
      Revcomp-4                29.7MB/s ± 4%  29.7MB/s ± 2%    ~     (p=0.682 n=50+50)
      Template-4               1.85MB/s ± 3%  1.87MB/s ± 1%  +1.04%  (p=0.000 n=50+44)
      [Geo mean]               6.56MB/s       6.60MB/s       +0.47%
      
      
      Change-Id: Ic2cca90133c27a08d9f1a23c65b0eed5fbd02684
      Reviewed-on: https://go-review.googlesource.com/41190
      Run-TryBot: Cherry Zhang <cherryyz@google.com>
      TryBot-Result: Gobot Gobot <gobot@golang.org>
      Reviewed-by: 's avatarCherry Zhang <cherryyz@google.com>
      a0418063
    • Brad Fitzpatrick's avatar
      runtime: ignore TestCgoPprofPIE test failures on Alpine (take 2) · 34ee8ec1
      Brad Fitzpatrick authored
      s/arm64/amd64/ in previous typo CL 41628
      
      Updates #19938
      Updates #18243
      
      Change-Id: I282244ee3c94535f229a87b6246382385ff64428
      Reviewed-on: https://go-review.googlesource.com/41675Reviewed-by: 's avatarBrad Fitzpatrick <bradfitz@golang.org>
      34ee8ec1
    • Martin Möhrmann's avatar
      runtime: simplify detection of preference to use AVX memmove · b64e8178
      Martin Möhrmann authored
      Reduces cmd/go by 4464 bytes on amd64.
      
      Removes the duplicate detection of AVX support and
      presence of Intel processors.
      
      Change-Id: I4670189951a63760fae217708f68d65e94a30dc5
      Reviewed-on: https://go-review.googlesource.com/41570Reviewed-by: 's avatarKeith Randall <khr@golang.org>
      Run-TryBot: Keith Randall <khr@golang.org>
      TryBot-Result: Gobot Gobot <gobot@golang.org>
      b64e8178
    • Brad Fitzpatrick's avatar
      runtime: ignore TestCgoPprofPIE test failures on Alpine · 16271b8b
      Brad Fitzpatrick authored
      Updates #19938
      Updates #18243
      
      Change-Id: Ib6e704c0a5d596bdfaa6493902d2528bec55bf16
      Reviewed-on: https://go-review.googlesource.com/41628Reviewed-by: 's avatarIan Lance Taylor <iant@golang.org>
      16271b8b
    • Evgeniy Polyakov's avatar
      runtime: make time correctly update on Wine · 9f98e498
      Evgeniy Polyakov authored
      Implemented low-level time system for windows on hardware (software),
      which does not support memory mapped _KSYSTEM_TIME page update.
      
      In particular this problem exists on Wine where _KSYSTEM_TIME
      only contains time at the start, and is never modified.
      
      On start we try to detect Wine and if it's so we fallback to
      GetSystemTimeAsFileTime() for current time and a monotonic
      timer based on QueryPerformanceCounter family of syscalls:
      https://msdn.microsoft.com/en-us/library/windows/desktop/dn553408(v=vs.85).aspx
      
      Fixes #18537
      
      Change-Id: I269d22467ed9b0afb62056974d23e731b80c83ed
      Reviewed-on: https://go-review.googlesource.com/35710Reviewed-by: 's avatarAlex Brainman <alex.brainman@gmail.com>
      Run-TryBot: Alex Brainman <alex.brainman@gmail.com>
      TryBot-Result: Gobot Gobot <gobot@golang.org>
      9f98e498
    • Ian Lance Taylor's avatar
      internal/poll: don't use r/w lock for Pread/Pwrite · b0472e22
      Ian Lance Taylor authored
      Since Pread/Pwrite specify a file offset, using incref is sufficient.
      This permits multiple Pread/Pwrite calls in parallel.
      
      Since Pread/Pwrite specify a file offset, it doesn't seem to make
      sense to use the poller for them, so don't.
      
      Updates #19586
      
      Change-Id: I676be16bf519b9a45f8e6b1d991c44f10848bc11
      Reviewed-on: https://go-review.googlesource.com/41670
      Run-TryBot: Ian Lance Taylor <iant@golang.org>
      TryBot-Result: Gobot Gobot <gobot@golang.org>
      Reviewed-by: 's avatarBrad Fitzpatrick <bradfitz@golang.org>
      b0472e22
    • Brad Fitzpatrick's avatar
      cmd/go: fix TestCgoConsistentResults when using clang instead of gcc · 8ae60dc1
      Brad Fitzpatrick authored
      As Ian said at:
      https://github.com/golang/go/issues/19964#issuecomment-296347750
      
      > the -fdebug-prefix-map option is being applied to the debug info but
      > not to the initial .file pseudo-op.
      >
      > My only current thought for how to fix this is that instead of
      > compiling $WORK/a/b/foo.c, we should change the command to (cd
      > $WORK/a/b && clang -g -c foo.c). We'll still want
      > -fdebug-prefix-map, I think, but that should fix the .file
      > pseudo-op.
      
      This CL does that.
      
      Fixes #19964
      
      Change-Id: I442b1201cab9e0448fc520ab243ad364d59cd7c3
      Reviewed-on: https://go-review.googlesource.com/41629
      Run-TryBot: Brad Fitzpatrick <bradfitz@golang.org>
      TryBot-Result: Gobot Gobot <gobot@golang.org>
      Reviewed-by: 's avatarIan Lance Taylor <iant@golang.org>
      8ae60dc1