cmd/compile: respect -newescape in genwrapper

Noticed while preparing a CL for Go 1.14 to remove esc.go.

Change-Id: Ic12be33f5b16c8424d85f373fa450247be086078
Reviewed-on: https://go-review.googlesource.com/c/go/+/173298
Run-TryBot: Matthew Dempsky <mdempsky@google.com>
TryBot-Result: Gobot Gobot <gobot@golang.org>
Reviewed-by: Cherry Zhang <cherryyz@google.com>
diff --git a/src/cmd/compile/internal/gc/esc.go b/src/cmd/compile/internal/gc/esc.go
index ceefde7..ded9439 100644
--- a/src/cmd/compile/internal/gc/esc.go
+++ b/src/cmd/compile/internal/gc/esc.go
@@ -46,11 +46,14 @@
 var newescape bool
 
 func escapes(all []*Node) {
-	esc := escAnalyze
+	visitBottomUp(all, escapeImpl())
+}
+
+func escapeImpl() func([]*Node, bool) {
 	if newescape {
-		esc = escapeFuncs
+		return escapeFuncs
 	}
-	visitBottomUp(all, esc)
+	return escAnalyze
 }
 
 const (
diff --git a/src/cmd/compile/internal/gc/subr.go b/src/cmd/compile/internal/gc/subr.go
index 04dd2f7..fc60eeb0 100644
--- a/src/cmd/compile/internal/gc/subr.go
+++ b/src/cmd/compile/internal/gc/subr.go
@@ -1574,7 +1574,7 @@
 	if rcvr.IsPtr() && rcvr.Elem() == method.Type.Recv().Type && rcvr.Elem().Sym != nil {
 		inlcalls(fn)
 	}
-	escAnalyze([]*Node{fn}, false)
+	escapeImpl()([]*Node{fn}, false)
 
 	Curfn = nil
 	funccompile(fn)