]> Cypherpunks repositories - gostls13.git/commit
cmd/gc: allocate select descriptor on stack
authorDmitriy Vyukov <dvyukov@google.com>
Sun, 20 Jul 2014 11:07:10 +0000 (15:07 +0400)
committerDmitriy Vyukov <dvyukov@google.com>
Sun, 20 Jul 2014 11:07:10 +0000 (15:07 +0400)
commit40d7d5a656691b31668f63a72b443ad9cf893a4f
treebdc5e7ea39be18a4494a3374e3446574027c15d1
parent1a116c76ae9918720279c3700df8120d9f30f809
cmd/gc: allocate select descriptor on stack

benchmark                      old ns/op     new ns/op     delta
BenchmarkSelectUncontended     220           165           -25.00%
BenchmarkSelectContended       209           161           -22.97%
BenchmarkSelectProdCons        1042          904           -13.24%

But more importantly this change will allow
to get rid of free function in runtime.

Fixes #6494.

LGTM=rsc, khr
R=golang-codereviews, rsc, dominik.honnef, khr
CC=golang-codereviews, remyoudompheng
https://golang.org/cl/107670043
src/cmd/gc/builtin.c
src/cmd/gc/runtime.go
src/cmd/gc/select.c
src/pkg/runtime/arch_386.h
src/pkg/runtime/arch_amd64.h
src/pkg/runtime/arch_amd64p32.h
src/pkg/runtime/arch_arm.h
src/pkg/runtime/chan.goc
src/pkg/runtime/chan.h
test/live.go