mirror of https://github.com/golang/go.git
The struct stores its 64-bit state field in a 12-byte array to ensure that it can be 64-bit-aligned. This leaves 4 spare bytes, which we can reuse to store the sema field. (32-bit alignment is still guaranteed because the array type was changed to [3]uint32.) Fixes #19149. Change-Id: I9bc20e69e45e0e07fbf496080f3650e8be0d6e8d Reviewed-on: https://go-review.googlesource.com/100515 Reviewed-by: Dmitry Vyukov <dvyukov@google.com> Run-TryBot: Brad Fitzpatrick <bradfitz@golang.org> TryBot-Result: Gobot Gobot <gobot@golang.org> |
||
|---|---|---|
| .. | ||
| atomic | ||
| cond.go | ||
| cond_test.go | ||
| example_pool_test.go | ||
| example_test.go | ||
| export_test.go | ||
| map.go | ||
| map_bench_test.go | ||
| map_reference_test.go | ||
| map_test.go | ||
| mutex.go | ||
| mutex_test.go | ||
| once.go | ||
| once_test.go | ||
| pool.go | ||
| pool_test.go | ||
| runtime.go | ||
| runtime_sema_test.go | ||
| rwmutex.go | ||
| rwmutex_test.go | ||
| waitgroup.go | ||
| waitgroup_test.go | ||