]> Cypherpunks repositories - gostls13.git/commitdiff
cmd/compile: add json logging for escape analysis
authorDavid Chase <drchase@google.com>
Tue, 29 Oct 2019 18:44:54 +0000 (14:44 -0400)
committerDavid Chase <drchase@google.com>
Sun, 10 Nov 2019 17:13:25 +0000 (17:13 +0000)
Change-Id: I7ca075e50d144aa449a20ebfbaf7337406e1e510
Reviewed-on: https://go-review.googlesource.com/c/go/+/204161
Run-TryBot: David Chase <drchase@google.com>
TryBot-Result: Gobot Gobot <gobot@golang.org>
Reviewed-by: Cherry Zhang <cherryyz@google.com>
src/cmd/compile/internal/gc/escape.go

index bd4df1d84f1063476cfd667090e60a34430826a2..0f71f9990bc3ad77562ff06bcc065ae62ea65a14 100644 (file)
@@ -5,6 +5,7 @@
 package gc
 
 import (
+       "cmd/compile/internal/logopt"
        "cmd/compile/internal/types"
        "fmt"
        "math"
@@ -1379,8 +1380,13 @@ func (e *Escape) finish(fns []*Node) {
                // Update n.Esc based on escape analysis results.
 
                if loc.escapes {
-                       if Debug['m'] != 0 && n.Op != ONAME {
-                               Warnl(n.Pos, "%S escapes to heap", n)
+                       if n.Op != ONAME {
+                               if Debug['m'] != 0 {
+                                       Warnl(n.Pos, "%S escapes to heap", n)
+                               }
+                               if logopt.Enabled() {
+                                       logopt.LogOpt(n.Pos, "escape", "escape", e.curfn.funcname())
+                               }
                        }
                        n.Esc = EscHeap
                        addrescapes(n)