• Russ Cox's avatar
    cmd/gc: run escape analysis in call graph dependency order · 9fe42473
    Russ Cox authored
    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
    9fe42473
esc.c 23.8 KB