]> Cypherpunks repositories - gostls13.git/commit
cmd/gc: run escape analysis in call graph dependency order
authorRuss Cox <rsc@golang.org>
Thu, 7 Jun 2012 07:15:09 +0000 (03:15 -0400)
committerRuss Cox <rsc@golang.org>
Thu, 7 Jun 2012 07:15:09 +0000 (03:15 -0400)
commit9fe424737b59dd7c769ae5acfdaca8f511f40d25
tree8105b509784a3d1fc1f5b7c185cc504277435a3b
parent6363fc5aa6b3aa1ee8826582c6f7a356aa8e4201
cmd/gc: run escape analysis in call graph dependency order

If there are mutually recursive functions, there is a cycle in
the dependency graph, so the order is actually dependency order
among the strongly connected components: mutually recursive
functions get put into the same batch and analyzed together.
(Until now the entire package was put in one batch.)

The non-recursive case (single function, maybe with some
closures inside) will be able to be more precise about inputs
that escape only back to outputs, but that is not implemented yet.

R=ken2
CC=golang-dev, lvd
https://golang.org/cl/6304050
src/cmd/gc/esc.c