1. 02 Oct, 2012 1 commit
  2. 01 Oct, 2012 9 commits
  3. 30 Sep, 2012 3 commits
  4. 29 Sep, 2012 2 commits
  5. 28 Sep, 2012 8 commits
    • Robert Griesemer's avatar
      go spec: arguments for append may overlap · 0c494718
      Robert Griesemer authored
      Fixes #4142.
      
      R=rsc, r, iant, ken, remyoudompheng
      CC=golang-dev
      https://golang.org/cl/6567062
      0c494718
    • Paul Chang's avatar
      cmd/godoc: fix minor bug in FormatSelections. · 7c8e26ee
      Paul Chang authored
      FormatSelections tries to call a nil function value if lw is nil
      and the final entry in the selections array is non-nil. Luckily,
      this doesn't actually happen in practice since godoc doesn't use
      this combination (no line numbers, but with selections).
      
      R=gri
      CC=gobot, golang-dev
      https://golang.org/cl/6488106
      7c8e26ee
    • Robert Griesemer's avatar
      CONTRIBUTORS: added Paul Chang (Google CLA) · 32eb1102
      Robert Griesemer authored
      R=golang-dev, iant
      CC=golang-dev
      https://golang.org/cl/6569078
      32eb1102
    • Robert Griesemer's avatar
      container/list: slightly better code factoring · de782dd1
      Robert Griesemer authored
      R=golang-dev, adg
      CC=golang-dev
      https://golang.org/cl/6569077
      de782dd1
    • Robert Griesemer's avatar
      container/list: Correctly maintain internal invariants · 0e9daef2
      Robert Griesemer authored
      The previous implementation was a mess with invariants
      maintained inconsistently. Essentially reimplemented
      the package:
      
      - used a circular list as internal representation for
        significantly simpler implementation with fewer
        special cases while maintaining the illusion of
        a nil-terminated doubly linked list externally
      
      - more precise documentation
      
      - cleaned up and simplified tests, added test case
        for issue 4103.
      
      No changes to the API or documented semantics.
      
      All this said, I would be in favor of removing
      this package eventually. container/ring provides
      a faster implementation and a simpler and more
      powerful API.
      
      Fixes #4103.
      
      R=r
      CC=golang-dev
      https://golang.org/cl/6569072
      0e9daef2
    • Ian Lance Taylor's avatar
      test: match gccgo error messages · 6ed800c0
      Ian Lance Taylor authored
      const1.go:31:12: error: integer constant overflow
      const1.go:31:12: error: integer constant overflow
      const1.go:33:12: error: integer constant overflow
      const1.go:33:12: error: integer constant overflow
      const1.go:34:14: error: integer constant overflow
      const1.go:35:17: error: integer constant overflow
      const1.go:35:17: error: integer constant overflow
      const1.go:35:17: error: integer constant overflow
      const1.go:35:17: error: integer constant overflow
      const1.go:35:17: error: integer constant overflow
      const1.go:36:19: error: integer constant overflow
      const1.go:37:15: error: integer constant overflow
      const1.go:37:15: error: integer constant overflow
      const1.go:37:24: error: integer constant overflow
      const1.go:37:15: error: integer constant overflow
      const1.go:37:15: error: integer constant overflow
      const1.go:37:15: error: integer constant overflow
      const1.go:37:24: error: integer constant overflow
      const1.go:37:15: error: integer constant overflow
      const1.go:38:12: error: integer constant overflow
      const1.go:38:12: error: integer constant overflow
      const1.go:38:12: error: integer constant overflow
      const1.go:38:12: error: integer constant overflow
      const1.go:41:20: error: integer constant overflow
      const1.go:41:20: error: integer constant overflow
      const1.go:42:20: error: integer constant overflow
      const1.go:42:20: error: integer constant overflow
      const1.go:44:28: error: integer constant overflow
      const1.go:44:28: error: integer constant overflow
      const1.go:45:14: error: integer constant overflow
      const1.go:49:14: error: integer constant overflow
      const1.go:50:14: error: integer constant overflow
      const1.go:51:14: error: integer constant overflow
      const1.go:54:23: error: integer constant overflow
      const1.go:54:23: error: integer constant overflow
      const1.go:54:23: error: integer constant overflow
      const1.go:54:23: error: integer constant overflow
      const1.go:56:14: error: integer constant overflow
      const1.go:57:24: error: integer constant overflow
      const1.go:57:24: error: integer constant overflow
      const1.go:58:24: error: integer constant overflow
      const1.go:58:24: error: integer constant overflow
      const1.go:59:22: error: integer constant overflow
      const1.go:59:22: error: integer constant overflow
      const1.go:61:24: error: integer constant overflow
      const1.go:62:20: error: division by zero
      const1.go:65:19: error: floating point constant overflow
      const1.go:65:19: error: floating point constant overflow
      const1.go:66:28: error: floating point constant overflow
      const1.go:66:28: error: floating point constant overflow
      const1.go:67:19: error: floating point constant overflow
      const1.go:67:19: error: floating point constant overflow
      const1.go:68:19: error: division by zero
      const1.go:33:14: error: integer constant overflow
      const1.go:35:19: error: integer constant overflow
      const1.go:42:22: error: integer constant overflow
      const1.go:53:17: error: integer constant overflow
      const1.go:55:14: error: integer constant overflow
      const1.go:59:24: error: integer constant overflow
      const1.go:69:20: error: expected integer type
      const1.go:75:4: error: argument 1 has incompatible type (cannot use type int8 as type int)
      const1.go:76:4: error: argument 1 has incompatible type (cannot use type int8 as type int)
      const1.go:77:4: error: argument 1 has incompatible type (cannot use type uint8 as type int)
      const1.go:79:4: error: argument 1 has incompatible type (cannot use type float32 as type int)
      const1.go:80:4: error: argument 1 has incompatible type (cannot use type float64 as type int)
      const1.go:81:4: error: floating point constant truncated to integer
      const1.go:83:4: error: argument 1 has incompatible type (cannot use type float64 as type int)
      const1.go:84:4: error: argument 1 has incompatible type (cannot use type string as type int)
      const1.go:85:4: error: argument 1 has incompatible type (cannot use type bool as type int)
      const1.go:88:7: error: const initializer cannot be nil
      
      const2.go:14:8: error: expected ‘=’
      
      const5.go:27:7: error: expression is not constant
      const5.go:28:7: error: expression is not constant
      const5.go:30:7: error: expression is not constant
      const5.go:31:7: error: expression is not constant
      
      ddd1.go:57:23: error: invalid use of ‘...’ in type conversion
      ddd1.go:59:6: error: invalid use of ‘...’ in type conversion
      ddd1.go:60:12: error: use of ‘[...]’ outside of array literal
      ddd1.go:21:15: error: argument 1 has incompatible type
      ddd1.go:22:10: error: argument 1 has incompatible type
      ddd1.go:30:6: error: invalid use of ‘...’ with non-slice
      ddd1.go:30:6: error: invalid use of ‘...’ with non-slice
      ddd1.go:46:2: error: invalid use of %<...%> with builtin function
      ddd1.go:47:2: error: invalid use of %<...%> with builtin function
      ddd1.go:49:2: error: invalid use of %<...%> with builtin function
      ddd1.go:50:6: error: invalid use of %<...%> with builtin function
      ddd1.go:51:6: error: invalid use of %<...%> with builtin function
      ddd1.go:53:6: error: invalid use of %<...%> with builtin function
      ddd1.go:58:13: error: invalid use of %<...%> with builtin function
      ddd1.go:20:10: error: floating point constant truncated to integer
      ddd1.go:32:6: error: invalid use of ‘...’ calling non-variadic function
      
      declbad.go:20:3: error: variables redeclared but no variable is new
      declbad.go:38:3: error: variables redeclared but no variable is new
      declbad.go:44:3: error: variables redeclared but no variable is new
      declbad.go:51:3: error: variables redeclared but no variable is new
      declbad.go:57:3: error: variables redeclared but no variable is new
      declbad.go:63:3: error: variables redeclared but no variable is new
      declbad.go:26:3: error: incompatible types in assignment (cannot use type float32 as type int)
      declbad.go:32:3: error: incompatible types in assignment (cannot use type int as type float32)
      declbad.go:44:3: error: incompatible types in assignment (different number of results)
      
      fixedbugs/bug223.go:21:5: error: initialization expression for ‘m’ depends upon itself
      
      fixedbugs/bug412.go:10:2: error: duplicate field name ‘x’
      
      fixedbugs/bug413.go:11:5: error: initialization expression for ‘i’ depends upon itself
      
      fixedbugs/bug416.go:13:1: error: method ‘X’ redeclares struct field name
      
      fixedbugs/bug435.go:15:49: error: missing ‘)’
      fixedbugs/bug435.go:15:2: error: reference to undefined name ‘bar’
      
      fixedbugs/bug451.go:9:9: error: expected package
      
      typeswitch3.go:39:9: error: no new variables on left side of ‘:=’
      typeswitch3.go:24:2: error: impossible type switch case (type has no methods)
      
      R=golang-dev, rsc
      CC=golang-dev
      https://golang.org/cl/6560063
      6ed800c0
    • Eric Roshan-Eisner's avatar
      strings: implement a faster single-string Replacer · 631a0e71
      Eric Roshan-Eisner authored
      The string searching is implemented separately so other functions
      may make use of it in the future.
      
      benchmark                        old ns/op    new ns/op    delta
      BenchmarkSingleMaxSkipping          125889         2474  -98.03%
      BenchmarkSingleLongSuffixFail        16252         1996  -87.72%
      BenchmarkSingleMatch                260793       136266  -47.75%
      
      benchmark                         old MB/s     new MB/s  speedup
      BenchmarkSingleMaxSkipping           79.43      4041.57   50.88x
      BenchmarkSingleLongSuffixFail        61.65       501.81    8.14x
      BenchmarkSingleMatch                 57.52       110.08    1.91x
      
      R=nigeltao
      CC=golang-dev
      https://golang.org/cl/6545049
      631a0e71
    • Eric Roshan-Eisner's avatar
      testing: remove redundant whitespace in output · 4bf6249b
      Eric Roshan-Eisner authored
      R=golang-dev, r
      CC=golang-dev
      https://golang.org/cl/6565061
      4bf6249b
  6. 27 Sep, 2012 9 commits
  7. 26 Sep, 2012 8 commits
    • Rob Pike's avatar
      fmt: allow # and x together for strings · ffea835b
      Rob Pike authored
      Silly and small but easy to be consistent.
      To make it worthwhile, I eliminated an allocation when using
      %x on a byte slice.
      
      Fixes #4149.
      
      R=golang-dev, rsc
      CC=golang-dev
      https://golang.org/cl/6574046
      ffea835b
    • Sébastien Paolacci's avatar
      net: spread fd over several pollservers. · 7014bc64
      Sébastien Paolacci authored
      Lighten contention without preventing further improvements on pollservers.
      Connections are spread over Min(GOMAXPROCS, NumCPU, 8) pollserver instances.
      
      Median of 10 runs, 4 cores @ 3.4GHz, amd/linux-3.2:
      
      BenchmarkTCPOneShot                171917 ns/op   175194 ns/op      1.91%
      BenchmarkTCPOneShot-2              101413 ns/op   109462 ns/op      7.94%
      BenchmarkTCPOneShot-4               91796 ns/op    35712 ns/op    -61.10%
      BenchmarkTCPOneShot-6               90938 ns/op    30607 ns/op    -66.34%
      BenchmarkTCPOneShot-8               90374 ns/op    29150 ns/op    -67.75%
      BenchmarkTCPOneShot-16             101089 ns/op   111526 ns/op     10.32%
      
      BenchmarkTCPOneShotTimeout         174986 ns/op   178606 ns/op      2.07%
      BenchmarkTCPOneShotTimeout-2       101585 ns/op   110678 ns/op      8.95%
      BenchmarkTCPOneShotTimeout-4        91547 ns/op    35931 ns/op    -60.75%
      BenchmarkTCPOneShotTimeout-6        91496 ns/op    31019 ns/op    -66.10%
      BenchmarkTCPOneShotTimeout-8        90670 ns/op    29531 ns/op    -67.43%
      BenchmarkTCPOneShotTimeout-16      101013 ns/op   106026 ns/op      4.96%
      
      BenchmarkTCPPersistent              51731 ns/op    53324 ns/op      3.08%
      BenchmarkTCPPersistent-2            32888 ns/op    30678 ns/op     -6.72%
      BenchmarkTCPPersistent-4            25751 ns/op    15595 ns/op    -39.44%
      BenchmarkTCPPersistent-6            26737 ns/op     9805 ns/op    -63.33%
      BenchmarkTCPPersistent-8            26850 ns/op     9730 ns/op    -63.76%
      BenchmarkTCPPersistent-16          104449 ns/op   102838 ns/op     -1.54%
      
      BenchmarkTCPPersistentTimeout       51806 ns/op    53281 ns/op      2.85%
      BenchmarkTCPPersistentTimeout-2     32956 ns/op    30895 ns/op     -6.25%
      BenchmarkTCPPersistentTimeout-4     25994 ns/op    18111 ns/op    -30.33%
      BenchmarkTCPPersistentTimeout-6     26679 ns/op     9846 ns/op    -63.09%
      BenchmarkTCPPersistentTimeout-8     26810 ns/op     9727 ns/op    -63.72%
      BenchmarkTCPPersistentTimeout-16   101652 ns/op   104410 ns/op      2.71%
      
      R=rsc, dvyukov, dave, mikioh.mikioh, bradfitz, remyoudompheng
      CC=golang-dev
      https://golang.org/cl/6496054
      7014bc64
    • Rémy Oudompheng's avatar
      cmd/6g, cmd/8g: fix two "out of fixed registers" cases. · 6feb6132
      Rémy Oudompheng authored
      In two cases, registers were allocated too early resulting
      in exhausting of available registers when nesting these
      operations.
      
      The case of method calls was due to missing cases in igen,
      which only makes calls but doesn't allocate a register for
      the result.
      
      The case of 8-bit multiplication was due to a wrong order
      in register allocation when Ullman numbers were bigger on the
      RHS.
      
      Fixes #3907.
      Fixes #4156.
      
      R=rsc
      CC=golang-dev, remy
      https://golang.org/cl/6560054
      6feb6132
    • Daniel Morsing's avatar
      cmd/gc: Don't calculate second value in range if it is blank. · 7936ab58
      Daniel Morsing authored
      Low hanging fruit optimization. Will remove an expensive copy if the range variable is an array.
      
      R=golang-dev, rsc
      CC=golang-dev
      https://golang.org/cl/6564052
      7936ab58
    • David du Colombier's avatar
      crypto/x509: add Plan 9 root certificate location · cca48f1a
      David du Colombier authored
      R=golang-dev
      CC=golang-dev, rsc
      https://golang.org/cl/6571056
      cca48f1a
    • Jonathan Feinberg's avatar
      doc: add important info for would-be go contributors. · 452f40f8
      Jonathan Feinberg authored
      Link to the "installing from source" docs instead of the "installing" docs.
      
      Remind would-be hacker to switch to the default branch from the release branch.
      
      R=rsc
      CC=golang-dev
      https://golang.org/cl/6559043
      452f40f8
    • Shenghou Ma's avatar
      crypto/aes: speed up using AES-NI on amd64 · 948db4e0
      Shenghou Ma authored
      This CL requires CL 5970055.
      
      benchmark           old ns/op    new ns/op    delta
      BenchmarkEncrypt          161           23  -85.71%
      BenchmarkDecrypt          158           24  -84.24%
      BenchmarkExpand           526           62  -88.21%
      
      benchmark            old MB/s     new MB/s  speedup
      BenchmarkEncrypt        99.32       696.19    7.01x
      BenchmarkDecrypt       100.93       641.56    6.36x
      
      R=golang-dev, bradfitz, dave, rsc
      CC=golang-dev
      https://golang.org/cl/6549055
      948db4e0
    • Shenghou Ma's avatar
      cmd/6a, cmd/6l: add support for AES-NI instrutions and PSHUFD · e039c405
      Shenghou Ma authored
      This CL adds support for the these 7 new instructions to 6a/6l in
      preparation of the upcoming CL for AES-NI accelerated crypto/aes:
      AESENC, AESENCLAST, AESDEC, AESDECLAST, AESIMC, AESKEYGENASSIST,
      and PSHUFD.
      
      R=golang-dev, rsc
      CC=golang-dev
      https://golang.org/cl/5970055
      e039c405