]> Cypherpunks repositories - gostls13.git/commit
cmd/compile: convert merge to use appl. bal. trees for sharing
authorDavid Chase <drchase@google.com>
Tue, 29 Mar 2022 17:16:35 +0000 (13:16 -0400)
committerDavid Chase <drchase@google.com>
Wed, 11 May 2022 16:34:41 +0000 (16:34 +0000)
commit857cda4625b31d6725fb96148da2a5fca58df2cb
tree60707d44606313d27e99eeae5ada220f32ad9c76
parentd339d085c9d0cff099668d3a85ebae4e25c6afa2
cmd/compile: convert merge to use appl. bal. trees for sharing

This CL replaces a not-very-shared linear-sized set
representation with a much more shared representation.
For the annoying test program in question, it reduces
the heap size by 95%, and the time slightly.

However, for some programs build time is longer.

This also includes at least one bug fix for problems
uncovered while ensuring compatibility with what it
replaces.

Fixes #51543.

Change-Id: Ie7a4c6ea460775faeed2b0378ab21ddffd15badc
Reviewed-on: https://go-review.googlesource.com/c/go/+/397318
Run-TryBot: David Chase <drchase@google.com>
TryBot-Result: Gopher Robot <gobot@golang.org>
Reviewed-by: Than McIntosh <thanm@google.com>
src/cmd/compile/internal/abt/avlint32.go [new file with mode: 0644]
src/cmd/compile/internal/abt/avlint32_test.go [new file with mode: 0644]
src/cmd/compile/internal/ssa/debug.go
src/cmd/compile/internal/ssagen/ssa.go