1. 02 Oct, 2013 6 commits
    • Rémy Oudompheng's avatar
      8d6bc666
    • Frithjof Schulze's avatar
      crypto/tls: Update reference to the TLS 1.2 RFC. · 4d7c6355
      Frithjof Schulze authored
      Ticket 13740047 updated the documented TLS version to 1.2.
      This also updates the RFC refered to.
      
      R=golang-dev
      CC=golang-dev, rsc
      https://golang.org/cl/14029043
      4d7c6355
    • Russ Cox's avatar
      runtime: do not scan stack by frames during garbage collection · c3dadca9
      Russ Cox authored
      Walking the stack by frames is ~3x more expensive
      than not, and since it didn't end up being precise,
      there is not enough benefit to outweigh the cost.
      
      This is the conservative choice: this CL makes the
      stack scanning behavior the same as it was in Go 1.1.
      
      Add benchmarks to package runtime so that we have
      them when we re-enable this feature during the
      Go 1.3 development.
      
      benchmark                     old ns/op    new ns/op    delta
      BenchmarkGoroutineSelect        3194909      1272092  -60.18%
      BenchmarkGoroutineBlocking      3120282       866366  -72.23%
      BenchmarkGoroutineForRange      3256179       939902  -71.13%
      BenchmarkGoroutineIdle          2005571       482982  -75.92%
      
      The Go 1 benchmarks, just to add more data.
      As far as I can tell the changes are mainly noise.
      
      benchmark                         old ns/op    new ns/op    delta
      BenchmarkBinaryTree17            4409403046   4414734932   +0.12%
      BenchmarkFannkuch11              3407708965   3378306120   -0.86%
      BenchmarkFmtFprintfEmpty                100           99   -0.60%
      BenchmarkFmtFprintfString               242          239   -1.24%
      BenchmarkFmtFprintfInt                  204          206   +0.98%
      BenchmarkFmtFprintfIntInt               320          316   -1.25%
      BenchmarkFmtFprintfPrefixedInt          295          299   +1.36%
      BenchmarkFmtFprintfFloat                442          435   -1.58%
      BenchmarkFmtManyArgs                   1246         1216   -2.41%
      BenchmarkGobDecode                 10186951     10051210   -1.33%
      BenchmarkGobEncode                 16504381     16445650   -0.36%
      BenchmarkGzip                     447030885    447056865   +0.01%
      BenchmarkGunzip                   111056154    111696305   +0.58%
      BenchmarkHTTPClientServer             89973        93040   +3.41%
      BenchmarkJSONEncode                28174182     27933893   -0.85%
      BenchmarkJSONDecode               106353777    110443817   +3.85%
      BenchmarkMandelbrot200              4822289      4806083   -0.34%
      BenchmarkGoParse                    6102436      6142734   +0.66%
      BenchmarkRegexpMatchEasy0_32            133          132   -0.75%
      BenchmarkRegexpMatchEasy0_1K            372          373   +0.27%
      BenchmarkRegexpMatchEasy1_32            113          111   -1.77%
      BenchmarkRegexpMatchEasy1_1K            964          940   -2.49%
      BenchmarkRegexpMatchMedium_32           202          205   +1.49%
      BenchmarkRegexpMatchMedium_1K         68862        68858   -0.01%
      BenchmarkRegexpMatchHard_32            3480         3407   -2.10%
      BenchmarkRegexpMatchHard_1K          108255       112614   +4.03%
      BenchmarkRevcomp                  751393035    743929976   -0.99%
      BenchmarkTemplate                 139637041    135402220   -3.03%
      BenchmarkTimeParse                      479          475   -0.84%
      BenchmarkTimeFormat                     460          466   +1.30%
      
      benchmark                          old MB/s     new MB/s  speedup
      BenchmarkGobDecode                    75.34        76.36    1.01x
      BenchmarkGobEncode                    46.50        46.67    1.00x
      BenchmarkGzip                         43.41        43.41    1.00x
      BenchmarkGunzip                      174.73       173.73    0.99x
      BenchmarkJSONEncode                   68.87        69.47    1.01x
      BenchmarkJSONDecode                   18.25        17.57    0.96x
      BenchmarkGoParse                       9.49         9.43    0.99x
      BenchmarkRegexpMatchEasy0_32         239.58       241.74    1.01x
      BenchmarkRegexpMatchEasy0_1K        2749.74      2738.00    1.00x
      BenchmarkRegexpMatchEasy1_32         282.49       286.32    1.01x
      BenchmarkRegexpMatchEasy1_1K        1062.00      1088.96    1.03x
      BenchmarkRegexpMatchMedium_32          4.93         4.86    0.99x
      BenchmarkRegexpMatchMedium_1K         14.87        14.87    1.00x
      BenchmarkRegexpMatchHard_32            9.19         9.39    1.02x
      BenchmarkRegexpMatchHard_1K            9.46         9.09    0.96x
      BenchmarkRevcomp                     338.26       341.65    1.01x
      BenchmarkTemplate                     13.90        14.33    1.03x
      
      Fixes #6482.
      
      R=golang-dev, dave, r
      CC=golang-dev
      https://golang.org/cl/14257043
      c3dadca9
    • Shenghou Ma's avatar
      cmd/dist, build: support building statically linked toolchain · 6b188ef5
      Shenghou Ma authored
      Added a new $GO_DISTFLAGS to make.bash, and while we're here,
      added mention $CXX in make.bash (CL 13704044).
      
      Fixes #6448.
      Update #3564
      We can pass GO_DISTFLAGS=-s from misc/dist to make.bash so that
      it will build a statically linked toolchain.
      (Note: OS X doesn't have the concept of static linking, so don't
      pass GO_DISTFLAGS=-s for OS X builds)
      
      R=adg, rsc, iant
      CC=golang-dev
      https://golang.org/cl/13887043
      6b188ef5
    • Andrew Gerrand's avatar
      doc: rename @go_nuts to @golang · 57d37b55
      Andrew Gerrand authored
      Yay!
      
      R=golang-dev, dave
      CC=golang-dev
      https://golang.org/cl/14256043
      57d37b55
    • Dave Day's avatar
      cmd/go: use -installsuffix to determine the includes directory list · 57f69710
      Dave Day authored
      Currently, the directories generaed by includeArgs can have the "_race"
      suffix added if invoked with -race flag, but ignores -installsuffix if
      set.
      
      R=adg, rsc
      CC=golang-dev
      https://golang.org/cl/14174043
      57f69710
  2. 01 Oct, 2013 2 commits
  3. 30 Sep, 2013 2 commits
  4. 29 Sep, 2013 1 commit
  5. 28 Sep, 2013 3 commits
  6. 27 Sep, 2013 5 commits
  7. 26 Sep, 2013 3 commits
    • Andrew Gerrand's avatar
      doc: update links to spec and memory model · 1f7c8a9a
      Andrew Gerrand authored
      Fixes #6488.
      
      R=golang-dev, r
      CC=golang-dev
      https://golang.org/cl/14004043
      1f7c8a9a
    • Adam Langley's avatar
      crypto/tls: don't select TLS 1.2 cipher suites in prior versions. · f752484c
      Adam Langley authored
      AES-GCM cipher suites are only defined for TLS 1.2, although there's
      nothing really version specific about them. However, development
      versions of NSS (meaning Firefox and Chrome) have an issue where
      they'll advertise TLS 1.2-only cipher suites in a TLS 1.1 ClientHello
      but then balk when the server selects one.
      
      This change causes Go clients not to advertise TLS 1.2 cipher suites
      unless TLS 1.2 is being used, and prevents servers from selecting them
      unless TLS 1.2 has been negotiated.
      
      https://code.google.com/p/chromium/issues/detail?id=297151
      https://bugzilla.mozilla.org/show_bug.cgi?id=919677
      
      R=golang-dev, rsc
      CC=golang-dev
      https://golang.org/cl/13573047
      f752484c
    • Dave Cheney's avatar
      runtime, syscall: update freebsd/arm calling convention to match EABI · 649a2a9b
      Dave Cheney authored
      Fixes #6451.
      
      There is still some breakages unrelated to the syscall change.
      
      [root@beaglebone ~/go/src]# /root/go/pkg/tool/freebsd_arm/go_bootstrap version
      go version devel freebsd/arm
      a std@beaglebone ~/go/src]# /root/go/pkg/tool/freebsd_arm/go_bootstrap install -
      fatal error: mark - finalizer inconsistency
      
      runtime stack:
      runtime.throw(0x3e80ac)
              /root/go/src/pkg/runtime/panic.c:464 +0x5c
      addfinroots(0x2)
              /root/go/src/pkg/runtime/mgc0.c:1501 +0x74
      runtime.walkfintab(0x6c200)
              /root/go/src/pkg/runtime/mfinal.c:216 +0xa0
      addroots()
              /root/go/src/pkg/runtime/mgc0.c:1561 +0x188
      gc(0x50632f78)
              /root/go/src/pkg/runtime/mgc0.c:2098 +0x19c
      mgc(0x306170a0)
              /root/go/src/pkg/runtime/mgc0.c:2049 +0x30
      runtime.mcall(0x3e97b0)
              /root/go/src/pkg/runtime/asm_arm.s:165 +0x3c
      
      goroutine 1 [garbage collection]:
      runtime.gc(0x0)
              /root/go/src/pkg/runtime/mgc0.c:2020 +0x1a0 fp=0x50632f80
      runtime.mallocgc(0x680, 0x1b1971, 0x1)
              /root/go/src/pkg/runtime/malloc.goc:143 +0x210 fp=0x50632fbc
      ----- stack segment boundary -----
      cnew(0x1b1970, 0x640, 0x1)
              /root/go/src/pkg/runtime/malloc.goc:718 +0xc4 fp=0x50626110
      runtime.cnewarray(0x1b1970, 0x640)
              /root/go/src/pkg/runtime/malloc.goc:731 +0x3c fp=0x50626120
      makeslice1(0x1ac6d0, 0x500, 0x640, 0x50626190)
              /root/go/src/pkg/runtime/slice.c:57 +0x50 fp=0x5062612c
      growslice1(0x1ac6d0, 0x30714a00, 0x500, 0x500, 0x501, ...)
              /root/go/src/pkg/runtime/slice.c:113 +0x8c fp=0x50626144
      runtime.growslice(0x1ac6d0, 0x30714a00, 0x500, 0x500, 0x1, ...)
              /root/go/src/pkg/runtime/slice.c:80 +0x19c fp=0x50626174
      go/build.(*importReader).readByte(0x3070d1b0, 0xb384e)
              /root/go/src/pkg/go/build/read.go:43 +0xbc fp=0x506261b4
      go/build.(*importReader).peekByte(0x3070d1b0, 0x3070d101, 0x3070d180)
              /root/go/src/pkg/go/build/read.go:89 +0x210 fp=0x506261d0
      go/build.readComments(0x203e2560, 0x306f79a8, 0x306f79a8, 0x203e2560, 0x306f79a8, ...)
              /root/go/src/pkg/go/build/read.go:194 +0x84 fp=0x506261f4
      go/build.(*Context).matchFile(0x3e9730, 0x306209c0, 0x13, 0x306c42b4, 0x5, ...)
              /root/go/src/pkg/go/build/build.go:812 +0x74c fp=0x5062629c
      go/build.(*Context).Import(0x3e9730, 0x1f95c8, 0x1, 0x30620960, 0x13, ...)
              /root/go/src/pkg/go/build/build.go:580 +0xd64 fp=0x506268dc
      go/build.(*Context).ImportDir(0x3e9730, 0x30620960, 0x13, 0x0, 0x24d901, ...)
              /root/go/src/pkg/go/build/build.go:397 +0x5c fp=0x50626904
      main.func·021(0x30620960, 0x13, 0x203e2200, 0x30680330, 0x0, ...)
              /root/go/src/cmd/go/main.go:521 +0x2cc fp=0x5062696c
      path/filepath.walk(0x30620960, 0x13, 0x203e2200, 0x30680330, 0x50626ae8, ...)
              /root/go/src/pkg/path/filepath/path.go:341 +0x5c fp=0x506269d8
      path/filepath.walk(0x3067e720, 0x11, 0x203e2200, 0x30680210, 0x50626ae8, ...)
              /root/go/src/pkg/path/filepath/path.go:359 +0x308 fp=0x50626a44
      path/filepath.Walk(0x3067e720, 0x11, 0x50626ae8, 0x1f9728, 0x1)
              /root/go/src/pkg/path/filepath/path.go:380 +0xb4 fp=0x50626a68
      main.matchPackages(0xbfffedea, 0x3, 0x1b1190, 0x3067e600, 0x10)
              /root/go/src/cmd/go/main.go:530 +0x2c0 fp=0x50626b1c
      main.allPackages(0xbfffedea, 0x3, 0x1fadc8, 0x3, 0x1)
              /root/go/src/cmd/go/main.go:474 +0x34 fp=0x50626b70
      main.importPathsNoDotExpansion(0x30620018, 0x1, 0x1, 0x0, 0xffffffff, ...)
              /root/go/src/cmd/go/main.go:305 +0x2f8 fp=0x50626c04
      main.importPaths(0x30620018, 0x1, 0x1, 0x3, 0x0, ...)
              /root/go/src/cmd/go/main.go:315 +0x44 fp=0x50626c88
      main.packagesAndErrors(0x30620018, 0x1, 0x1, 0x50626d60, 0x90f44, ...)
              /root/go/src/cmd/go/pkg.go:798 +0x1bc fp=0x50626d1c
      main.packagesForBuild(0x30620018, 0x1, 0x1, 0x53490, 0x0, ...)
              /root/go/src/cmd/go/pkg.go:818 +0x44 fp=0x50626dac
      main.runInstall(0x3e46e0, 0x30620018, 0x1, 0x1)
              /root/go/src/cmd/go/build.go:311 +0x48 fp=0x50626e60
      main.main()
              /root/go/src/cmd/go/main.go:161 +0x518 fp=0x50626f8c
      runtime.main()
              /root/go/src/pkg/runtime/proc.c:222 +0x100 fp=0x50626fc0
      runtime.goexit()
              /root/go/src/pkg/runtime/proc.c:1396 fp=0x50626fc0
      
      goroutine 3 [syscall]:
      os/signal.loop()
              /root/go/src/pkg/os/signal/signal_unix.go:21 +0x24
      created by os/signal.init·1
              /root/go/src/pkg/os/signal/signal_unix.go:27 +0x48
      
      R=minux.ma, rsc
      CC=golang-dev
      https://golang.org/cl/13824044
      649a2a9b
  8. 25 Sep, 2013 7 commits
  9. 24 Sep, 2013 10 commits
  10. 23 Sep, 2013 1 commit