cmd/compile: remove funcdepth variables

There were only two large classes of use for these variables:

1) Testing "funcdepth != 0" or "funcdepth > 0", which is equivalent to
checking "Curfn != nil".

2) In oldname, detecting whether a closure variable has been created
for the current function, which can be handled by instead testing
"n.Name.Curfn != Curfn".

Lastly, merge funcstart into funchdr, since it's only called once, and
it better matches up with funcbody now.

Passes toolstash-check.

Change-Id: I8fe159a9d37ef7debc4cd310354cea22a8b23394
Reviewed-on: https://go-review.googlesource.com/99076
Run-TryBot: Matthew Dempsky <mdempsky@google.com>
TryBot-Result: Gobot Gobot <gobot@golang.org>
Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
This commit is contained in:
Matthew Dempsky 2018-03-06 18:30:58 -08:00
parent aa00ca12fe
commit d7eb4901f1
8 changed files with 14 additions and 43 deletions

View file

@ -204,13 +204,11 @@ func funccompile(fn *Node) {
}
dclcontext = PAUTO
funcdepth = fn.Func.Depth + 1
Curfn = fn
compile(fn)
Curfn = nil
funcdepth = 0
dclcontext = PEXTERN
}