Dmitriy Vyukov
0ead18c59e
runtime: mark race instrumentation callbacks as nosplitstack
...
It speedups the race detector somewhat, but also prevents
getcallerpc() from obtaining lessstack().
R=golang-dev, iant
CC=golang-dev
https://golang.org/cl/6812091
2012-11-06 20:54:22 +04:00
Rémy Oudompheng
ce287933d6
cmd/gc, runtime: pass PC directly to racefuncenter.
...
go test -race -run none -bench . encoding/json
benchmark old ns/op new ns/op delta
BenchmarkCodeEncoder 3207689000 1716149000 -46.50%
BenchmarkCodeMarshal 3206761000 1715677000 -46.50%
BenchmarkCodeDecoder 8647304000 4482709000 -48.16%
BenchmarkCodeUnmarshal 8032217000 3451248000 -57.03%
BenchmarkCodeUnmarshalReuse 8016722000 3480502000 -56.58%
BenchmarkSkipValue 10340453000 4560313000 -55.90%
benchmark old MB/s new MB/s speedup
BenchmarkCodeEncoder 0.60 1.13 1.88x
BenchmarkCodeMarshal 0.61 1.13 1.85x
BenchmarkCodeDecoder 0.22 0.43 1.95x
BenchmarkCodeUnmarshal 0.24 0.56 2.33x
BenchmarkCodeUnmarshalReuse 0.24 0.56 2.33x
BenchmarkSkipValue 0.19 0.44 2.32x
Fixes #4248 .
R=dvyukov, golang-dev, rsc
CC=golang-dev
https://golang.org/cl/6815066
2012-11-01 19:43:29 +01:00
Dmitriy Vyukov
27e93fbd00
runtime: fix race detector handling of stackalloc()
...
R=golang-dev, rsc
CC=golang-dev
https://golang.org/cl/6632051
2012-10-10 18:06:29 +04:00
Dmitriy Vyukov
2f6cbc74f1
race: runtime changes
...
This is a part of a bigger change that adds data race detection feature:
https://golang.org/cl/6456044
R=rsc
CC=gobot, golang-dev
https://golang.org/cl/6535050
2012-10-07 22:05:32 +04:00