1. 26 Jun, 2014 5 commits
    • Dmitriy Vyukov's avatar
      runtime: say when a goroutine is locked to OS thread · 07f6f313
      Dmitriy Vyukov authored
      Say when a goroutine is locked to OS thread in crash reports
      and goroutine profiles.
      It can be useful to understand what goroutines consume OS threads
      (syscall and locked), e.g. if you forget to call UnlockOSThread
      or leak locked goroutines.
      
      R=golang-codereviews
      CC=golang-codereviews, rsc
      https://golang.org/cl/94170043
      07f6f313
    • Evan Kroske's avatar
      cmd/gc: moved usefield to correct section of go.h, from "reflect.c" to "walk.c". · 9e04ff79
      Evan Kroske authored
      LGTM=iant
      R=golang-codereviews, gobot, iant, dave
      CC=golang-codereviews
      https://golang.org/cl/108990044
      9e04ff79
    • Ian Lance Taylor's avatar
      C: add Evan Kroske (Google CLA) · 131526f6
      Ian Lance Taylor authored
      LGTM=bradfitz
      R=bradfitz
      CC=golang-codereviews
      https://golang.org/cl/110160045
      131526f6
    • Robert Griesemer's avatar
      go/parser: permit parentheses in receiver types · ef639b09
      Robert Griesemer authored
      Pending acceptance of CL 101500044
      and adjustment of test/fixedbugs/bug299.go.
      
      LGTM=adonovan
      R=golang-codereviews, adonovan
      CC=golang-codereviews
      https://golang.org/cl/110160043
      ef639b09
    • Russ Cox's avatar
      all: remove 'extern register M *m' from runtime · 89f185fe
      Russ Cox authored
      The runtime has historically held two dedicated values g (current goroutine)
      and m (current thread) in 'extern register' slots (TLS on x86, real registers
      backed by TLS on ARM).
      
      This CL removes the extern register m; code now uses g->m.
      
      On ARM, this frees up the register that formerly held m (R9).
      This is important for NaCl, because NaCl ARM code cannot use R9 at all.
      
      The Go 1 macrobenchmarks (those with per-op times >= 10 µs) are unaffected:
      
      BenchmarkBinaryTree17              5491374955     5471024381     -0.37%
      BenchmarkFannkuch11                4357101311     4275174828     -1.88%
      BenchmarkGobDecode                 11029957       11364184       +3.03%
      BenchmarkGobEncode                 6852205        6784822        -0.98%
      BenchmarkGzip                      650795967      650152275      -0.10%
      BenchmarkGunzip                    140962363      141041670      +0.06%
      BenchmarkHTTPClientServer          71581          73081          +2.10%
      BenchmarkJSONEncode                31928079       31913356       -0.05%
      BenchmarkJSONDecode                117470065      113689916      -3.22%
      BenchmarkMandelbrot200             6008923        5998712        -0.17%
      BenchmarkGoParse                   6310917        6327487        +0.26%
      BenchmarkRegexpMatchMedium_1K      114568         114763         +0.17%
      BenchmarkRegexpMatchHard_1K        168977         169244         +0.16%
      BenchmarkRevcomp                   935294971      914060918      -2.27%
      BenchmarkTemplate                  145917123      148186096      +1.55%
      
      Minux previous reported larger variations, but these were caused by
      run-to-run noise, not repeatable slowdowns.
      
      Actual code changes by Minux.
      I only did the docs and the benchmarking.
      
      LGTM=dvyukov, iant, minux
      R=minux, josharian, iant, dave, bradfitz, dvyukov
      CC=golang-codereviews
      https://golang.org/cl/109050043
      89f185fe
  2. 25 Jun, 2014 4 commits
  3. 24 Jun, 2014 13 commits
  4. 23 Jun, 2014 7 commits
  5. 22 Jun, 2014 3 commits
    • Rui Ueyama's avatar
      undo CL 101330053 / c19c9a063fe8 · a200e0b8
      Rui Ueyama authored
      sync.Pool is not supposed to be used everywhere, but is
      a last resort.
      
      ««« original CL description
      strings: use sync.Pool to cache buffer
      
      benchmark                         old ns/op    new ns/op    delta
      BenchmarkByteReplacerWriteString       3596         3094  -13.96%
      
      benchmark                        old allocs   new allocs    delta
      BenchmarkByteReplacerWriteString          1            0  -100.00%
      
      LGTM=dvyukov
      R=bradfitz, dave, dvyukov
      CC=golang-codereviews
      https://golang.org/cl/101330053
      »»»
      
      LGTM=dave
      R=r, dave
      CC=golang-codereviews
      https://golang.org/cl/102610043
      a200e0b8
    • Dave Cheney's avatar
      test: add test case for issue 8074. · 5b342f78
      Dave Cheney authored
      Fixes #8074.
      
      The issue was not reproduceable by revision
      
      go version devel +e0ad7e329637 Thu Jun 19 22:19:56 2014 -0700 linux/arm
      
      But include the original test case in case the issue reopens itself.
      
      LGTM=dvyukov
      R=golang-codereviews, dvyukov
      CC=golang-codereviews
      https://golang.org/cl/107290043
      5b342f78
    • Rui Ueyama's avatar
      strings: use sync.Pool to cache buffer · 3142861f
      Rui Ueyama authored
      benchmark                         old ns/op    new ns/op    delta
      BenchmarkByteReplacerWriteString       3596         3094  -13.96%
      
      benchmark                        old allocs   new allocs    delta
      BenchmarkByteReplacerWriteString          1            0  -100.00%
      
      LGTM=dvyukov
      R=bradfitz, dave, dvyukov
      CC=golang-codereviews
      https://golang.org/cl/101330053
      3142861f
  6. 21 Jun, 2014 4 commits
  7. 20 Jun, 2014 4 commits