]> Cypherpunks repositories - gostls13.git/commit
[dev.ssa] cmd/compile: Reuse stack slots for spill locations
authorKeith Randall <khr@golang.org>
Sun, 18 Oct 2015 04:14:56 +0000 (21:14 -0700)
committerKeith Randall <khr@golang.org>
Sun, 18 Oct 2015 16:36:13 +0000 (16:36 +0000)
commit366dcc4529d09c31f7b0df65003792022bc5ec09
tree22f31cf36cf9a4586e42fb22c60e2106537e2a0d
parent57670ad8b29fb62dc87e970fde95e3263f6948ff
[dev.ssa] cmd/compile: Reuse stack slots for spill locations

For each type, maintain a list of stack slots used to spill
SSA values to the stack.  Reuse those stack slots for noninterfering
spills.

Lowers frame sizes.  As an example, runtime.mSpan_Sweep goes from
584 bytes to 392 bytes.  heapBitsSetType goes from 576 bytes to 152 bytes.

Change-Id: I0e9afe80c2fd84aff9eb368318685de293c363d0
Reviewed-on: https://go-review.googlesource.com/16022
Reviewed-by: David Chase <drchase@google.com>
src/cmd/compile/internal/ssa/stackalloc.go