1. 14 Mar, 2013 12 commits
    • Russ Cox's avatar
      runtime: refactor os-specific code · e9d62a6d
      Russ Cox authored
      thread_GOOS.c becomes os_GOOS.c.
      
      signal_GOOS_GOARCH.c becomes os_GOOS_GOARCH.c,
      but with non-GOARCH-specific code moved into os_GOOS.c.
      
      The actual arch-specific signal handler moves into signal_GOARCH.c
      to avoid per-GOOS duplication.
      
      New files signal_GOOS_GOARCH.h provide macros for
      accessing fields of the very system-specific signal info structs.
      
      Lots moving, but nothing changing.
      This is a preliminarly cleanup so I can work on the signal
      handling code to fix some open issues without having to
      make each change 13 times.
      
      Tested on Linux and OS X, 386 and amd64.
      Will fix Plan 9, Windows, and ARM after the fact if necessary.
      (Plan 9 and Windows should be fine; ARM will probably have some typos.)
      
      Net effect: -1081 lines of code.
      
      R=golang-dev, r
      CC=golang-dev
      https://golang.org/cl/7565048
      e9d62a6d
    • Albert Strasheim's avatar
      net: deflake TestDialTimeout · cdc64245
      Albert Strasheim authored
      Fixes #3867.
      Fixes #3307.
      
      R=bradfitz, dvyukov
      CC=golang-dev
      https://golang.org/cl/7735044
      cdc64245
    • Dmitriy Vyukov's avatar
      runtime: do not memprofile settype_flush · 76959e2c
      Dmitriy Vyukov authored
      Fixes #4850.
      
      R=golang-dev, bradfitz, rsc
      CC=golang-dev
      https://golang.org/cl/7745044
      76959e2c
    • Dmitriy Vyukov's avatar
      runtime: integrated network poller for linux · 49e03008
      Dmitriy Vyukov authored
      vs tip:
      BenchmarkTCP4OneShot                    172994        40485  -76.60%
      BenchmarkTCP4OneShot-2                   96581        30028  -68.91%
      BenchmarkTCP4OneShot-4                   52615        18454  -64.93%
      BenchmarkTCP4OneShot-8                   26351        12289  -53.36%
      BenchmarkTCP4OneShot-16                  12258        16093  +31.29%
      BenchmarkTCP4OneShot-32                  13200        17045  +29.13%
      
      BenchmarkTCP4OneShotTimeout             124814        42932  -65.60%
      BenchmarkTCP4OneShotTimeout-2            99090        29040  -70.69%
      BenchmarkTCP4OneShotTimeout-4            51860        18455  -64.41%
      BenchmarkTCP4OneShotTimeout-8            26100        12073  -53.74%
      BenchmarkTCP4OneShotTimeout-16           12198        16654  +36.53%
      BenchmarkTCP4OneShotTimeout-32           13438        17143  +27.57%
      
      BenchmarkTCP4Persistent                 115647         7782  -93.27%
      BenchmarkTCP4Persistent-2                58024         4808  -91.71%
      BenchmarkTCP4Persistent-4                24715         3674  -85.13%
      BenchmarkTCP4Persistent-8                16431         2407  -85.35%
      BenchmarkTCP4Persistent-16                2336         1875  -19.73%
      BenchmarkTCP4Persistent-32                1689         1637   -3.08%
      
      BenchmarkTCP4PersistentTimeout           79754         7859  -90.15%
      BenchmarkTCP4PersistentTimeout-2         57708         5952  -89.69%
      BenchmarkTCP4PersistentTimeout-4         26907         3823  -85.79%
      BenchmarkTCP4PersistentTimeout-8         15036         2567  -82.93%
      BenchmarkTCP4PersistentTimeout-16         2507         1903  -24.09%
      BenchmarkTCP4PersistentTimeout-32         1717         1627   -5.24%
      
      vs old scheduler:
      benchmark                           old ns/op    new ns/op    delta
      BenchmarkTCPOneShot                    192244        40485  -78.94%
      BenchmarkTCPOneShot-2                   63835        30028  -52.96%
      BenchmarkTCPOneShot-4                   35443        18454  -47.93%
      BenchmarkTCPOneShot-8                   22140        12289  -44.49%
      BenchmarkTCPOneShot-16                  16930        16093   -4.94%
      BenchmarkTCPOneShot-32                  16719        17045   +1.95%
      
      BenchmarkTCPOneShotTimeout             190495        42932  -77.46%
      BenchmarkTCPOneShotTimeout-2            64828        29040  -55.20%
      BenchmarkTCPOneShotTimeout-4            34591        18455  -46.65%
      BenchmarkTCPOneShotTimeout-8            21989        12073  -45.10%
      BenchmarkTCPOneShotTimeout-16           16848        16654   -1.15%
      BenchmarkTCPOneShotTimeout-32           16796        17143   +2.07%
      
      BenchmarkTCPPersistent                  81670         7782  -90.47%
      BenchmarkTCPPersistent-2                26598         4808  -81.92%
      BenchmarkTCPPersistent-4                15633         3674  -76.50%
      BenchmarkTCPPersistent-8                18093         2407  -86.70%
      BenchmarkTCPPersistent-16               17472         1875  -89.27%
      BenchmarkTCPPersistent-32                7679         1637  -78.68%
      
      BenchmarkTCPPersistentTimeout           83186         7859  -90.55%
      BenchmarkTCPPersistentTimeout-2         26883         5952  -77.86%
      BenchmarkTCPPersistentTimeout-4         15776         3823  -75.77%
      BenchmarkTCPPersistentTimeout-8         18180         2567  -85.88%
      BenchmarkTCPPersistentTimeout-16        17454         1903  -89.10%
      BenchmarkTCPPersistentTimeout-32         7798         1627  -79.14%
      
      R=golang-dev, iant, bradfitz, dave, rsc
      CC=golang-dev
      https://golang.org/cl/7579044
      49e03008
    • Dmitriy Vyukov's avatar
      cmd/dist: support goos,goarch build tags · 4dd1b899
      Dmitriy Vyukov authored
      This is necessary to submit netpoll for linux,386 linux,amd64
      
      R=golang-dev, bradfitz, rsc
      CC=golang-dev
      https://golang.org/cl/7470050
      4dd1b899
    • Russ Cox's avatar
      runtime: make panic possible before malloc is ready · f84d5dd4
      Russ Cox authored
      Otherwise startup problems can be difficult to debug.
      
      R=golang-dev, r
      CC=golang-dev
      https://golang.org/cl/7522046
      f84d5dd4
    • Dmitriy Vyukov's avatar
      runtime: revert UseSpanType back to 1 · 5b79aa82
      Dmitriy Vyukov authored
      R=golang-dev
      CC=golang-dev
      https://golang.org/cl/7812043
      5b79aa82
    • Dmitriy Vyukov's avatar
      runtime: fix build · f51ec007
      Dmitriy Vyukov authored
      R=golang-dev
      CC=golang-dev
      https://golang.org/cl/7529049
      f51ec007
    • Dmitriy Vyukov's avatar
      runtime: integrated network poller for darwin · 0bee99ab
      Dmitriy Vyukov authored
      vs tip:
      benchmark                           old ns/op    new ns/op    delta
      BenchmarkTCP4Persistent                 67786        33175  -51.06%
      BenchmarkTCP4Persistent-2               49085        31227  -36.38%
      BenchmarkTCP4PersistentTimeout          69265        32565  -52.98%
      BenchmarkTCP4PersistentTimeout-2        49217        32588  -33.79%
      
      vs old scheduler:
      benchmark                           old ns/op    new ns/op    delta
      BenchmarkTCP4Persistent                 63517        33175  -47.77%
      BenchmarkTCP4Persistent-2               54760        31227  -42.97%
      BenchmarkTCP4PersistentTimeout          63234        32565  -48.50%
      BenchmarkTCP4PersistentTimeout-2        56956        32588  -42.78%
      
      R=golang-dev, bradfitz, devon.odell, mikioh.mikioh, iant, rsc
      CC=golang-dev, pabuhr
      https://golang.org/cl/7569043
      0bee99ab
    • Dmitriy Vyukov's avatar
      net: prepare connect() for new network poller · a11d7d4e
      Dmitriy Vyukov authored
      The problem is that new network poller can have spurious
      rediness notifications. This implementation ensures that
      the socket is actually connected.
      
      R=golang-dev, rsc, akumar
      CC=golang-dev
      https://golang.org/cl/7785043
      a11d7d4e
    • Russ Cox's avatar
      cmd/go: allow ~ in middle of path, just not at beginning · ffbcd89f
      Russ Cox authored
      An earlier CL disallowed ~ anywhere in GOPATH, to avoid
      problems with GOPATH='~/home' instead of GOPATH=~/home.
      But ~ is only special in the shell at the beginning of each of
      the paths in the list, and some paths do have ~ in the middle.
      So relax the requirement slightly.
      
      Fixes #4140.
      
      R=golang-dev, dsymonds
      CC=golang-dev
      https://golang.org/cl/7799045
      ffbcd89f
    • Olivier Saingre's avatar
      encoding/xml: rewrite invalid code points to U+FFFD in Marshal, Escape · f74eb6db
      Olivier Saingre authored
      Fixes #4235.
      
      R=rsc, dave, r, dr.volker.dobler
      CC=golang-dev
      https://golang.org/cl/7438051
      f74eb6db
  2. 13 Mar, 2013 14 commits
  3. 12 Mar, 2013 14 commits