go/src
Dmitriy Vyukov 86da989ee5 runtime: introduce helper persistentalloc() function
It is a caching wrapper around SysAlloc() that can allocate small chunks.
Use it for symtab allocations. Reduces number of symtab walks from 4 to 3
(reduces buildfuncs time from 10ms to 7.5ms on a large binary,
reduces initial heap size by 680K on the same binary).
Also can be used for type info allocation, itab allocation.
There are also several places in GC where we do the same thing,
they can be changed to use persistentalloc().
Also can be used in FixAlloc, because each instance of FixAlloc allocates
in 128K regions, which is too eager.
Reincarnation of committed and rolled back https://golang.org/cl/9805043
The latent bugs that it revealed are fixed:
https://golang.org/cl/9837049
https://golang.org/cl/9778048

R=golang-dev, khr
CC=golang-dev
https://golang.org/cl/9778049
2013-05-31 10:42:30 +04:00
..
cmd cmd/gc: use escape analysis result for make([]T, constant 2013-05-30 08:32:00 +02:00
lib9 lib9: add newline to exec error message 2013-04-09 10:03:14 -07:00
libbio
libmach libmach: fix build on Plan 9 2013-05-01 15:48:13 -07:00
pkg runtime: introduce helper persistentalloc() function 2013-05-31 10:42:30 +04:00
Make.dist
all.bash
all.bat all.bat,make.bat,run.bat: make these work even when directory has space in it 2013-03-25 12:13:34 +11:00
all.rc build: do not set GOBIN on Plan 9 2013-02-26 09:25:46 -08:00
clean.bash
clean.bat
clean.rc
make.bash cmd/dist, make.bash: pass -mmacosx-version-min=10.6 to gcc on Darwin 2013-04-16 13:30:52 -07:00
make.bat all.bat,make.bat,run.bat: make these work even when directory has space in it 2013-03-25 12:13:34 +11:00
make.rc build: fix make.rc on Plan 9 2013-05-24 13:55:19 -07:00
race.bash src: add race.bash 2013-01-28 21:05:25 +11:00
race.bat src: add race.bat 2013-02-03 00:49:37 +08:00
run.bash cmd/go: fix LDFLAGS handling, enable misc/cgo/testso on Darwin 2013-05-22 00:32:03 +08:00
run.bat api: add go1.1.txt; update cmd/api to use it 2013-05-06 17:25:09 -07:00
run.rc build: do not set GOBIN on Plan 9 2013-02-26 09:25:46 -08:00
sudo.bash cmd/cov: delete 2013-05-24 11:06:06 -07:00