]> Cypherpunks.ru repositories - gostls13.git/commit
[dev.link] cmd/{compile,link}: remove pcdata tables from pclntab_old
authorJeremy Faller <jeremy@golang.org>
Wed, 12 Aug 2020 23:26:53 +0000 (19:26 -0400)
committerJeremy Faller <jeremy@golang.org>
Tue, 18 Aug 2020 14:03:43 +0000 (14:03 +0000)
commit26407b22129e2e54db269c1a92826521addd8d56
tree3a99e952d8efcece84ebee954c8a4a729121320b
parent5387cdcb24a07f5d0d49d5105ced2b69e6aafde9
[dev.link] cmd/{compile,link}: remove pcdata tables from pclntab_old

Move the pctables out of pclntab_old. Creates a new generator symbol,
runtime.pctab, which holds all the deduplicated pctables. Also, tightens
up some of the types in runtime.

Darwin, cmd/compile statistics:

alloc/op
Pclntab_GC                   26.4MB ± 0%    13.8MB ± 0%
allocs/op
Pclntab_GC                    89.9k ± 0%     86.4k ± 0%
liveB
Pclntab_GC                    25.5M ± 0%     24.2M ± 0%

No significant change in binary size.

Change-Id: I1560fd4421f8a210f8d4b508fbc54e1780e338f9
Reviewed-on: https://go-review.googlesource.com/c/go/+/248332
Run-TryBot: Jeremy Faller <jeremy@golang.org>
TryBot-Result: Gobot Gobot <gobot@golang.org>
Reviewed-by: Cherry Zhang <cherryyz@google.com>
src/cmd/link/internal/ld/data.go
src/cmd/link/internal/ld/pcln.go
src/cmd/link/internal/ld/symtab.go
src/cmd/link/internal/loader/symbolbuilder.go
src/cmd/link/internal/sym/symbol.go
src/debug/gosym/pclntab.go
src/runtime/runtime2.go
src/runtime/symtab.go