diff options
| author | David Chase <drchase@google.com> | 2018-12-17 17:23:42 -0500 |
|---|---|---|
| committer | David Chase <drchase@google.com> | 2019-05-14 18:48:16 +0000 |
| commit | 6081a9f7e631895b4c29d60269b6f159c338d919 (patch) | |
| tree | 1a57f302093876c69d129b1677779bfa02f786c6 /src/errors/errors.go | |
| parent | a9e107c85cf69d735ac81c29f4a354643e40b2b5 (diff) | |
| download | go-6081a9f7e631895b4c29d60269b6f159c338d919.tar.xz | |
cmd/compile: index line number tables by source file to improve sparsity
This reduces allocations and also resolves some
lurking inliner/inlinee line-number match problems.
However, it does add about 1.5% to compile time.
This fixes compiler OOMs seen compiling some large protobuf-
derived inputs. For compiling the compiler itself,
compilebench -pkg cmd/compile/internal/ssa -memprofile withcl.prof
the numberlines-related memory consumption is reduced from 129MB
to 29MB (about a 5% overall reduction in allocation).
Additionally modified after going over changes with Austin
to remove unused code (nobody called size()) and correct
the cache-clearing code.
I've attempted to speed this up by not using maps, and have
not succeeded. I'd rather get correct code in now, speed it
up later if I can.
Updates #27739.
Fixes #29279.
Change-Id: I098005de4e45196a5f5b10c0886a49f88e9f8fd5
Reviewed-on: https://go-review.googlesource.com/c/go/+/154617
Run-TryBot: David Chase <drchase@google.com>
TryBot-Result: Gobot Gobot <gobot@golang.org>
Reviewed-by: Keith Randall <khr@golang.org>
Diffstat (limited to 'src/errors/errors.go')
0 files changed, 0 insertions, 0 deletions
