1. 04 Oct, 2012 6 commits
  2. 03 Oct, 2012 9 commits
  3. 02 Oct, 2012 4 commits
    • Robert Griesemer's avatar
      go/parser: correctly parse <-chan T(x) as <-(chan T)(x) · 05dc3bf5
      Robert Griesemer authored
      Fixes #4110.
      
      R=iant
      CC=golang-dev
      https://golang.org/cl/6597069
      05dc3bf5
    • Robert Hencke's avatar
      codereview.py: suggest installing Mercurial from official website · 10ea3254
      Robert Hencke authored
      Continuation of https://golang.org/cl/6499053/
      
      R=golang-dev, minux.ma
      CC=golang-dev
      https://golang.org/cl/6584059
      10ea3254
    • Rémy Oudompheng's avatar
      cmd/8g: do not take the address of string/slice for &s[i] · 2de064b6
      Rémy Oudompheng authored
      A similar change was made in 6g recently.
      
      LEALs in cmd/go: 31440 before, 27867 after.
      
      benchmark                 old ns/op    new ns/op    delta
      BenchmarkBinaryTree17    7065794000   6723617000   -4.84%
      BenchmarkFannkuch11      7767395000   7477945000   -3.73%
      BenchmarkGobDecode         34708140     34857820   +0.43%
      BenchmarkGobEncode         10998780     10960060   -0.35%
      BenchmarkGzip            1603630000   1471052000   -8.27%
      BenchmarkGunzip           242573900    240650400   -0.79%
      BenchmarkJSONEncode       120842200    117966100   -2.38%
      BenchmarkJSONDecode       247254900    249103100   +0.75%
      BenchmarkMandelbrot200     29237330     29241790   +0.02%
      BenchmarkParse              8111320      8096865   -0.18%
      BenchmarkRevcomp         2595780000   2694153000   +3.79%
      BenchmarkTemplate         276679600    264497000   -4.40%
      
      benchmark                              old ns/op    new ns/op    delta
      BenchmarkAppendFloatDecimal                  429          416   -3.03%
      BenchmarkAppendFloat                         780          740   -5.13%
      BenchmarkAppendFloatExp                      746          700   -6.17%
      BenchmarkAppendFloatNegExp                   752          694   -7.71%
      BenchmarkAppendFloatBig                     1228         1108   -9.77%
      BenchmarkAppendFloat32Integer                457          416   -8.97%
      BenchmarkAppendFloat32ExactFraction          662          631   -4.68%
      BenchmarkAppendFloat32Point                  771          735   -4.67%
      BenchmarkAppendFloat32Exp                    722          672   -6.93%
      BenchmarkAppendFloat32NegExp                 724          659   -8.98%
      BenchmarkAppendFloat64Fixed1                 429          400   -6.76%
      BenchmarkAppendFloat64Fixed2                 463          442   -4.54%
      
      Update #1914.
      
      R=golang-dev, daniel.morsing, rsc
      CC=golang-dev
      https://golang.org/cl/6574043
      2de064b6
    • Dmitriy Vyukov's avatar
      race: gc changes · 041fc8bf
      Dmitriy Vyukov authored
      This is the first part of a bigger change that adds data race detection feature:
      https://golang.org/cl/6456044
      This change makes gc compiler instrument memory accesses when supplied with -b flag.
      
      R=rsc, nigeltao, lvd
      CC=golang-dev
      https://golang.org/cl/6497074
      041fc8bf
  4. 01 Oct, 2012 9 commits
  5. 30 Sep, 2012 3 commits
  6. 29 Sep, 2012 2 commits
  7. 28 Sep, 2012 7 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