diff options
Diffstat (limited to 'src/cmd/compile/internal/gc/esc.go')
-rw-r--r-- | src/cmd/compile/internal/gc/esc.go | 9 |
1 files changed, 8 insertions, 1 deletions
diff --git a/src/cmd/compile/internal/gc/esc.go b/src/cmd/compile/internal/gc/esc.go index 4f37ff0e34..f4a70c4ac6 100644 --- a/src/cmd/compile/internal/gc/esc.go +++ b/src/cmd/compile/internal/gc/esc.go @@ -477,6 +477,10 @@ func escAnalyze(all []*Node, recursive bool) { for _, n := range all { if n.Op == ODCLFUNC { n.Esc = EscFuncPlanned + if Debug['m'] > 3 { + Dump("escAnalyze", n) + } + } } @@ -1675,7 +1679,10 @@ func (e *EscState) escflows(dst, src *Node, why *EscStep) { } // Don't bother building a graph for scalars. - if src.Type != nil && !haspointers(src.Type) { + if src.Type != nil && !haspointers(src.Type) && !isReflectHeaderDataField(src) { + if Debug['m'] > 3 { + fmt.Printf("%v::NOT flows:: %S <- %S\n", linestr(lineno), dst, src) + } return } |