1. 17 Sep, 2014 4 commits
    • Rob Pike's avatar
      doc/go1.4.txt: add sync/atomic.Value · 2107b30e
      Rob Pike authored
      CC=golang-codereviews
      https://golang.org/cl/145800043
      2107b30e
    • Dmitriy Vyukov's avatar
      sync/atomic: add Value · 98a1e207
      Dmitriy Vyukov authored
      A Value provides an atomic load and store of a consistently typed value.
      It's intended to be used with copy-on-write idiom (see the example).
      
      Performance:
      BenchmarkValueRead	50000000	        21.7 ns/op
      BenchmarkValueRead-2	200000000	         8.63 ns/op
      BenchmarkValueRead-4	300000000	         4.33 ns/op
      
      TBR=rsc
      R=golang-codereviews
      CC=golang-codereviews
      https://golang.org/cl/136710045
      98a1e207
    • Russ Cox's avatar
      liblink, sync/atomic: fix arm build · cbf97d91
      Russ Cox authored
      The liblink code to insert the FUNCDATA for a stack map
      from the Go prototype was not correct for ARM
      (different data structure layout).
      
      Also, sync/atomic was missing some Go prototypes
      for ARM-specific functions.
      
      TBR=r
      CC=golang-codereviews
      https://golang.org/cl/143160045
      cbf97d91
    • Keith Randall's avatar
      runtime: always run semacquire on the G stack · da8cf543
      Keith Randall authored
      semacquire might need to park the currently running G.  It can
      only park if called from the G stack (because it has no way of
      saving the M stack state).  So all calls to semacquire must come
      from the G stack.
      
      The three violators are GOMAXPROCS, ReadMemStats, and WriteHeapDump.
      This change moves the semacquire call earlier, out of their C code
      and into their Go code.
      
      This seldom caused bugs because semacquire seldom actually had
      to park the caller.  But it did happen intermittently.
      
      Fixes #8749
      
      LGTM=dvyukov
      R=golang-codereviews, dvyukov, bradfitz
      CC=golang-codereviews
      https://golang.org/cl/144940043
      da8cf543
  2. 16 Sep, 2014 22 commits
  3. 15 Sep, 2014 12 commits
  4. 14 Sep, 2014 2 commits