]> Cypherpunks repositories - gostls13.git/commit
cmd/gc: don't generate zillions of linehists for wrapper functions
authorRob Pike <r@golang.org>
Mon, 2 Jun 2014 23:01:53 +0000 (16:01 -0700)
committerRob Pike <r@golang.org>
Mon, 2 Jun 2014 23:01:53 +0000 (16:01 -0700)
commit8195ce2b4f430023522f28e6666850bbfb85c31b
tree13bf200614b5e72e2bdeb6284068911a451b1e24
parent4e65f18cae1b4ee6074e3e544c322af030d04288
cmd/gc: don't generate zillions of linehists for wrapper functions
This is a workaround - the code should be better than this - but the
fix avoids generating large numbers of linehist entries for the wrapper
functions that enable interface conversions. There can be many of
them, they all happen at the end of compilation, and they can all
share a linehist entry.
Avoids bad n^2 behavior in liblink.
Test case in issue 8135 goes from 64 seconds to 2.5 seconds (still bad
but not intolerable).

Fixes #8135.

LGTM=rsc
R=rsc
CC=golang-codereviews
https://golang.org/cl/104840043
src/cmd/gc/subr.c