From: Matthew Dempsky Date: Mon, 22 Apr 2019 23:08:43 +0000 (-0700) Subject: cmd/compile: respect -newescape in genwrapper X-Git-Tag: go1.13beta1~587 X-Git-Url: http://www.git.cypherpunks.su/?a=commitdiff_plain;h=a152dd0438c7064edbe64d7d4b18e6a9e5c87760;p=gostls13.git 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 TryBot-Result: Gobot Gobot Reviewed-by: Cherry Zhang --- diff --git a/src/cmd/compile/internal/gc/esc.go b/src/cmd/compile/internal/gc/esc.go index ceefde74a1..ded9439a14 100644 --- a/src/cmd/compile/internal/gc/esc.go +++ b/src/cmd/compile/internal/gc/esc.go @@ -46,11 +46,14 @@ import ( 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 04dd2f7c2d..fc60eeb043 100644 --- a/src/cmd/compile/internal/gc/subr.go +++ b/src/cmd/compile/internal/gc/subr.go @@ -1574,7 +1574,7 @@ func genwrapper(rcvr *types.Type, method *types.Field, newnam *types.Sym) { 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)