From 33fd319cbcf9f4809c6bc9a9d21a05b516824f0a Mon Sep 17 00:00:00 2001 From: Josh Bleecher Snyder Date: Wed, 19 Apr 2017 14:20:52 -0700 Subject: [PATCH] cmd/compile: call fieldtrack after flushing Progs Fixes #20014 Change-Id: Ie58d3e989f2d7388b3d8849fbcfbceed3c6aa084 Reviewed-on: https://go-review.googlesource.com/41132 Run-TryBot: Josh Bleecher Snyder Reviewed-by: Matthew Dempsky TryBot-Result: Gobot Gobot --- src/cmd/compile/internal/gc/pgen.go | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/cmd/compile/internal/gc/pgen.go b/src/cmd/compile/internal/gc/pgen.go index c657d75461..090cbe427a 100644 --- a/src/cmd/compile/internal/gc/pgen.go +++ b/src/cmd/compile/internal/gc/pgen.go @@ -211,12 +211,13 @@ func compile(fn *Node) { ssafn := buildssa(fn) pp := newProgs(fn) genssa(ssafn, pp) - fieldtrack(pp.Text.From.Sym, fn.Func.FieldTrack) if pp.Text.To.Offset < 1<<31 { pp.Flush() } else { largeStackFrames = append(largeStackFrames, fn.Pos) } + // fieldtrack must be called after pp.Flush. See issue 20014. + fieldtrack(pp.Text.From.Sym, fn.Func.FieldTrack) pp.Free() } -- 2.48.1