1. 09 May, 2014 7 commits
    • Russ Cox's avatar
      cmd/gc: disable link-time copying of un-Go-initialized globals · e5c10503
      Russ Cox authored
      If you write:
      
              var x = 3
      
      then the compiler arranges for x to be initialized in the linker
      with an actual 3 from the data segment, rather than putting
      x in the bss and emitting init-time "x = 3" assignment code.
      
      If you write:
      
              var y = x
              var x = 3
      
      then the compiler is clever and treats this the same as if
      the code said 'y = 3': they both end up in the data segment
      with no init-time assignments.
      
      If you write
      
              var y = x
              var x int
      
      then the compiler was treating this the same as if the
      code said 'x = 0', making both x and y zero and avoiding
      any init-time assignment.
      
      This copying optimization to avoid init-time assignment of y
      is incorrect if 'var x int' doesn't mean 'x = 0' but instead means
      'x is initialized in C or assembly code'. The program ends up
      with 'y = 0' instead of 'y = the value specified for x in that other code'.
      
      Disable the propagation if there is no initializer for x.
      
      This comes up in some uses of cgo, because cgo generates
      Go globals that are initialized in accompanying C files.
      
      Fixes #7665.
      
      LGTM=iant
      R=golang-codereviews, iant
      CC=golang-codereviews
      https://golang.org/cl/93200044
      e5c10503
    • Russ Cox's avatar
      crypto/aes: fix overrun in assembly encrypt/decrypt · 3e8ed96c
      Russ Cox authored
      Fixes #7928.
      
      LGTM=bradfitz
      R=golang-codereviews
      CC=agl, bradfitz, golang-codereviews
      https://golang.org/cl/91320043
      3e8ed96c
    • Russ Cox's avatar
      cmd/gc: fix ... escape analysis bug · c99dce2b
      Russ Cox authored
      If the ... element type contained no pointers,
      then the escape analysis did not track the ... itself.
      This manifested in an escaping ...byte being treated
      as non-escaping.
      
      Fixes #7934.
      
      LGTM=iant
      R=golang-codereviews, iant
      CC=golang-codereviews
      https://golang.org/cl/100310043
      c99dce2b
    • Josh Bleecher Snyder's avatar
      cmd/gc: don't give credit for NOPs during register allocation · 1848d714
      Josh Bleecher Snyder authored
      The register allocator decides which variables should be placed into registers by charging for each load/store and crediting for each use, and then selecting an allocation with minimal cost. NOPs will be eliminated, however, so using a variable in a NOP should not generate credit.
      
      Issue 7867 arises from attempted registerization of multi-word variables because they are used in NOPs. By not crediting for that use, they will no longer be considered for registerization.
      
      This fix could theoretically lead to better register allocation, but NOPs are rare relative to other instructions.
      
      Fixes #7867.
      
      LGTM=rsc
      R=rsc
      CC=golang-codereviews
      https://golang.org/cl/94810044
      1848d714
    • Robert Hencke's avatar
      cmd/go: mark regexp as dependency of testmain · 52961b90
      Robert Hencke authored
      Fixes #6844.
      
      LGTM=rsc
      R=golang-codereviews, rsc
      CC=golang-codereviews
      https://golang.org/cl/97840043
      52961b90
    • Russ Cox's avatar
      testing: write profiles on failure · 21e75b32
      Russ Cox authored
      Fixes #7901.
      
      LGTM=r
      R=r
      CC=golang-codereviews
      https://golang.org/cl/90930044
      21e75b32
    • Mikio Hara's avatar
      net: drop flakey TestDialFailPDLeak · f40f0b26
      Mikio Hara authored
      TestDialFailPDLeak was created for testing runtime-integrated netwrok
      poller stuff and used during Go 1.2 development cycle. Unfortunately
      it's still flakey because it depends on MemStats of runtime, not
      pollcache directly, and MemStats accounts and revises its own stats
      occasionally.
      
      For now the codepaths related to runtime-intergrated network poller
      are pretty stable, so removing this test case never suffers us.
      
      Fixes #6553.
      
      LGTM=josharian, iant
      R=iant, josharian
      CC=golang-codereviews
      https://golang.org/cl/98080043
      f40f0b26
  2. 08 May, 2014 4 commits
  3. 07 May, 2014 14 commits
  4. 06 May, 2014 3 commits
  5. 05 May, 2014 6 commits
  6. 02 May, 2014 6 commits