1. 27 Jun, 2016 3 commits
    • Keith Randall's avatar
      cmd/compile: keep heap pointer for escaping output parameters live · 6effdd28
      Keith Randall authored
      Make sure the pointer to the heap copy of an output parameter is kept
      live throughout the function.  The function could panic at any point,
      and then a defer could recover.  Thus, we need the pointer to the heap
      copy always available so the post-deferreturn code can copy the return
      value back to the stack.
      
      Before this CL, the pointer to the heap copy could be considered dead in
      certain situations, like code which is reverse dominated by a panic call.
      
      Fixes #16095.
      
      Change-Id: Ic3800423e563670e5b567b473bf4c84cddb49a4c
      Reviewed-on: https://go-review.googlesource.com/24213
      Run-TryBot: Keith Randall <khr@golang.org>
      TryBot-Result: Gobot Gobot <gobot@golang.org>
      Reviewed-by: default avatarDavid Chase <drchase@google.com>
      6effdd28
    • Konstantin Shaposhnikov's avatar
      cmd/vet: fix name check for examples in _test package · e96b1ef9
      Konstantin Shaposhnikov authored
      This fixes the obvious bug and makes go vet look for identifiers in foo
      package when checking example names in foo_test package.
      
      Note that for this check to work the foo package have to be
      installed (using go install).
      
      This commit however doesn't fix TestDivergentPackagesExamples test that
      is not implemented correctly and passes only by chance.
      
      Updates #16189
      
      Change-Id: I5c2f675cd07e5b66cf0432b2b3e422ab45c3dedd
      Reviewed-on: https://go-review.googlesource.com/24487Reviewed-by: default avatarDmitri Shuralyov <shurcool@gmail.com>
      Run-TryBot: Rob Pike <r@golang.org>
      TryBot-Result: Gobot Gobot <gobot@golang.org>
      Reviewed-by: default avatarRob Pike <r@golang.org>
      e96b1ef9
    • David Crawshaw's avatar
      encoding/json: copy-on-write cacheTypeFields · 5f209aba
      David Crawshaw authored
      Swtich from a sync.RWMutex to atomic.Value for cacheTypeFields.
      
      On GOARCH=386, this recovers most of the remaining performance
      difference from the 1.6 release. Compared with tip on linux/386:
      
      	name            old time/op    new time/op    delta
      	CodeDecoder-40    92.8ms ± 1%    87.7ms ± 1%  -5.50%  (p=0.000 n=10+10)
      
      	name            old speed      new speed      delta
      	CodeDecoder-40  20.9MB/s ± 1%  22.1MB/s ± 1%  +5.83%  (p=0.000 n=10+10)
      
      With more time and care, I believe more of the JSON decoder's work
      could be shifted so it is done before decoding, and independent of
      the number of bytes processed. Maybe someone could explore that for
      Go 1.8.
      
      For #16117.
      
      Change-Id: I049655b2e5b76384a0d5f4b90e3ec7cc8d8c4340
      Reviewed-on: https://go-review.googlesource.com/24472
      Run-TryBot: Dmitry Vyukov <dvyukov@google.com>
      Reviewed-by: default avatarDmitry Vyukov <dvyukov@google.com>
      TryBot-Result: Gobot Gobot <gobot@golang.org>
      5f209aba
  2. 26 Jun, 2016 1 commit
  3. 25 Jun, 2016 1 commit
    • Ian Lance Taylor's avatar
      cmd/pprof: don't use local symbolization for remote source · 4fcb4eb2
      Ian Lance Taylor authored
      If we are using a remote source (a URL), and the user did not specify
      the executable file to use, then don't try to use a local source.
      This was misbehaving because the local symbolizer will not fail
      if there is any memory map available, but the presence of a memory map
      does not ensure that the files and symbols are actually available.
      
      We still need a pprof testsuite.
      
      Fixes #16159.
      
      Change-Id: I0250082a4d5181c7babc7eeec6bc95b2f3bcaec9
      Reviewed-on: https://go-review.googlesource.com/24464
      Run-TryBot: Ian Lance Taylor <iant@golang.org>
      Reviewed-by: default avatarJoe Tsai <thebrokentoaster@gmail.com>
      TryBot-Result: Gobot Gobot <gobot@golang.org>
      4fcb4eb2
  4. 24 Jun, 2016 7 commits
  5. 23 Jun, 2016 6 commits
  6. 22 Jun, 2016 5 commits
  7. 21 Jun, 2016 6 commits
  8. 20 Jun, 2016 6 commits
  9. 19 Jun, 2016 1 commit
    • Alex Brainman's avatar
      debug/pe: handle files with no string table · 691c5c15
      Alex Brainman authored
      pecoff.doc (https://goo.gl/ayvckk) in section 5.6 says:
      
      Immediately following the COFF symbol table is the COFF string table.
      The position of this table is found by taking the symbol table address
      in the COFF header, and adding the number of symbols multiplied by
      the size of a symbol.
      
      So it is unclear what to do when symbol table address is 0.
      Lets assume executable does not have any string table.
      
      Added new test with executable with no symbol table. The
      
      gcc -s testdata\hello.c -o testdata\gcc-386-mingw-no-symbols-exec.
      
      command was used to generate the executable.
      
      Fixes #16084
      
      Change-Id: Ie74137ac64b15daadd28e1f0315f3b62d1bf2059
      Reviewed-on: https://go-review.googlesource.com/24200Reviewed-by: default avatarIan Lance Taylor <iant@golang.org>
      Run-TryBot: Ian Lance Taylor <iant@golang.org>
      TryBot-Result: Gobot Gobot <gobot@golang.org>
      691c5c15
  10. 17 Jun, 2016 2 commits
  11. 16 Jun, 2016 2 commits